M5StickC で、BLE-MIDI ドラム
以前、RPi Pico でUSB MIDIを使ったMIDI ドラムを作ってみた。
今回は、M5StickC を利用して、BLE-MIDI でドラムを作ってみる。
BLE MIDI とは?
BLEを利用したMIDI I/F。対応している機器は少ないけど、アダプタを使えばMIDI機器ならだいたい対応できる。
無線なので、レイテンシーが気になるところ。
こんな記事を見つけた。
記事内では、USB接続で17msec。BLE接続だとBlueTooth自体のレーテンシーが 0から15msec なので、20msecから40msecのばらつきがでるらしい。
まあ、自分としてはそんな演奏レベルになりので、無問題。
UI仕様
BtnAをpressしている間は、音が鳴り、LEDが点灯する。
無線で使いたいので、バッテリーの残量も気になるところ。
初期画面ではバッテリーの電圧を表示する。
BLE-MIDI の接続方法
結論から。
KORGがリリースしている、 Bluetooth MIDI Connect
というアプリを使えば、Mac、iOS、iPadOS の全てで完動。ありがとうKORG。
ドキュメントの Bluetooth MIDI に対応していないアプリケーションの場合
に関する部分を読んで、接続すればOK。
Mac の場合は、メニューの Bluetooth MIDI Connect
から Connect Bluetooth MIDI Device
をクリックすると、以下のように検出したデバイス一覧が表示される。
Connect
ボタンをクリックして、GarageBand のTrackを表示すれば、音がでる。
プログラム
platformio.ini
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:m5stack-core-esp32]
platform = espressif32
lib_deps =
lathoub/USB-MIDI @ ^1.1.3
m5stack/M5StickC
h2zero/NimBLE-Arduino @ ^1.2.0
lathoub/BLE-MIDI@^2.1.0
board = m5stick-c
framework = arduino
upload_port = /dev/cu.usbserial-XXXXXX
src/main.cpp
演奏
やっぱり、ジョブスは偉い。無線がいい。
2個あれば、もっと楽しい。
iPhone のGarageBandで打ち込み
BLE-MIDIドラムを使って、iPhone のGarageBandで、打ち込みをしてみた。
3trackは、重ねて3回打ち込んだ。
スマートドラムより、打ち込みのほうが味があっていい。