Skip to content

DJ Live Playlistを作った理由

背景

私はDJであり、シニアデベロッパーでもあります。Twitchでライブセットをストリーミングしており、バイナル(レコード)でミックスしています — 私のシーンではまだ広く使われているフォーマットです。ライブ中、チャットの人たちは必ず同じ質問をします:

「この曲は何ですか?」

長い間、手動で管理していました — テキストドキュメントのリスト、トラックの間に更新し、チャットにコピー&ペースト。両手がターンテーブルにあってレベルに目を向けているときは理想的ではありません。

既存のソリューションがうまくいかない理由

既存のツールを調べましたが、どれも私のニーズに合いませんでした:

  • バイナルはソフトウェアから見えない。 既存のアプリのほとんどは、デジタルオーディオファイル(MP3、FLAC…)を分析して再生中のトラックを検出しています。バイナルでミックスしている場合、分析するファイルがありません — これらのツールは単純に役に立ちません。
  • 複数のトラックが同時に、複数のデッキで再生される。 私がミックスするスタイルでは、複数のトラックが同時に再生されることがよくあります。どのトラックが再生中なのか、そして特にどのデッキで再生されているのかを正確に区別するのは、DJにとってさえ難しいことがあります。DLPのプレイリスト形式はこの問題に答えます:各トラックは特定のデッキに紐づけられ、開始時刻と終了時刻が記録されるため、ミックスの流れを忠実に再現できます。
  • 正確なタイムスタンプがない。 見つけたアプリの中で、セット中の各トラックの正確な開始時刻と終了時刻を記録できるものはありませんでした。つまり、後から見直して、間違いを修正したり、録画した動画や音声に合わせてトラックリストを再生することができません。DJ Live Playlistならそれが可能になりました。
  • データの本当の管理ができない。 既存のソリューションは通常クラウドアカウントを要求し、データをどこに送るかわからず、他人のプラットフォームに縛られます。私は完全な所有権を望んでいました — クラウド依存なし、アカウント作成なし、個人データに何が起きるかの謎なし。

アイデア

アイデアはシンプルです:あらかじめセットリストを準備するアプリで、曲を切り替えるときにボタンを押すだけ。OBSオーバーレイが自動的に更新され、視聴者はタイトルとアーティストをリアルタイムで見ることができます。

さらにミックス中にPCに触れずにStream Deckからできれば...最高です。

なぜ自分で開発するのか?

DJとシニアデベロッパーの両方である私は、自分のスキルを活かしたいと思いました — 自分のためだけでなく、コミュニティのために。あまりにも多くの才能あるアーティストが、ライブセットで適切にクレジットされないために知られないままです。このアプリは、あまり知られていないアーティストにスポットライトを当て、クレジットを大切にするDJのコミュニティを活性化するための私の方法です。

なぜTauriなのか?

最初はElectronを考えましたが、Tauriが自然に選ばれました:

  • はるかに軽いバイナリ — 数MBvsElectronの数百MB
  • バックエンドにRust — WebSocket、ファイル、同期:堅牢、高速、GCなし
  • UIにVue.js — すでに慣れているので、移行が自然
  • ネイティブクロスプラットフォームビルド — TauriのオフィシャルGitHub ActionsがWindows、Linux、macOSを一つのCIで処理

結果

バックグラウンドで動作し、ローカルWebSocketサーバーを公開するアプリ。OBSオーバーレイは他のサーバーと同じように接続します。Stream Deckプラグインも同様です。アプリでトラックが変わると、1秒以内に両方が更新されます。

すべてローカルで動作し、クラウドなしアカウントなしサブスクリプションなしです。


技術アーキテクチャを見る →