M5StickC で、BLE-MIDI ドラム

最終更新日

以前、RPi Pico でUSB MIDIを使ったMIDI ドラムを作ってみた。

RPi Pico でmidi ドラム

2021.06.15

今回は、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。

KORGのBLE_MIDI接続マニュアル

ドキュメントの 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回打ち込んだ。
スマートドラムより、打ち込みのほうが味があっていい。

シェアする