Read-only Rust tools for inspecting rekordbox device-export audio metadata without mutating a DJ USB.
cds-audio-metadata-rs: reads local audio tags and merges them with higher-trust rekordbox-derived fields.cds-anlz-rs: walksPIONEER/USBANLZ/**/ANLZ0000.DATand returns typed per-track metadata such as BPM, duration, beat-grid presence, and hot-cue count.
cargo add cds-anlz-rsFor local workspace use:
cargo build --workspace --release
cargo test --workspace --releaseuse cds_anlz_rs::read_device_export;
let tracks = read_device_export("/Volumes/DJ_USB".as_ref())?;
for (path, metadata) in tracks {
println!("{} bpm={:?}", path.display(), metadata.bpm);
}
# Ok::<(), Box<dyn std::error::Error>>(())- It does not write to rekordbox libraries.
- It does not move, rename, delete, or retag audio files.
- It does not parse
PIONEER/rekordbox/export.pdbyet. - It does not publish any sample DJ USB data.
The upstream/rekordcrate/ directory contains a prepared accessor patch for rekordcrate 0.3.0. The upstream-ready patch is separate from the vendored-only warnings override.
Extracted from Archivist Sort after a read-only validation run on a working DJ USB: 740 tracks sorted into additive copies, originals untouched, rekordbox library byte-identical.
MIT for CDS code in this repository. cds-anlz-rs depends on rekordcrate, which is MPL-2.0.