MIDI音符データをJavascriptで加工する
JFilterはSONARやCubaseなどで使用できるmfxプラグインです。
ちょっと変わったプラグインでして、JFilter自体に固有の機能があるわけではなく、Javascript★1 で書いたプログラムを読み込ませると、プログラムに従ってMIDI音符データを加工します。
プログラム次第でどんなことでもできます。
音の高さや大きさ・長さを変更することはもちろん、要らない音を削除したり、まったく新しい音を追加することもできます。大がかりなプログラムを用意すれば自動作曲みたいなこともできるはずですが、それより(手作業でもできるけど量が多くてたいへん)といった面倒なルーチンワークをさっと片付けてくれるような、ちょっとした便利プログラムをたくさん用意すると重宝します。
» JFilterの開発サイト
バグパイプの演奏スタイルをプログラムする
民族音楽風の作品を製作したことがある人なら、バグパイプの音源を使ったことがあるかもしれません。バグパイプはあれは、もちろん音源がリアルだというのも重要なんですが、それ以上に演奏スタイルが重要です。
バグパイプの演奏ではグレースノートという装飾音を多用します。
つかバグパイプの演奏においてグレースノートは必須★2 であって、グレースノートなしにまともにバグパイプを演奏することはできません。ですから、グレースノートを伴わないメロディだけのMIDI音符データでバグパイプ音源を鳴らしても、バグパイプに聞こえません。
プログラムもまた自分の作品、自己表現
「私だったらバグパイプをこう演奏する」というところをプログラムに書いてMIDI音符データを加工してみました。
画像の上のトラックは元のMIDI音符データで、下のトラックはプログラムで加工したMIDI音符データです。試聴サンプルはこの加工済みのMIDI音符データでバグパイプ音源を鳴らしたものです。キュルッという非常に短い音がそこかしこに挿入されています。これがグレースノートです。
グレースノートは曲全体で何カ所使われているのでしょうか。
これを一つずつ手で書き加えたとしたら、どれほど大変なことか。確かにJavascriptのプログラムを書くことは、それなりに骨の折れる作業です。私はこのプログラムを二日かかって書きましたが。プログラムが完成してしまえばこっちのもの。ボタン一発でばかすかとバグパイプ用のMIDI音符データを量産できます。
「私だったらバグパイプをこう演奏する」というのを、プログラムでほぼ表現できたと思ってます。だからこのプログラムは私の作品であり、自己表現・アートです。そしてこのプログラムで加工したMIDI音符データは、それもやはり私の演奏そのものなのです。
» JFilterの開発サイト
★1 Javascript
プログラミング言語の一つ。もともとはウェブサイトを作るための言語で、例えば通販ショップでカートボタンを押したときの一連の動作をプログラミングするのに使われていたりする。利用者人口の多い非常に普及したプログラミング言語なわけで、JFilterがJavascriptを採用したのもそれ故でしょう。
★2 バグパイプの演奏においてグレースノートは必須
バグパイプはその仕組み上、普通の笛のように音を素早く区切ることができません。一旦鳴りだしたら曲の終わりまで鳴りっぱなしです。なので同じ音が続くときはグレースノートを挿入して音を区切ります。また装飾音もグレースノートで表現します。
楽器があればもっと楽しい毎日
» 変わった楽器、珍しい楽器の販売は世界楽器てみる屋