OpenMusic公式チュートリアル解説:10B - MIDIの再生(2)
■今回のテーマ
pitchwheelを使って微分音を再生する
■使用するファンクション
pitchwheel、repeat-n、CHORD-SEQ
■解説
前回の続きでMIDI関連。CHORD-SEQを使い微分音を再生するシンプルなパッチである。
・まず "arithm-ser" を使用し、音の8分の1を表す25 midicentのステップで、0から200までの範囲のmidicent リストを作成する。
【midicent と 微分音】
- midicent 25 → 1/ 8 音
- midicent 50 → 1/ 4 音
- midicent 100 → 1/ 2 音
・arithm-ser によってに返されたC3からD3 までの1/8音のリスト (0 25 50 75 100 125 150 175 200) の各要素を "om+" を使用して6000 midicsに対し追加。すると、 "om+" は (6000 6025 6050 6075 6100 6125 6150 6175 6200)を返す事になる。
・微分音を表示するために、ポップアップメニューで希望の解像度を選択する(1/2 で半音、1/4 で四分音、1/8 で八分音)。
・公式には「ピッチベンドメッセージを送信する前に "CHORD-SEQ" を再生する場合、四分音および八分音で調律されていないすべてのノートはスキップされている、ということに気づくでしょう。」とあるのだが・・・全然普通に鳴ってますぜ。どういうことだこれは。
・OpenMusicは微分音を自動的に他のMIDIチャンネルにマッピングする。"CHORD-SEQ" のすべてのノートがチャンネル1(デフォルト値)でEVALされたとしても、OpenMusicは自動的にマッピングを行う:
- 1/8 音 → MIDI channel 2
- 1/4 音 → MIDI channel 3
- 3/8 音 → MIDI channel 4
なので。↓のような音色設定をしている場合、それぞれの微分音が異なる楽器で鳴ってしまう。
・「upper pitchwheel ファンクションを用いて、次のようにチャンネルごとにピッチベンド値を送信します。」:
- チャンネル1は0 :ピッチベンドなし
- チャンネル2は1024 :これは、1/8音の略である
- チャンネル3は2048 :これは、1/4音の略である
- チャンネル4は3072 :これは、3/8音の略である
と、公式にはあるけどねえ・・・。別にそんな事しなくてもうまくいったのだよ・・・。
あんまり確実なことが言えなかったので、この記事は無料なのである。