Skip to content

babanavava/ddj2key

Repository files navigation

ddj2key

よ!Pioneer DJの DDJシリーズのDJコントローラーのパフォーマンスパッドとデックボタンをキーボード入力に変換するプログラム作ったよ!

注意事項よ!

このプログラムはDDJ-400でしか動作確認してないから、他の機器では動作するかどうか保証はできかねるよ!

でもDDJシリーズなら多分動くと思うよ!

それと、rekordboxなど対象のMIDIデバイスを使用するソフトウェアは同時に使用できないから注意よ!

使い方よ!(windows限定よ!)

  1. Releasesからddj2key-win.zipをダウンロードするよ!

  2. ファイルマネージャーを開きダウンロードしたddj2key-win.zipを選択し「すべて展開」を選択して、展開するよ!

  3. rekordboxなど他のmidiソフトウェアが起動していないかを確認し、DDJシリーズのDJコントローラーを接続するよ!

  4. ddj2key-winフォルダ内のddj2key.exeをダブルクリックして「WindowsによってPCが保護されました」と出た場合は詳細情報をクリックして、実行をクリックよ!

  5. 現れたウィンドウの"Start"をクリックして、DDJのパフォーマンスパッドを適当に押してメモ帳などに文字が入力されるかを確認するよ!

---------ここまででできれば以降は必要ないよ!---------

  1. もし入力されなければ ddj2key-winフォルダ内のpygame_midi_device_detector.exeを起動するよ!

  2. I/O列のInputとある行の、NameがDDJ-###となっている行の左端のDevice IDとなる数字を覚えてくれよ!(もし無ければ接続/認識がきちんとされていないか、他のInputとあるDevice IDを総当たりしてみてくださいよ!)

  3. ddj2key-win内のconfig.iniをメモ帳などにドラッグアンドドロップしてくれよ!

  4. midi_input_device_id = 1とあるところの1をさっき覚えたDevice IDに変えてくれよ!

  5. もう一度ddj2key.exeをダブルクリックして起動するよ!

  6. これで文字入力がなされなければ、またmidi_input_device_idの数字を適当に変えてみてくれよ!これで出来なければもう無理ですわよ!

windows以外の民よ!

このプログラムは普通のパイソンで作られているので、パイソンとギットを入れてから

$ 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でも出来るけどよ!

configsよ!

プリセットとして5つconfig.iniファイルを作っておいたよ!ddj2key.exeがあるフォルダのconfig.iniを上書きすればすぐに使うことが出来るよ!

それぞれどのような配置か説明するよ!

leverless

デフォルトの配置で、WASDが格ゲーのレバーレスコントローラーのように配置されている配置だよ!

元々このプログラムはDJコントローラーがスト6に使えるのではないかと思って作られたものだったからこれがデフォルトになってるよ! leverless

keyboardy_WASD

左手部分がWASDを含む通常のキーボード風の配置となっていて、元々キーボードを使うゲームがやりやすそうな配置だよ! WASD

leverless_arrow

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

arrow_right

矢印キーがキーボードと同様の配置で右側にある配置だよ! arrow_right

arrow_left

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

config.iniの説明よ!

上記のキー配置は全てconfig.iniの中に書かれてるから、それを自由に書き換えて君だけのオリジナル配置を作ることもできるよ!

miscセクションの説明よ!

  • 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上でどのボタンを指しているのかを示した画像を以下に置いておくよ!これを参考にして作ってみてくれよ! ddj_config deckセクションはD4LD4Rを除いた、D1LからD11Rまで割り当てることが出来、deck_shiftセクションはshiftを押した状態のdeckセクションのボタン配置なので、shiftボタン本人であるD11LD11Rは割り当てられないよ!

D4LとD4Rが無い理由

DDJ-400 MIDI-compatible software – AlphaTheta Help Center👈そもそもこのリンクのMIDIメッセージ一覧に準拠してボタン名は決めていますよ!

D4LD4Rがないのはその中でにボタンじゃなかったためなくなりましたよ…

ライセンスよ!

自由に使っていいよ!派生してもっといいアプリ作ってもらってもいいよ!

クレジットよ!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published