Quartz Composer 用 MIDIプロセッサ・マクロ詰め合わせ
MIDI Processor Macro Set For Quartz Composer
File Download
(改良のため一時公開停止)
やっと・・やっとの事で・・後着優先の機構ができたので、他のマクロと合わせてセットにしたファイルを公開します。
先に作った高音優先の機構と共に、モノフォニックに関してはたいていの演奏表現に対応できると思いますが、一長一短(後述)があるので、その都度使い分けるしかなさそうです。
前にも書きましたが、理系の優秀な頭脳の人ならば、もっと洗練された構造を短時間で作ってしまえるでしょう。
が、私にはこれが精一杯です。
ここに辿り着くまでに、色んな方法を試しては諦め、また試しては諦めを繰り返し、やっとの事で出来ました。
" 沢山の入力の内、数値の大小に関わらず、最後に入った数値だけを出力し、キーオフするまで維持する "
たった、それだけの事なのですが、なぜこんなに大変だったのか・・。
おそらく、JavaScript を使えば数行で済むのでしょうね。
MIDI による Quartz Composer 制御を本気でやっている人は少ないですし、こんなモノを公開した所で、役立ててくれそうな人は、現在の所、片手に満たない数でしょう。
それでも彼らが、Quartz Composer を楽器で制御しようとした時、これらのマクロがあればかなり楽にプログラミングを進められると思います。
そして、この春からの 同志社女子大学 情報メディア学科 サウンドデザインAの授業では、これらを活用した様々な教材を投入しますし、Quartz Composer プログラミングの基本的な部分も解説する予定です。
以下、Quartz Composer 用「MIDIプロセッサ・マクロ詰め合わせ」の解説
(以前に公開したものも、所々に改良を加えてあります)
MIDI Note & Velocity (Last Note Priority)
(後着優先)
先のノートがオンになったままでも、次のノートが入ってくれば(その数値に関係なく)データが更新されるが、そのノートをオフにした時に先のノートがまだオンであっても、ノートナンバーは変化しない。
(片方の音を押さえたままでのトリル演奏は不可能)
MIDI Note & Velocity (High Note Priority)
(高音優先)
あるノートがオンになったまま次のノートが入ってきた場合、それがより高いノートであればデータが更新される。
またそのノートをオフにした時に先のノートがまだオンであれば、先のノートのデータに戻る。
(片方の音を押さえたままでのトリル演奏が可能)
MIDI NoteOn-Off In Order
(連続ノートオンの禁止)
上記2つ(後着優先、高音優先)のような動作を無視。
あるノートがオンになった後、一旦オフされるまでは、他のノートのデータを受け付けない。
MIDI Note to Freq Ratio
CからBまでの12音に於いて、Cを1とした場合の(純正律での)周波数倍率を出力する。
パラメータ Square (1 or 2) の値が
・1の場合は、各オクターブ内で常に1から1.875
・2の場合は、オクターブごとに2乗される(最高音 C7~B7 では 512~960 となる)
MIDI 120-Poly & Key Off Stop Timer
マクロを開くと、全てのMIDIノートのノートナンバー出力と、それに対応した Key Off Stop Timer の出力がある。
パラメータ Keyoff StopTimer Duration で、ノートをオフした後、何秒で To Enable から False = 0 が出力されるかを設定可能(初期値は2秒)
Note Monitor
出力される値の確認用
