
2026/08/01 3:28
Termixer(TUI DJ ミキサー)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Termixer は、Rust と ratatui を用いて開発されたターミナルベースの DJ ミキサーであり、ライブパフォーマンスに最適化されています。TidalCycles と連携してリズムシーケンシングを行い、MPV(IPC ソケットを通じて)との統合でビデオ再生を実現します。チャンネルごとのフェーダー、パン、3バンド EQ、ローパス/ハイパスフィルタリング、クロスフェード、サンプルパッドといったプロフェッショナルグレードのオーディオ制御機能を提供します。システムディスカバリー機能により、PulseAudio、PipeWire、JACK、MPV ソケットソースが自動的に検出されます。ナビゲーションは Vim 風のキー(hjkl)を使用し、3 つのモードレベルから成るシステムを備えています。起動には、ローカルソケット(例:
/tmp/mpv-music.sock)を指定する --input-ipc-server フラグ付きで MPV を実行し、Termixer は cargo run で開始します。オプションとして、カスタムソケット用 -s、音楽ディレクトリ指定用 -m、サンプルパッド用 -S、自動検出を無効化用 -d のフラグを利用できます。インストールは crates.io からの入手またはソースコードからのビルド(cargo install --path .)が可能で、ビルドはデバッグ用(cargo build)または LTO を適用した最適化ビルド(cargo build --release)で行えます。Rust と Nerd Fonts(アイコン用)および MPV の依存が必要です。Termixer は、利便性よりも柔軟性を優先する軽量ターミナル環境を求める開発者向けに、インタラクティブなオーディオ制作を民主化するものです。本プロジェクトは MIT ライセンスの下で公開されています。本文
Terminal-based DJ Mixer for Live Performance with TidalCycles
termixer は、TidalCycles を用いたターミナルベースの DJ ミキサーです。Rust と
ratatui で構築され、ライブパフォーマンス向けのリアルタイム EQ、フィルタリング、クロスフェード、サンプルパッド機能を備えています。
主な機能
- 2 デックのミキサー: 各チャネルごとにゲイン、パン、3 バンド EQ、ローパス/ハイパスフィルター対応
- DJ センター: クロスフェーダー、キューミックス、ヘッドフォン/ボス出力搭載
- サンプルパッド: シークエンサー付き 4x4 グリッド
- 自動検出: MPV ソケット、SuperCollider、PulseAudio、PipeWire、JACK からのオーディオソース自動検出
- SuperCollider 連携: ミキサーチャネル処理用のカスタム SynthDefs 提供
- Vi 系操作:
キーによる移動、3 レベル制のモードシステムhjkl
前提条件
- Rust の環境構築済み
- Nerd Fonts(アイコン表示に必須:巻き戻しや早送りなどに対応)
- MPV(IPC ソケットサポート付きメディア再生用)
- SuperCollider(TidalCycles 連携用にオプション)
インストール方法
クラウドからインストール(crates.io)
公式レジストリから最新版をインストールできます。
ソースコードからインストール
git clone https://github.com/l00sed/termixer.git cd termixer cargo install --path .
ビルド方法
ローカルのソースコードを使用する場合は、以下をビルドしてください。
cargo build # デバッグビルド cargo build --release # LTO 適用された最適化ビルド
使用方法
自動検出で実行(デフォルト)
オーディオソースが自動で検出される場合に実行します。
cargo run
MPV ソースを明示的に指定
特定の IPC ソケットを使用する場合です。
cargo run -- -s "Deck A" /tmp/mpv-a.sock -s "Deck B" /tmp/mpv-b.sock
音楽・サンプル用ディレクトリを指定
ファイルブラウザとサンプルパッドの場所を設定します。
cargo run -- -m ~/Music -S ~/Samples
MPV を IPC で起動する例
事前に MPV プロセスを起動してソケットを作成する場合です。
mpv --input-ipc-server=/tmp/mpv-music.sock music.mp3
コマンドラインオプション
| オプション | 説明 |
|---|---|
, NAME SOCKET | オーディオソース(MPV IPC ソケット)を追加 |
, PATH | オーディオファイルブラウザ用のディレクトリ |
, PATH | サンプルパッドファイル用のディレクトリ |
, | オーディオソースの自動検出(デフォルト) |
, | ヘルプ表示 |
キーボード操作
ナビゲーション
パネ間やメニューの移動、モード切替を行います。
| キー | 動作 |
|---|---|
| Tab / h / l | パネ間を切り替え(Deck A、DJ センター、Deck B、マスター) |
| Enter | コントロール選択モードに入る |
| Esc | 1 レベル戻る |
| ? | ヘルプオーバーレイの表示/非表示を切り替える |
| q | アプリを終了する |
コントロール
ミキサーパラメータの調整を行います。
| キー | 動作 |
|---|---|
| j / k | コントロールリストを上/下に移動 |
| h / l | 値を調整 / EQ のキルスイッチを切り替え |
| J / K | 粗い調整(±0.2) |
| + / - | 細かい調整(±0.05) |
| m / s | ミュート/ソロの切り替え |
| c | パン値をセンターに設定またはクロスフェーダー操作 |
| 0 | コントロールを初期値にリセット |
ソース・サンプルパッド
ソース選択とパッドモードの切り替えを行います。
| キー | 動作 |
|---|---|
| A | Deck A のソース選択メニューを開く |
| B | Deck B のソース選択メニューを開く |
| P | サンプルパッドモードの切り替え |
ライセンス: MIT