diff --git a/CLAUDE.md b/CLAUDE.md index 0bc1e0d..ff8a84a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,9 +2,9 @@ A custom mastering toolkit that provides metrics to evaluate audio masterings through visual analysis. -## Current Implementation +## Current implementation -### Core Features +### Core features - **Audio Analysis**: Uses librosa to analyze audio files (MP3/WAV/FLAC support) - **Power Visualization**: Generates colorized power magnitude graphs over time - **Metadata Extraction**: Reads ID3 tags from MP3 files for better file identification @@ -12,14 +12,14 @@ A custom mastering toolkit that provides metrics to evaluate audio masterings th - **Font Management**: Comprehensive CJK-compatible font system with user-provided font support - **Threading & Logging**: Robust background processing with detailed logging system -### Technical Stack +### Technical stack - **Audio Processing**: librosa, numpy - **Visualization**: matplotlib with custom colormaps and embedded Qt widgets - **GUI Framework**: PyQt5 with modular widget architecture - **Metadata**: mutagen for audio tag reading - **Font Support**: Custom font loading system with CJK fallback -### Key Components +### Key components #### `main.py` - Complete GUI application with modular architecture @@ -47,79 +47,83 @@ A custom mastering toolkit that provides metrics to evaluate audio masterings th - `AudioFile` class with comprehensive metrics extraction - RMS power analysis and BPM detection -### Current Analysis Features -- **RMS Power Analysis**: 10-second rolling window with 2-second hops -- **Adaptive Color Mapping**: Automatically adjusts scale based on detected headroom +### Current analysis features +- **RMS power analysis**: 10-second rolling window with 2-second hops +- **Adaptive colour mapping**: Automatically adjusts scale based on detected headroom - High dynamic range: 0-0.6 scale for loud masters - Conservative mastering: 0-0.3 scale for quiet masters -- **BPM Detection**: Automatic tempo analysis -- **Metadata Display**: Artist and title from audio tags -- **Real-time Visualization**: Embedded matplotlib plots with font-aware rendering +- **BPM detection**: Automatic tempo analysis +- **Metadata display**: Artist and title from audio tags +- **Real-time visualization**: Embedded matplotlib plots with font-aware rendering -### GUI Features -- **File Management**: Drag-and-drop and file dialog for audio selection -- **Font Control**: Unified font selector with size control and plot regeneration -- **Analysis Display**: Real-time visualization with metadata panels -- **Modular Architecture**: Self-contained widgets for easy layout management +### GUI features +- **File management**: Drag-and-drop and file dialog for audio selection +- **Font control**: Unified font selector with size control and plot regeneration +- **Analysis display**: Real-time visualization with metadata panels +- **Modular architecture**: Self-contained widgets for easy layout management -## Future Development Plans +## Future development plans -### Short-term (Urgent) -1. **Plot Control Widget Cluster** +### Short-term (urgent) +1. **Plot control widget cluster** - Move 'Refresh Plot' into dedicated plot/graph widget cluster - Add metric selection widget (choose which analysis to display) - Implement plot style controller (colormap, line vs bar, etc.) - Prepare foundation for mastering comparison features -### Short-term (Not Urgent) -1. **Enhanced Metrics** +### Short-term (not urgent) +1. **Enhanced metrics** - LUFS loudness measurement implementation - Dynamic range measurement (DR meter) - Peak-to-average ratio analysis - Frequency spectrum analysis -2. **Interactive Plot Features** +2. **Interactive plot features** - GUI-controllable plotting styles (colormap, visualization type) - Select axis ranges on the fly with automatic graph updates - Zoom/pan controls for detailed analysis - Export analysis results to CSV/JSON -3. **Advanced GUI Controls** +3. **Advanced GUI controls** - Plot style customization interface - - Real-time axis range selection + - Real-time axis range selection (zooming in/out) - Interactive plot manipulation tools -### Mid-Long term (Not Urgent) -1. **Audio Comparison System** +4. **Better looking UI** + - Graphical loading bar + - Graphical logging text box + +### Mid-to-long-term (very not urgent) +1. **Audio comparison system** - Reference vs. comparee audio file analysis - Side-by-side track comparison interface - A/B testing for mastering versions - Overlay visualization for comparative analysis -2. **Distribution & Deployment** +2. **Distribution & deployment** - Self-contained executable releases - Cross-platform packaging - Installer creation and distribution -### Future Vision -1. **Advanced Analysis Tools** +### Future vision +1. **Advanced analysis tools** - Spectral centroid and bandwidth analysis - Stereo width measurements - Transient detection and analysis - Harmonic distortion detection -2. **Professional Features** +2. **Professional features** - EBU R128 compliance checking - Custom target curves - Professional reporting formats - Multi-format export capabilities -3. **VST Plugin Development** +3. **VST plugin development** - Real-time analysis during mixing/mastering - Integration with DAWs - Live feedback during production -## Development Notes +## Development notes ### Dependencies - librosa: Audio analysis and feature extraction @@ -128,13 +132,13 @@ A custom mastering toolkit that provides metrics to evaluate audio masterings th - mutagen: Audio metadata extraction - PyQt5: GUI framework -### Architecture Considerations +### Architecture considerations - Current code mixes analysis and visualization - consider separation - File path handling needs improvement for cross-platform compatibility - Error handling should be enhanced for production use - Consider moving from PyQt5 to PyQt6 or PySide for better licensing -### Testing Requirements +### Testing requirements - Unit tests for audio analysis functions - GUI component testing - File format compatibility testing @@ -142,18 +146,18 @@ A custom mastering toolkit that provides metrics to evaluate audio masterings th ## Usage -### Current Usage +### Current usage 1. Run `python main.py` to launch the GUI application 2. Use "Open Audio File..." button or drag-and-drop audio files for analysis 3. Adjust font settings using the Font Settings panel 4. View real-time analysis results with embedded matplotlib plots 5. Select different analyzed files from the file list to compare results -### Legacy Usage (Batch Mode) +### Legacy usage (batch Mode) 1. Add audio file paths to `files.txt` 2. Run `python master_core.py` for batch analysis -### Planned Usage Enhancements +### Planned usage enhancements 1. Interactive plot manipulation and style customization 2. LUFS and advanced metric analysis 3. Audio file comparison features