もっと詳しく

どうも、kokkiemouseです。

前回は、試験などの心構えについてブログにしました。

https://blog.fascode.net/2021/03/24/later-exam/

今回は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.