こんにちは。私はBITWIG Bitwig StudioのGridシステムを使ってさまざまなジェネラティブ・ミュージック作品を制作していますが、この連載ではそのノウハウの一部を皆さんに紹介していきます。読み終える頃にはGridシステムを使って自律動作するシーケンス・ジェネレーターを作れるようになっているはずです。それでは、いざGridの世界へ!
Diceモジュールでランダムなピッチ再生を実現
早速ですが、適当なトラックにNote Gridデバイスを追加し、エディター画面を開いてみてください。すると次の画像のような初期状態のパッチが表示されるはずです。
ここにはノート信号の入力と出力に対応するモジュールだけが配置されています。普通、Note Gridはアルペジエイターのように入力されたノートを加工して出力するという使い方をするため、信号の入力と出力が接続された形になっています。この間にいろいろなモジュールを挟み込んで加工してくださいね、ということですね。ただし我々は、入力が無くても自律的に出力を行うデバイスを作ろうとしています。なので、まずは潔く入力モジュールを削除してしまいましょう!
ここからは残された出力モジュールに対してパッチングを行っていきます。出力モジュールには4つのポートがあり、上からゲート(ノート・オン/オフ)、ピッチ、ベロシティ、チャンネルに対応しています。まずは最もシンプルなパッチとして、単純に4分音符でノートを鳴らす仕組みを作ってみましょう。モジュールパレットからDataカテゴリーを選択して、その中にあるTriggersをドラッグ&ドロップで配置します。そして、出力モジュールのゲート・ポートに接続してください。
この段階ではまだ何も起こりません。このデバイスを自律的に駆動させるためのオプションを設定する必要があります。グリッドの背景をクリックすると、インスペクターパネルにオプションが表示されます。この中のVoices(ボイス)を“0(Mono)”に変更するとデバイスが自律動作を始めます。音源をトラックに追加すれば音が鳴りはじめるはずです。
この状態から作業を続けることもできますが、個人的にはデバイスが常に動きっぱなしになるのが気になります。先ほどのオプションの中から“Free-run when stopped”をオフにすると、プレイ停止中はデバイスも止まるようになります。もう一つ、停止するタイミングによっては音が鳴りっぱなしになってしまうのも気になります(ノート・オフが送られる前に停止するとそうなってしまいます)。これはTriggersモジュールのオプションにある“Mute when stopped”をオンにすることで対処できます。
とりあえず音は鳴るようになりましたが、出力モジュールのピッチがC3で固定されているため、ずっと“ド”が鳴り続けます。次はこれをランダムに変化させてみましょう。
RandomカテゴリーからDiceモジュールを配置し、出力モジュールのピッチに接続します。そしてこのDiceの入力ポートにTriggersを接続します。プレイすると完全にランダムなピッチで音が鳴るはずです。
Diceは入力されたトリガーに合わせて乱数を生成するモジュールです。ここではノート・オンをトリガーとして全くランダムなピッチを生成しているわけですね。とりあえずピッチはランダムになりましたが、音階が考慮されていないので気持ち悪いですし、音の高低も激しすぎて扱いづらいです。ここから、このピッチの範囲を狭めつつ、特定の音階に乗せるという加工を行っていきます。PitchカテゴリーからPitch Scalerモジュールを選び、Diceとピッチ出力の間に挿入します。これは入力された数値信号を特定の音域へ変換するというモジュールです。デフォルトでは C3〜C4 に設定されていますので、これで1オクターブの範囲内でランダムにピッチが変化するようになります。
次にPitch Quantizeモジュールを選び、Pitch Scalerの直後に挿入します。これは中途半端なピッチを補正して特定の音階に乗せるというモジュールです。ここでは分かりやすくペンタトニック・スケールを設定してみましょう。
最後にTriggersのN値を“16”に変更してランダム・アルペジエイター的な動作にしてみました。
タイミングはChanceモジュール 長さはGate Lengthモジュールで制御
音程の次はリズムに挑戦します。今はTriggersが正確に16分音符を刻んでいて単調なので、まずはこれにランダム性を加えましょう。Triggerの直後にRandomカテゴリーのChanceモジュールを追加します。
これは入力されたトリガーを一定の確率で通すというものです。デフォルト状態では50%に設定されていて、これは半分の確率で音が鳴ったり鳴らなかったりという動作になります。いい感じにランダムなリズム感が生まれるよう値を調節してみてください。
さらに、ノートの長さをランダムに変化させてみましょう。Triggersはゲート信号を等間隔にオン/オフしますので、32分音符と32分休符が交互に配置されたような発音になっています。このゲートの長さを変化させるには、LogicカテゴリーにあるGate Lengthモジュールが使えます。これをノート出力の直前に挿入しましょう。ミリ秒(ms)での設定になるのでちょっとやりづらいかもしれませんが、値を変えるとノートの長さが変化するのが分かると思います。
このパラメーターをランダムに変化させるにはどうしたらよいでしょう? このモジュールのように入力ポートが用意されていないパラメーターでも、I/OカテゴリーのModulator Outモジュールを使うことで操作できます。ひとまず次の画像のようにDice→Modulator Outとつなげてください。
このModulator OutはBitwig Studioのモジュレーター機能を使ったことのある人ならなじみ深いものかもしれません。ある信号に連動して任意のパラメーターを変化させるというものです。モジュール中央の矢印をクリックするとモジュレーション量を設定するモードに入りますので、その状態のままGate Lengthのミリ秒の値をドラッグして適当に値を引き上げてください。そして矢印部分を再度クリックして設定モードを終わります。これで、このモジュールに入力された値に連動してGate Lengthの値がモジュレーションされるようになりました。
いかがでしたでしょうか? 次回はさらに凝ったシーケンスを生成できるようにしてみたいと思います。お楽しみに!
Keijiro Takahashi
【Profile】コンピュータ・グラフィクスのエンジニアリングを専門としながら、音楽制作の知識と経験を活かしオーディオ・ビジュアルの分野で横断的な活動を展開しているテクニカル・アーティスト。ゲーム・エンジンUnityを使用したVJシステムの開発を経て、TEENAGE ENGINEERINGのOP-Zではビジュアル制御システムの開発協力を行なった。Bitwig StudioコミュニティではGridシステムを使用したジェネラティブ・ミュージックの模索が注目を集めている。
【Recent work】
『G.M.C.1』
Keijiro Takahashi
BITWIG Bitwig Studio
LINE UP
フル・バージョン/ダウンロード版:50,875円|クロスグレード版またはエデュケーション版:34,100円|12カ月アップグレード版:20,900円
REQUIREMENTS
▪Mac:macOS 10.14以降、macOS 12、INTEL CPU(64ビット)またはAPPLE Silicon CPU
▪Windows:Windows 7(64ビット)、Windows 8(64ビット)、Windows 10(64ビット)、Windows11、Dual-Core AMDまたはINTEL CPUもしくはより高速なCPU(SSE4.1対応)
▪Linux:Ubuntu 18.04以降、64ビットDual-Core CPUまたはBetter ×86 CPU(SSE4.1対応)
▪共通:1,280×768以上のディスプレイ、4GB以上のRAM、12GB以上のディスク容量(コンテンツをすべてインストールする場合)、インターネット環境(付属サウンド・コンテンツのダウンロードに必要)