A C# console application for managing, analysing, and auditing a personal music library - generates metadata statistics, validates organisation rules, and automatically integrates new music.
- Mirror - creates a lightweight XML snapshot of the library metadata (see AudioMirror)
- Analyse - generates timestamped statistical reports, runs full library validation (LibChecker), and auto-commits AudioMirror if the library is clean
- Integrate - scans a staging folder for new MP3s, pre-processes tags, routes files automatically, and produces a confidence report
Run via the launcher or CLI:
- Launcher:
scripts/launch.bat- builds via MSBuild, then presents a menu (analysis, analysis with force regen, integration dry run, integration real) - CLI:
AudioManager.exe analysis [--force-regen]orAudioManager.exe integrate [--dry-run] - Dry run: always run integration with
--dry-runfirst - prints every planned action without moving any files
- Total playback hours, library size on disk, average file size
- Average and median song length and track age
- Percentage and count breakdown of: artists, genres, release years, decades
For listening statistics, visit LastFM.
New music integration is fully automated for standard cases:
- Scan-ahead - pre-scans the batch to identify artists hitting the 3-song threshold (routes to
Artists/instead ofMisc) - Tag pre-processing - sets
TCMP=1on all incoming tracks; setsGenre=Musivationfor Akira The Don tracks - Auto-routing - standard routes (Musivation, Motivation, existing Artists folder) are accepted automatically; only ambiguous Misc routing prompts the user
- Confidence report - count check, per-file table, destination sanity check, error summary
- Integration log - saved to
logs/integration-YYYYMMDD.txt
AudioManager/
├── config/ # LibChecker exceptions config (libchecker-exceptions.xml)
├── docs/ # IDEAS.md, HISTORY.md, design and planning docs
├── logs/ # Integration run logs - gitignored
├── project/ # C# solution and source code
├── reports/ # Auto-generated timestamped analysis reports - gitignored
└── scripts/ # Launchers (launch.bat) and utility scripts
- Language: C# (.NET Framework 4.8)
- Metadata: TagLib# for ID3 tag reading and writing
- Architecture:
Doerbase class - every operation is timed automatically - Output:
TeeWritercaptures console output to both screen and file simultaneously
Developed: November 2023 · Status: Actively maintained
- AudioMirror - XML mirror of the music library, auto-generated and auto-committed by this tool