Device 32 ユークリッド・リズム・パターンを生み出すパッチ by 岡安啓幸

基礎的な機能ブロックをつなぎ合わせることで独自のソフトウェアを構築できるCYCLING '74 Max。現在ネット上では数え切れないほどのパッチがシェアされており、それらのプレーヤーとしても活用が可能です。ここでは最先端のプロフェッショナルが作成したクールなパッチを紹介。パッチのサウンドを試聴できるほかファイルをWebよりダウンロードして、新しい音楽の制作に役立ててください

Device 32 ユークリッド・リズム・パターンを生み出すパッチ by 岡安啓幸

▲プレゼンテーション・モード ▲プレゼンテーション・モード
▲パッチング・モード ▲パッチング・モード

ファイルをダウンロードする→EuclideanSequencer

簡単な処理でさまざまなリズムを作成

私がCYCLING'74 Maxと出会ったのは2012年ころでした。浪人中にもかかわらず勉強に身の入らなかった私ですが、Maxにはすっかり夢中になり、入試でもMaxを使用したパフォーマンスをしたほどです。あるとき、20世紀のアメリカの作曲家ハリー・パーチが1オクターブを43分割したスケールを考案していたことに触発されて、微分音スケールを演奏するためのパッチを作りました。[toggle]オブジェクトや[slider]オブジェクトを並べて考えたのですが、そのときにMaxがインターフェースの実験の場として非常に優れていることに気付きました。微分音スケールなど、打ち込みでは表現しづらいアプローチで演奏や作曲をしようとすると、市販のソフトウェアやハードウェアではまかなえない、もしくはひどく煩雑になる場合がありますが、Maxを用いれば自分にとって最適なインターフェースを容易に実装することができます。私がMaxを手放せない理由の一つです。

さて、今回紹介するのは「EuclideanRhythm」というリズムを生成できるパッチ。4trのMIDIシーケンサーがあり、パラメーターを調整するとリズム・パターンを生成可能です。それぞれのシーケンサーはMIDIチャンネル1〜4chに割り当てられています。パッチ上の“MIDI Out”からMIDIポートを選択して、DAWに立ち上げた音源やハードウェア音源などへMIDIが出力されるように設定しましょう。その後、“Start”のトグルをオンにするとシーケンスが始まります。リズム生成の核となるのは、コンピューター情報工学者のゴッドフリード・トゥーサンによって理論化されたユークリッド・リズムと呼ばれるアルゴリズムです。このユークリッド・リズムの考え方にアレンジを加えた機能を「EuclideanRhythm」に実装しました。4tr分を作成するために[bpathcer]オブジェクトを活用しています。

簡単にユークリッド・リズムについて説明しましょう。一周期のステップ数に対して、指定された拍数のビート(ここでは打つ拍のことを意味します)をできる限り均等に配置した後に、パターンの先頭を前後にずらす処理を加えます。この2つの処理だけで多くの伝統音楽で使われるリズム・パターンが表現できるという理論です。例えば、ステップ数が16でビートが4のとき、“1000100010001000”という4つ打ちが生成されます(1がビート、0が休符)。またステップ数が7、ビートが2の場合は“1001000”となり、ビートができる限り均等になるように配置されます。前述したようにリズム・パターンを前後にシフトし、最初の4つ打ちを後ろに1つずらせば、“0100010001000100”というリズムに変化。つまりステップ数、ビート数、シフトの3つのパラメーターだけでさまざまなリズムを生成できるということになります。パッチ上ではステップ数を“Length”、ビート数を“Beats”、シフトを“Rotate”という名前の[live.dial]オブジェクトにアサインしてコントロールできるようになっています。

遅延と確率でユークリッド・リズムをアレンジ

ユークリッド・リズムのステップ数、ビート数によるリズム生成は[js]オブジェクトを用いてJavaScriptで実装し、シフトは[zl.rot]オブジェクトのみで作成しました。ユークリッド・リズムのようなアルゴリズムは、JavaScriptなどのスクリプトを用いて実装すると可読性、再利用性が高まります。JavaScriptではなく、Max 8から導入された[gen]オブジェクトで実装するのも良いかもしれません。

生成したリズム・パターンは[live.step]オブジェクトに即座に反映し、音高はピアノロールで編集します。シーケンスはクロックを分周した速さで駆動。クロックは“BPM”で設定したテンポの16分音符が基準となり、分周比は“Divide”で設定可能です。Divideが1のときは16分音符ごとにシーケンスが進み、Divideが2のときは8分音符に、3のときは付点8分音符ごとにそれぞれシーケンスが進みます。

「EuclideanRhythm」では“Onset”と“Probability”の2つのパラメーターでユークリッド・リズムにアレンジを加えました。Onsetはビートの出力にわずかな遅延を加え、一直線にそろった機械的なリズムにグルーブ感を与えます。Probabilityはビートの出力確率です。デフォルトは100%ですが、ステップごとに0/25/50/75/100%の5段階を設定できます。ビートを50%の確率で出力する、もしくはあるステップのみ0%に設定してユークリッド・リズムで生成したパターンにかかわらず出力しないようにすることが可能です。Probabilityは[live.step]ノブとして表示されていませんが、command(Windowsの場合はCtrl)を押しているときのみピアノロール上のスライダーでコントロールできるようになります。演奏中に頻繁に触るパラメーターではないので、通常時は隠すための工夫です。

「EuclideanRhythm」の制作で大事にしたことは、パラメーターの数と分解能を限りなく少なくすることです。Divideは16段階、Probabilityは5段階でしか調整できませんが、最小限の分解能で最大限のバリエーション、パラメーターのなめらかな体感的変化を得られるように気を付けています。

岡安啓幸

AkiyukiOkayasu

【Profile】
音響作家/楽器デザイナー/プログラマー。自身の作品のみならず、さまざまなアーティスト作品にサウンド・プログラミングや楽器製作で参加。Shin Sasakubo & Akiyuki Okayasuとしてのアルバム『invisible flickers』をPROGRESSIVE FOrMより2016年にリリースした。
https://scrapbox.io/akiyukiokayasu/

max_logo

CYCLING '74 MaxはMI7 STOREでオーダー可能

問合せ:エムアイセブンジャパン
http://www.mi7.co.jp/