よ!Pioneer DJの DDJシリーズのDJコントローラーのパフォーマンスパッドとデックボタンをキーボード入力に変換するプログラム作ったよ!
このプログラムはDDJ-400でしか動作確認してないから、他の機器では動作するかどうか保証はできかねるよ!
でもDDJシリーズなら多分動くと思うよ!
それと、rekordboxなど対象のMIDIデバイスを使用するソフトウェアは同時に使用できないから注意よ!
-
Releasesからddj2key-win.zipをダウンロードするよ!
-
ファイルマネージャーを開きダウンロードしたddj2key-win.zipを選択し「すべて展開」を選択して、展開するよ!
-
rekordboxなど他のmidiソフトウェアが起動していないかを確認し、DDJシリーズのDJコントローラーを接続するよ!
-
ddj2key-winフォルダ内のddj2key.exeをダブルクリックして「WindowsによってPCが保護されました」と出た場合は詳細情報をクリックして、実行をクリックよ!
-
現れたウィンドウの"Start"をクリックして、DDJのパフォーマンスパッドを適当に押してメモ帳などに文字が入力されるかを確認するよ!
---------ここまででできれば以降は必要ないよ!---------
-
もし入力されなければ ddj2key-winフォルダ内のpygame_midi_device_detector.exeを起動するよ!
-
I/O列のInputとある行の、NameがDDJ-###となっている行の左端のDevice IDとなる数字を覚えてくれよ!(もし無ければ接続/認識がきちんとされていないか、他のInputとあるDevice IDを総当たりしてみてくださいよ!)
-
ddj2key-win内のconfig.iniをメモ帳などにドラッグアンドドロップしてくれよ!
-
midi_input_device_id = 1とあるところの1をさっき覚えたDevice IDに変えてくれよ! -
もう一度ddj2key.exeをダブルクリックして起動するよ!
-
これで文字入力がなされなければ、また
midi_input_device_idの数字を適当に変えてみてくれよ!これで出来なければもう無理ですわよ!
このプログラムは普通のパイソンで作られているので、パイソンとギットを入れてから
$ git clone https://github.com/babanavava/ddj2key.git
$ cd ddj2key
$ py -m venv .venv
$ . .venv/bin/activate
$ py -m pip install -r requirements.txt
$ py ddj2key.pyこんな感じで起動できると思うよ!
windowsでも出来るけどよ!
プリセットとして5つconfig.iniファイルを作っておいたよ!ddj2key.exeがあるフォルダのconfig.iniを上書きすればすぐに使うことが出来るよ!
それぞれどのような配置か説明するよ!
デフォルトの配置で、WASDが格ゲーのレバーレスコントローラーのように配置されている配置だよ!
元々このプログラムはDJコントローラーがスト6に使えるのではないかと思って作られたものだったからこれがデフォルトになってるよ!
/leverless_layout.png)
左手部分がWASDを含む通常のキーボード風の配置となっていて、元々キーボードを使うゲームがやりやすそうな配置だよ!

leverlessのWASD部分を矢印キーに置き換えたものだよ!

keyboardy_WASDのWASD部分を矢印キーで置き換えたような配置だよ!

上記のキー配置は全てconfig.iniの中に書かれてるから、それを自由に書き換えて君だけのオリジナル配置を作ることもできるよ!
midi_input_device_idキーは、pygame.midiモジュールでのデバイスIDでどのデバイスを使用するかを決めるものだよ!(デフォルトは1よ!)pad_allキーはpad_allセクションpad_all_shiftセクションのボタン配置をDDJのHotCueやBeatLoopモードなど全てのモードにおいて適応させるものだよ!0にするとその他のモード名のセクションごとに配置を決めることが出来るようになるよ!(デフォルトは1よ!)all_spaceキーは1にするとこのプログラムで割り当て可能などのボタンを押してもSPACEキーが入力されるようになるよ!(デフォルトは0よ!)
それぞれのキーの'L'/'R'はそれぞれDECK1/DECK2を表しているよ!DECK3やDECK4は使えないので注意よ!
モード名のセクションやpad_allセクションの名前の末尾に'_shift'とついているのはshiftを押した状態のそのモードのボタンを割り当てれるよ!
config.iniファイル内のmisc以外のセクションのキーがそれぞれDDJ-400上でどのボタンを指しているのかを示した画像を以下に置いておくよ!これを参考にして作ってみてくれよ!
deckセクションはD4L、D4Rを除いた、D1LからD11Rまで割り当てることが出来、deck_shiftセクションはshiftを押した状態のdeckセクションのボタン配置なので、shiftボタン本人であるD11L、D11Rは割り当てられないよ!
DDJ-400 MIDI-compatible software – AlphaTheta Help Center👈そもそもこのリンクのMIDIメッセージ一覧に準拠してボタン名は決めていますよ!
D4L、D4Rがないのはその中でにボタンじゃなかったためなくなりましたよ…
自由に使っていいよ!派生してもっといいアプリ作ってもらってもいいよ!
