よ!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に使えるのではないかと思って作られたものだったからこれがデフォルトになってるよ!
左手部分が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
がないのはその中でにボタンじゃなかったためなくなりましたよ…
自由に使っていいよ!派生してもっといいアプリ作ってもらってもいいよ!