電音の工場ブログ

趣味の電子工作を中心としたブログです.音モノの工作が多いです.

MIDILibrary

MIDILibrary

はてなグループの終了日を2020年1月31日(金)に決定しました - はてなグループ日記 - 機能変更、お知らせなどでも書いたようにArduinoを弄りはじめている。

Arduinoって何? という方は、

あたりをご参照。

私は、とりあえず電音関係ではない電子工作で弄り始めてみている(この辺り)。

Arduinoのco-founderのMassimo Banziが書いた本(Getting Started With Arduino (Make: Projects))も買ってしまった。語りの部分が面白い、Moogまで出てきたりして。

そのうちに電音工作にも摘要しようと思う。PWMを速くすることも出来そうな気配だし。

なんて悠長なことを言っていたらご本尊でライブラリが挙がった。

Arduino Playground - MIDILibrary

MIDIチャネルメッセージを送受信するためのライブラリである。ノートオンだとかコントロールチェンジといったタイプまでは指定するがそれより上位は自分で書く人用のライブラリ。

さっそくライブラリをダウンロードしてみた。Arduinoのライブラリ自体はC++で書かれる。MIDILibraryもC++で書かれている。普段、ほとんどアセンブリ言語なんじゃないのかというようなべたべたのCを書いている身としてはC++の字面はモダンに見える…

それだけではなくて、コメントがフランス語だった。変数が英語由来とフランス語由来と混在していた。大学で第2外国語にフランス語を学んだ友人に聞いてみた。

私:フランス語でcanalってなに?

友:運河?

私:それは英語じゃないのか?

友:なんだろう、忘れた

私:文脈からするとチャネルなんだが… channelって変数は別にもあるし… でも、そういえば、カナル・プリュって放送局があったよね。言うなれば「チャンネル・プラス」

友:へー

私:…

などと漫才しながらコードを読み進めたら見た目ほどモダンじゃなくて普通だった。

データバイトが2つあるMIDIチャンネルメッセージは、2つめを読むときに必ずUARTが来るまでポーリングしているのがイマイチかも。

それはまぁともかく、参考になるところは取り込んでいこうと思う。自分のMIDIパーサはシングルチャネルしか考慮していないものだし。

今後はこのMIDILibraryを使ったArduinoのスケッチが多々出てくるのかな?