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