BLE MIDI: raspbian では動かないのか?

Pisound を買ったことでもあり、色々と試し始めている。一番気になっていたのが、Raspberry Pi で BLE MIDI を使えるかどうかってこと。結論から言うと、今の環境(*1)では使い物にならないみたい。KORG の MicroKEY2-25 Air という MIDI Keyboard を試したんだが、打鍵に追従しなかった(*2)。この Keyborad は USB 接続もできて、そちらでは問題はなかったのに。 

 

(*1) 今の環境

 Hardware: Raspberry Pi 3 Model B

 OS: Patchbox OS (Release Date: 2020-03-14 | Size: 963MB)

   (Pisound用にチューンされた raspbian)

             Patchbox OS - Raspberry Pi OS for Audio Projects

 

(*2) 現象

 ・まず Keyboard がシステムに接続されなかった。

  全対的に次のサイトを参照した。

              Update: Korg Microkey Air 37 Bluetooth MIDI Keyboard with Raspberry Pi4 and Buster – McLaren Labs2

  BlueZ が 5.50 だったのを、5.56 にソースからアップデートしてみる。しかし

  ./configure で次のエラーになる。

    configure: error: GLib >= 2.28 is required

  そこで次のサイトを参照して対処した。

               bluezのコンパイル | CreateWindow!

 ・5.56のコンパイルが通り、再起動したら Keyboard がシステムに接続できた。

  しかし、打鍵に対する応答が悪い。

  ちょっとハマりそうなので、深追いしないことにした。

Pisound: 買ってしまった

Pisound に手を出してしまった。

Pisound から音も出たし、USB MIDI Keyboard も動作したから、まあハードはOKっぽい。しかし、Linux の Audio & MIDI については、ほとんど知識がないので、先は長い。なにせ、ALSAとかもよく分かっていないし。ぼちぼち、やっていこう。

それにしても、購入後に14%の割引が始まったとは(既に終了)、ちょっと悔しい。

 

あと、MIDI については、こちらが興味を持ったのが遅いというのもあるけれど、Pisound にしてもポケミクにしても5、6年前が旬だったようで、今どうなっているのかが良くわかんないねえ。

LambdaChip Alonzo - Functional Programming Board

LambdaChip Alonzo というCPUチップを搭載した、マイコン開発ボードの販売を、Seeed が 開始した。  

scheme で、Functional Programmingで、VMが走ると書いているから、てっきり scheme の REPL が走るもんだと思っていたら、だいぶ違っていた。ホストCPUでコンパイルして、バイトコードにしたものを、SDカード経由で読ませるという仕組みらしい。

ちょっとめんどくさそう。需要があるのだろうか。フロントエンドは、今は scheme だけのようで、将来的には LuaJavaScript が予定されているようである。

Raspberry Pi Pico: Pimoroni の Pico Audio Pack 用のサンプル・コード

Pimoroni の Pico Audio Pack 用のサンプル・コードなんだけど、Pimoroni のWebサイトでは Raspbarry Pi本家が用意している C/C++ SDK と pico_extras、pico_playground のコードを参照せよと書いてあるが、具体的な手順は書いていないので、わかりにくい。そこで、ちょっとやってみた。

 

次の2つのサンプルを試した。どちらも特に問題なく build ができた。

 (1) pico-playground/audio/sine_wave

  サイン・カーブの発信音が Pico Audio Pack に挿したイアフォンから聞こえた。

 (2) pico-playground/apps/usb_sound_card

  "サウンド" の "出力"装置に "Pico Examples Sound Card" というのが

  現れて、これを選択すると Pico Audio Pack に挿したイアフォンから音声が

  聞こえた。

  いわゆる USB Audio っていうのかな。

 

ただしソース・コードには次の2行を追加しておく必要がある。I2S関連のピン番号ね(実際はGPIO番号)。

この注意事項は Pimoroni の Webサイトに書いてある。

 #define PICO_AUDIO_I2S_DATA_PIN 9
 #define PICO_AUDIO_I2S_CLOCK_PIN_BASE 10

 

Raspberry Pi Pico: USB MIDI example (CircuitPython)

Pico を Python で制御するには、MicroPython を使用するが、MicroPython にもいくつかあり、自分の目的に合ったものを選ぶことになる。あるいは自分専用に MicroPython を build するという選択肢もある。

いま自分が知っている Pico 向けの MicroPython で、メジャーどころでは次の3種類のMicroPython がある。

 (1) Raspberry Pi 本家の MicroPython

   (2) Adafruit の CircuitPython

   (3) Pimoroni の MicroPython

そんなこんなで USB MIDI ということで調べていたら、次の記事が目に留まった。

ここには Pico を MIDI Controller にした例が2つ載っている。どちらも、Adafruit の CircuitPython で adafruit_midi というモジュールを使用している。また制御対象が Pimoroni の Pico RGB Keypad Base という4x4個のキーが付いた装置である(以下を参照)。

  https://shop.pimoroni.com/products/pico-rgb-keypad-base

ソースコードGitHubに公開されているので、ずいぶんと勉強になる。

 

Raspberry Pi Pico: USB MIDI example (C/C++ SDK)

Raspberry Pi Pico の開発環境は、C/C++ SDK と、MicroPython の2種類がある。

C/C++ SDK を覗いていたところ、USB MIDI で Note On/Off する example があったのでメモしておく。この SDK に用意されている USBドライバは、Tiny USB で、そこに MIDI の example があった。場所は次のとおり。

 

 pico-sdk/lib/tinyusb/examples/device/midi-test

 

これを build したら、macOS 上の synthソフトから音が鳴った。

 

Tiny USB なので Adafruit で色々あると思っていたら、CircuitPython で USB MIDI を鳴らしている例があった。これについては明日以降に投稿する。