Cross-platform DJ library manager with music discovery, track analysis, and USB export
Crate is a cross-platform desktop application for managing DJ audio libraries. It handles everything from discovery, organization, analysis, and USB export.
- Library management - Import and organize audio files (MP3, FLAC, WAV, AIFF, M4A/AAC) with automatic metadata extraction, search, and filtering
- Tagging - Categorize tracks with a flexible tag system for fast filtering
- Playlists - Build playlists manually or with smart rules
- Track analysis - Waveform generation, key detection, BPM analysis, and energy profiling
- Music discovery - Browse and preview releases from Bandcamp, SoundCloud, YouTube, and Discogs
- Audio playback - Preview tracks with waveform display and cue point management
- USB export - Export to Pioneer CDJ/XDJ devices with full Rekordbox database generation
- Device sync - Detect connected USB devices and sync library changes incrementally
- Metadata editing - Edit track metadata in bulk or individually
- Customization - Themes, accent colors, and font preferences
- Localization - Available in 11 languages (EN, JA, NL, FR, DE, ES, IT, SV, KO, PT, ZH)
- Auto-updates - Stay on the latest version with minimal effort
- Node.js 22.x or higher
- Yarn (package manager)
- Rust nightly toolchain
For Tauri development dependencies, see the Tauri v2 prerequisites guide.
Clone the repository:
git clone https://github.com/blackboxaudio/crate.git
cd crateInstall dependencies:
yarn installStart the development server with hot reload:
yarn devThis launches both the Vite dev server (port 1420) and the Tauri application window.
Build for production:
yarn buildBuild for staging (with devtools):
yarn build:stagingOutput binaries are placed in src-tauri/target/release/bundle/.
Platform targets:
- macOS -
.dmg,.app - Windows -
.msi,.exe
This project is source-available under the PolyForm Shield License 1.0.0. You can read, learn from, and contribute to the code, but you can't use it to build a competing product.
This project is under active development. Planned features and improvements are tracked in the repository issues.