DJ from your terminal the UNIX way

odj is a free keyboard-driven collection of tools for live music performance on Linux, each its own terminal app (TUI): a player modelled on Pioneer’s CDJ series — cue, hot cues, loops, tempo, sync and key detection — a 16-pad sampler, crates for organizing and downloading tracks, and a MIDI-mappable mixer that ties them together. Built like Unix tools: use any of them on its own, or combine them.

  • Linux
  • TUI
  • Keyboard-driven
  • MIDI
  • Written in Rust
  • MIT

Small tools, your choice how to combine them

odj isn’t one app — it’s four, built the Unix way: each does one job well, and stands on its own. Run odj-player and odj-sampler alone and send their output straight into a real, physical mixer, same as any other line source. Or add odj-mixer and they auto-route into it instead — same apps, same keys, now mixed and MIDI-mappable in software, no cables to run. Want all of it at once with no setup? odj is a one-command shortcut — a tmux session with odj-mixer and two odj-player decks already running side by side.

odj-player

The CDJ-style deck: cue, hot cues, loops, tempo, sync and key detection.

odj-sampler

16 pads, swappable kits, triggerable from the keyboard or MIDI.

odj-crates

Curated, git-friendly sets of tracks — download via YouTube search or add existing files.

odj-mixer

Volume, 3-band EQ and MIDI mapping — auto-routed, no cables.

Features

Everything a CDJ series deck does, mapped to your keyboard and drawn in your terminal.

Cue like a CDJ

Set the cue while paused, jump back while playing, and hold Cue to preview. Auto Cue skips to the first sound.

Hot cues, loops and memory

Three hot cues, loop in/out/reloop, and memory points — saved per track by audio fingerprint, so cues survive renaming and moving.

Tempo and Master Tempo

Tempo fader with ±6, ±10, ±16 and WIDE ranges. Master Tempo keeps the key locked, powered by Rubber Band.

Sync across decks

Run up to 4 decks and they find each other. One key syncs tempo and beat phase to the master; a phase meter shows how close you are.

Find the key

Detects each track’s musical key as a Camelot code, and highlights the other decks’ keys that mix well with it.

Jog and search

Hold to bend the pitch, step by frame or beat while paused, and search or super-search through the track.

Mixer with MIDI

odj-mixer finds every running deck and the sampler on its own, each a channel with Volume and 3-band EQ — add a turntable, synth, drum machine or mic input too, all mappable to MIDI.

16-pad sampler

odj-sampler plays your stored cues from 16 pads, organized into swappable kits, triggerable from the keyboard or MIDI.

Crates

A curated, git-friendly set of tracks: create one and populate it from odj-crates, by downloading via YouTube search or adding existing files, then play MP3, FLAC, WAV, OGG/Vorbis, AAC/M4A and AIFF — with video, if the track has one and ffmpeg is installed.

Ready to mix?

Free and open source under the MIT license.