b07b363454b55de97a38cdf6c04b0dccb95a4be9
Major refactor from popup-based to persistent PyQt5 interface: - Extract plotting logic from AudioFile class into separate PlottingEngine - Create AudioVisualizationWidget with embedded matplotlib canvas - Add AnalysisResultsManager as bridge between processing and GUI - Replace simple drag-drop widget with professional splitter layout - Preserve legacy batch processing mode with execution guard Features: - Drag-and-drop audio analysis (.mp3/.wav/.flac support) - File list with metadata display (BPM, amplitudes, track info) - Persistent visualization area (no more matplotlib popups) - Multi-file support with click-to-view functionality - Threading-ready architecture for future background processing Technical improvements: - Clean separation of concerns (analysis/visualization/GUI) - Qt signal-slot communication pattern - Modular component design ready for multithreading - Proper import guards prevent legacy code interference 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
uj-mastering-master
Utility providing metrics to evaluate masterings.
Now boosted by Claude Code.
dependencies
librosa, numpy, matplotlib, mutagen
usage
Command Line Analysis
- Edit
files.txtto include paths to your audio files (MP3/WAV supported)- Use
;or#to comment out files - One file path per line
- Use
- 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
GUI Mode (Experimental)
Run: python main.py
- Opens drag-and-drop interface
- Currently displays dropped file paths
- Analysis integration coming soon
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
Languages
Python
100%