Update project roadmap and documentation

- Reflect current implementation status with complete GUI and font system
- Update roadmap with prioritized development plan focusing on plot control widgets
- Reorganize future goals into urgent/short-term/mid-long term categories
- Add comprehensive feature overview and usage instructions
- Clarify next priority: plot control system clustering

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mikkeli Matlock
2025-08-22 00:26:27 +09:00
parent 265e8254cd
commit 9e65e721d4
2 changed files with 159 additions and 82 deletions
+72 -23
View File
@@ -1,29 +1,78 @@
# uj-mastering-master
Utility providing metrics to evaluate masterings.
Now boosted by Claude Code.
Custom mastering toolkit providing comprehensive metrics to evaluate audio masterings through visual analysis.
Developed with Claude Code assistance.
## dependencies
librosa, numpy, matplotlib, mutagen
## Features
## usage
### ✅ Current Implementation
- **Complete GUI Application**: Modular PyQt5 interface with drag-and-drop and file dialog support
- **Real-time Analysis**: Background threading with embedded matplotlib visualization
- **Font Management**: CJK-compatible font system with custom font support from `fonts/` directory
- **Audio Support**: MP3, WAV, and FLAC file analysis
- **RMS Power Analysis**: Rolling window analysis with adaptive color mapping
- **Metadata Display**: Automatic extraction and display of audio tags and BPM
### Command Line Analysis
1. Edit `files.txt` to include paths to your audio files (MP3/WAV supported)
- Use `;` or `#` to comment out files
- One file path per line
2. Run: `python master_core.py`
- Generates colorized power magnitude graphs for each file
- Displays BPM and song metadata
- Graphs show RMS power over time with adaptive scaling
### 🚧 In Development
- **Plot Control Widgets**: Dedicated cluster for plot manipulation and style controls
- **LUFS Metrics**: Professional loudness measurement implementation
- **Interactive Plotting**: Real-time axis control and style customization
### GUI Mode (Experimental)
Run: `python main.py`
- Opens drag-and-drop interface
- Currently displays dropped file paths
- Analysis integration coming soon
### 🔮 Planned Features
- **Audio Comparison**: Reference vs. comparee analysis for mastering evaluation
- **Advanced Metrics**: Dynamic range, spectral analysis, and professional standards compliance
- **Standalone Releases**: Self-contained executable distribution
### Output
- Interactive matplotlib graphs showing power levels over time
- Color-coded visualization (autumn colormap)
- Automatic headroom detection and scaling
- Console output with BPM and metadata information
## Dependencies
- **Core**: `librosa`, `numpy`, `matplotlib`, `mutagen`
- **GUI**: `PyQt5`
- **Audio Processing**: Advanced librosa-based analysis pipeline
## Usage
### GUI Application (Recommended)
```bash
python main.py
```
- **Load Files**: Use "Open Audio File..." button or drag-and-drop
- **Font Control**: Adjust interface fonts and regenerate plots automatically
- **Analysis Display**: View real-time RMS power analysis with metadata
- **File Management**: Switch between analyzed files using the file list
### Command Line Analysis (Legacy)
```bash
# 1. Edit files.txt with your audio file paths
# 2. Run batch analysis
python master_core.py
```
## Architecture
### Modular Design
- **Self-contained Widgets**: Easy layout management and customization
- **Background Processing**: Non-blocking analysis with progress feedback
- **Signal-based Communication**: Clean separation between GUI and analysis logic
### Key Components
- `main.py`: Complete GUI application with modular architecture
- `font_control_widget.py`: Unified font management with plot regeneration
- `analysis_results_manager.py`: Threaded analysis with caching
- `audio_visualization_widget.py`: Embedded matplotlib with Qt integration
## Development Roadmap
### 🎯 Next Priority: Plot Control System
Moving from font-focused interface to comprehensive plot manipulation:
- Cluster plot controls (refresh, style, metric selection)
- Interactive axis range selection
- Real-time plot style customization
- Foundation for comparison features
### 🎵 Short-term Goals
- **LUFS Implementation**: Professional loudness standards
- **Plot Interactivity**: GUI-controlled visualization styles
- **Metric Selection**: Choose which analysis to display
### 🎼 Long-term Vision
- **Mastering Comparison**: Side-by-side analysis tools
- **Professional Standards**: EBU R128 compliance checking
- **Standalone Distribution**: Self-contained executable releases