どうも、kokkiemouseです。
前回は、試験などの心構えについてブログにしました。
今回はSwitchのプロコンでmidiを再生する方法を紹介します。
必要なもの
- Python 3
- libhid(Linux) or hidapi(Win)
- プロコン(純正)
必要なもののインストール
Windows
まずはpythonを入れましょう。
winget install Python.Python
続いてhidapiをインストールします。
https://github.com/libusb/hidapi/releases/latest/download/hidapi-win.zip
上のリンクからzipをダウンロードして展開しましょう。
そしたらx64/hidapi.dllを
Python39の場合は
%LOCALAPPDATA%\Programs\Python\Python39\
にコピーしてください。
Linux
SereneLinux or Fedoraなら
sudo dnf install python libhid
Arch Linux or Alter Linuxなら
yay -S python libhid
です。
全OS共通
そしたら
pip install mid hidapi
で
必須パッケージをインストールします。
本体のインストール
全OS共通です。
git clone git@github.com:kokkiemouse/pro_controller_midi_player.git
cd pro_controller_midi_player
python setup.py sdist
pip install dist\pro_controller_midi_player-0.0.1.tar.gz
これで完了です。
使い方
チャンネルが1つしかなく、和音が存在しないmidiしか正常に再生できません。
Dominoなどで事前に加工しましょう。
まずProコンをPCにBluetoothでつなげます。
そしたら
pro_controller_midi_player [加工したmidiファイル]
でProコンから音が鳴ります。
それだけです。
まとめ
Proコンってすごいですね…
音楽まで鳴らせるなんて…
あとPythonのコードいじったの久しぶりで最後にセミコロンつける癖が発動しました…
C++とjavaのやりすぎですね…
では今日はここまで。
ありがとうございました。
参考元
参考元というか改造元
zakiph27/midi2rumble
PoC of converting midi files to Nintendo switch Joy Con rumble data – zakiph27/midi2rumble
上記のソースコードを元にProコントローラーに対応させたやつ↓
kokkiemouse/pro_controller_midi_player
Contribute to kokkiemouse/pro_controller_midi_player development by creating an account on GitHub.
The post Nintendo SwitchのプロコンでMidi再生してみた first appeared on FascodeNetwork Blog.