Termixer (TUI DJ Mixer)
Summary
Termixer is a terminal-based DJ mixer written in Rust that integrates with TidalCycles, MPV, and SuperCollider for live audio mixing with EQ, crossfade, and sample pads.
View Cached Full Text
Cached at: 07/31/26, 07:59 PM
l00sed/termixer
Source: https://github.com/l00sed/termixer
termixer
A terminal-based DJ mixer for live performance with TidalCycles. Built in Rust with ratatui, it provides real-time EQ, filtering, crossfading, and sample pads for mixing audio from MPV and SuperCollider.

Features
- Dual-deck mixer with per-channel fader, pan, 3-band EQ, LPF/HPF
- DJ center with crossfader, cue mix, headphone/booth outputs
- Sample pads — 4x4 grid with sequencer
- Auto-discovery of MPV sockets, SuperCollider, PulseAudio, PipeWire, JACK sources
- SuperCollider integration — custom SynthDefs for mixer channel processing
- Vim navigation — hjkl throughout, 3-level mode system
Prerequisites
- Rust
- Nerd Fonts — required for icons (rewind, fast-forward, etc.)
- MPV — media playback with IPC socket support
- SuperCollider (optional) — for TidalCycles integration
Installation
From crates.io
cargo install termixer
From source
git clone https://github.com/l00sed/termixer.git
cd termixer
cargo install --path .
Build
cargo build # debug
cargo build --release # optimized with LTO
Usage
# Auto-discover audio sources
cargo run
# Specify MPV sources explicitly
cargo run -- -s "Deck A" /tmp/mpv-a.sock -s "Deck B" /tmp/mpv-b.sock
# With music and samples directories
cargo run -- -m ~/Music -S ~/Samples
Starting MPV with IPC
mpv --input-ipc-server=/tmp/mpv-music.sock music.mp3
CLI Options
| Flag | Description |
|---|---|
-s, --source NAME SOCKET | Add an audio source (MPV IPC socket) |
-m, --music-dir PATH | Directory for audio file browser |
-S, --samples-dir PATH | Directory for sample pad files |
-d, --discover | Auto-discover audio sources (default) |
-h, --help | Show help |
Keyboard Controls
Navigation
| Key | Action |
|---|---|
Tab / h / l | Switch between panes (Deck A, DJ, Deck B, Master) |
Enter | Enter control select mode |
Esc | Go back one level |
? | Toggle help overlay |
q | Quit |
Controls
| Key | Action |
|---|---|
j / k | Navigate controls up/down |
h / l | Adjust value / toggle EQ kill switch |
J / K | Coarse adjustment (0.2) |
+ / - | Fine adjustment (0.05) |
m / s | Toggle mute / solo |
c | Center pan or crossfader |
0 | Reset control to default |
Source & Sample Pads
| Key | Action |
|---|---|
A | Open source picker for Deck A |
B | Open source picker for Deck B |
P | Toggle sample pads mode |
License
MIT
Similar Articles
Show HN: Rmux – A programmable terminal multiplexer with a Playwright-style SDK
Rmux is a new programmable terminal multiplexer written in Rust, offering a tmux-compatible CLI, a typed SDK, and features for agentic workflows, allowing detachable, scriptable terminal sessions across Linux, macOS, and Windows.
tterm
tterm is a product that combines a terminal, a real browser, and Claude Code into a single interface, offering an integrated development environment.
crynta/terax-ai
Terax is a lightweight open-source terminal-first AI-native dev workspace built on Tauri 2, Rust, and React, featuring an agentic AI side-panel, code editor, file explorer, source control, and web preview.
Termexo
Termexo is a local Windows workbench that provides a graphical interface for working with Claude Code and Codex.
SoundPipe
SoundPipe is a mixing board application for Mac.