A C# console application for managing, analysing, and auditing a personal music library - generates metadata statistics, validates organisation, and automatically integrates new music.
- Mirror - creates a lightweight XML mirror of the library (see AudioMirror)
- Analyse - generates timestamped statistical reports on music metadata
- Audit - validates the library against file format, metadata completeness, and folder structure rules
- Integrate - scans a staging folder for new MP3s, validates their tags, and moves them into the organised library
- Total track count
- Percentage and count breakdown of: artists, genres, years, decades
For listening statistics, visit LastFM.
AudioManager/
├── Code/
│ ├── Program.cs # Entry point and mode selection
│ ├── Constants.cs # Configured paths and settings
│ ├── TeeWriter.cs # Dual output - screen + log file simultaneously
│ ├── Doer/ # Core processing modules (all auto-timed)
│ │ ├── Analyser/ # Statistics generation
│ │ ├── Reflector.cs # XML mirror creation
│ │ ├── MusicIntegrator.cs # Staging and file organisation
│ │ ├── LibChecker.cs # Library validation rules
│ │ └── ReportWriter.cs # Timestamped report output
│ └── Track/ # Data models: Track, TrackTag, TrackXML
└── REPORTS/ # Auto-generated timestamped analysis reports
- Language: C# (.NET Framework 4.8)
- Metadata: TagLib# for ID3 tag parsing and reading
- Architecture:
Doerbase class - every operation is timed and logs automatically - Output:
TeeWritercaptures all console output to both screen and file simultaneously
Developed: November 2023 · Status: Actively maintained
- AudioMirror - XML mirror of the music library, auto-generated by this tool