OpenMusic公式チュートリアル解説:4 - 音程間隔の反転(転置)(II)

■今回のテーマ

算術系ファンクションを使用し、ノートを反転する。

■使用するファンクション

CHORD、x->dx、dx->x、om*.

■解説

 このパッチは、C3から始まるCHORDボックス(A)における音程間隔を反転して返すという、tutorial2の別パターンとなっている。

画像1

「音程間隔を反転して返す」ということはつまり、(A)の差分値に -1 を乗算して逆転後、それを利用してピッチリストを組み直せば良いわけだ。

画像2

 初出の "x->dx" も解説しておこう。

X->DX [GENERIC-FUNCTION]
リスト要素間の差分リストを返す。

Ex. (x->dx '(0 1000 1200 2000 5000)) => (1000 200 800 3000)

A: CHORD ボックス(A)のエディタを開く。"order"モードで目的の音符(ここではC3)から、操作対象となる音程間隔を確認しよう。"order"モードはリストの順番で音符が並ぶ。

B: "x->dx" ボックスは、リスト内要素の一連の間隔を返します。ここでは、CHORD ボックス(A)内の2音の間隔を返します。

C: 音程間隔を反転する為、om* を使用して -1 で x->dx の出力を乗算している。

D: dx->x ボックスは、与えられた値(最初の引数)に、音程間隔(第二引数)のリストを段階的に加算したリストを返す。

E: "first" ファンクション(E)を使用し、CHORDボックス内の音程間隔リスト(A)の最初のノートを返している。"dx->x" の二番目の引数は、 "om*" による反転処理済みの間隔(C)となっている。

F: CHORDボックス(F)を評価し、その結果を確認しよう。エディタで見たほうがわかりやすい。

いいなと思ったら応援しよう!