任天堂SwitchのジョイコンをPython経由で楽器にする

Type: Tech BlogDate: 2020 - 1 - 26Tags:
#Python#Max/MSP#Bluetooth#Open Sound Control

Bluetooth接続したJoy-Conからhid経由で情報取得するPythonライブラリjoycon-pythonの開発に参加し,そのjoycon-pythonを用いて信号をOSC (Open Sound Control)に飛ばすスクリプトjoycon-oscを作成し,そのjoycon-oscを用いて送信した情報をMaxで受け取って音にしました。

こんなものです。

こう言うと人に驚かれるのだが,僕は任天堂Switchを持っていないのに任天堂Switchのコントローラーであるジョイコンを持っています。なぜならジョイコンだけ買った(買わされた)から。

ということで,ジョイコンをmacにつなげて何か遊べないかと考えていたときに,Qiita: Joy-ConにPythonからBluetooth接続をして6軸センサーと入力情報を取得するという記事を発見。すぐさま著者が公開していたリポジトリを訪問し,forkし,パッケージ化し,PRを出した(らめっちゃ丁寧なコードレビューをしてもらい感動した)。それが以下のリポジトリ。

https://github.com/tokoroten-lab/joycon-python

今ではPyPiへの公開もされており,pip install joycon-pythonで使える。

次に,ジョイコンの状態を監視してOSCを送るスクリプトを作成した。それも以下のリポジトリとして公開している。

https://github.com/atsukoba/joycon-osc

OSCを飛ばす準備をしたら,あとはMax上で受け取って音にする。