更新情報

PythonモジュールPYOを使ってみる

PYOは信号処理を行うPythonモジュールです。オーディオ信号の生成、基本的な信号処理(フィルター、遅延、波形の合成)が可能です。また、グラニュラーシンセシスやオーディオを編集するための複雑なアルゴリズムを作ることもできます。

ArduinoのUSB-MIDI対応

ARM Cortex-M3搭載のArduino DueでUSBMIDI、MIDIUSBが使えることを確認しました。

エレクトーンのMIDI IMPLEMENTATION CHARTを読んでみる

エレクトーンのMIDIインプリメンテーションチャート(MIDI IMPLEMENTATION CHART)を読んでみようと思います。MIDIインプリメンテーションチャートはMIDIを搭載した楽器とPC(PCとは限らないのですが…ここでは面倒なのでPCとしておきます。)との間でMIDIのやり取りをする為の仕様書です。エレクトーンがどのようなMIDIデータを出力するのか、エレクトーンがどのようなMIDIデータを入力として受け付けるのかが記載されています。ですのでMIDIインプリメンテーションチャートは、MIDIを搭載した楽器には必ず取説などに掲載されているはずです。ここでは手持ちのエレクトーン(ELB-01)のチャートを読みたいと思います。

  • モードについて記載を追加しました。     Posted on May 04, 2022
  • アフタータッチとピッチベンドについて記載を追加しました。     Posted on May 06, 2022

エレクトーンとPCをMIDIでつなぐ

子供が使っていて、長らく放置されているエレクトーンを使わないのはもったいないので、MIDIの使い方を勉強する目的で使ってみたいと思います。まずはエレクトーン(ELB-01)とPCをMIDIでつないで音を出します。

SMF Player 修正/機能追加

久しぶりに触って、プログラムの間違いを見つけてしまい修正しました。SMFファイルでのシステムエクスクルーシブの記述が特殊でした。0xF0 の直後に0xF7までのデータの数が入っていることを知りませんでした。GM ONのメッセージであれば以下のようになります。

0xF0 0x05 0x7E 0x7F 0x09 0x01 0xF7

機能追加としては、シーケンスをストップした時、全チャンネルにAll Note Offを出力するようにしました。またAll Note Offボタンを追加しました。

MontereyのApacheでDocumentRootを移動する

MacのOS、Montereyに付属しているApacheを使う上で、DocumentRootの変更に手こずったので記録します。

このページについて

こちらのページにお越しいただきありがとうございます。このページは「Web MIDI API実験室」という名前のページでした。しかしながら、Web MIDI API以外のページが増えてきましたので名前を変更しました。それでもMIDIを切り口に技術的にトライしているページです。PCやMAC、ArduinoやRaspberry PiといったシングルボードコンピュータでのMIDIのつなぎ方やウェッブブラウザでのAudioの使い方を説明します。また、自作したMIDI, Audioのウェッブアプリケーションを紹介しています。電子回路はあまり得意ではありません。ですので、作成した回路はたまたま動作しているだけかもしれないことにご注意下さい。


Raspberry Pi 3をMIDIハブに採用??シンセなどをひとまとめにしたポータブル機材ケースを自作

2022/2/15



MIDIについて

MIDIはMusical Instrument Digital Interfaceの略称です。直訳すれば、楽器のデジタルインターフェースということになります。MIDIの誕生は1983年、任天堂「ファミリーコンピュータ」と同じ年です。この年の暮れには、シンセサイザDX7が発売になっています。Windows 95のはるか以前のことです。

もの凄くざっくりと書くならば、MIDIは電子楽器と電子楽器をつなぐデータの形(フォーマット)と通信経路の規格です。2つの楽器をMIDIで接続すると、一方の楽器を弾くと、もう一方の楽器が鳴ります。ちょっと前のコンサートでは舞台のちょっと奥にシンセサイザーを10台近く周りに並べて演奏するキーボーディストを見ることができました。大概の場合、キーボーディストはすべてのキーボードの鍵盤を弾くわけではありません。いずれかのキーボードがメインのキーボードになっていて、その他のキーボードはMIDIで接続されています。メインのキーボードを弾くとその他のキーボードの音が鳴るように設定されています。曲に合わせて、いろいろなキーボードの音色を使いたいということです。

その後MIDIはコンピュータのインターフェースとして取り込まれ、コンピュータから楽器を鳴らすことが一般的になりました。また、カラオケのデータとしても利用されるようになります。今日現在でも多くのポピュラー音楽の制作現場ではMIDIが使われています。MIDIの歴史は、2019年国立科学博物館の「かはく技術史大系(技術の系統化調査報告書)」I. 映像・情報・コンピュータ関連の一つとして調査された、「MIDI に関する技術系統化調査」井土秀樹著の中で詳しく書かれています。

さて、MIDIは楽器と楽器、コンピュータと楽器をつなぐインターフェースなのですが、私は楽器や音楽に関係無く使ってもとっても便利なインターフェースだと思っています。 コンピュータはPCでもMACでも、MIDIは簡単に扱えるようなドライバーやアプリケーションを持っています。また、iPhoneでもAndroidでもMIDIは扱えますし、ArdinoやRaspberry PiといったシングルボードコンピュータでもMIDIを扱うことができます。ですので、便利に何かと何かをつないでデータをやり取りするインターフェースとしてMIDIが使えるのでは無いかと思っています。

ここ数年では、MIDIやAudioを扱うWeb API(Web MIDI API, Web Audio API)が策定され、わりと簡単にウェッブアプリケーションを作成することができるようになりました。ウェッブアプリケーションはEdgeやChromeといったブラウザで動作します。インストールしなくて良いというのも良いですね。

このページでは、MIDIをつなぐ、つなぎ方を紹介するとともに、Web APIを使って製作したMIDI, オーディオのアプリケーションを紹介したいと思います。

2020年9月19日 MikataHara