Bitwig StudioのNote Gridでジェネラティブなパッチを制作|解説:Keijiro Takahashi

Bitwig StudioのNote Gridでジェネラティブなパッチを制作|解説:Keijiro Takahashi

 こんにちは。私はBITWIG Bitwig StudioのGridシステムを使ってさまざまなジェネラティブ・ミュージック作品を制作していますが、この連載ではそのノウハウの一部を皆さんに紹介していきます。読み終える頃にはGridシステムを使って自律動作するシーケンス・ジェネレーターを作れるようになっているはずです。それでは、いざGridの世界へ!

Diceモジュールでランダムなピッチ再生を実現

 早速ですが、適当なトラックにNote Gridデバイスを追加し、エディター画面を開いてみてください。すると次の画像のような初期状態のパッチが表示されるはずです。

赤枠がNote Gridデバイスで、その上にあるエリアがエディター画面。ここには初期状態のパッチが表示されており、入力(左)と出力(右)のモジュールがストレートに接続されている。入力モジュール(白枠)は使用しないので削除しよう。また出力側には8つのポートがあるが、下4つは今回使用しないので無視してOK

赤枠がNote Gridデバイスで、その上にあるエリアがエディター画面。ここには初期状態のパッチが表示されており、入力(左)と出力(右)のモジュールがストレートに接続されている。入力モジュール(白枠)は使用しないので削除しよう。また出力側には8つのポートがあるが、下4つは今回使用しないので無視してOK

 ここにはノート信号の入力と出力に対応するモジュールだけが配置されています。普通、Note Gridはアルペジエイターのように入力されたノートを加工して出力するという使い方をするため、信号の入力と出力が接続された形になっています。この間にいろいろなモジュールを挟み込んで加工してくださいね、ということですね。ただし我々は、入力が無くても自律的に出力を行うデバイスを作ろうとしています。なので、まずは潔く入力モジュールを削除してしまいましょう!

 ここからは残された出力モジュールに対してパッチングを行っていきます。出力モジュールには4つのポートがあり、上からゲート(ノート・オン/オフ)、ピッチ、ベロシティ、チャンネルに対応しています。まずは最もシンプルなパッチとして、単純に4分音符でノートを鳴らす仕組みを作ってみましょう。モジュールパレットからDataカテゴリーを選択して、その中にあるTriggersをドラッグ&ドロップで配置します。そして、出力モジュールのゲート・ポートに接続してください。

モジュールパレット(赤枠)のDataカテゴリー(黄枠)からTriggersモジュール(緑枠)をドラッグ&ドロップで配置しゲート・ポートに接続

モジュールパレット(赤枠)のDataカテゴリー(黄枠)からTriggersモジュール(緑枠)をドラッグ&ドロップで配置しゲート・ポートに接続

 この段階ではまだ何も起こりません。このデバイスを自律的に駆動させるためのオプションを設定する必要があります。グリッドの背景をクリックすると、インスペクターパネルにオプションが表示されます。この中のVoices(ボイス)を“0(Mono)”に変更するとデバイスが自律動作を始めます。音源をトラックに追加すれば音が鳴りはじめるはずです。

画面左のインスペクターパネルに表示されるNote Gridのオプション。Voices(赤枠)は“0”に設定することで自律して動作するようになる(“Mono”と表示されている欄はデフォルトで“12”と表示されており、ここに0を入力するとMono表示になる)。またFree-run when stopped(黄枠)のチェックを外すと、再生を停止しているときは動作しなくなり、再生ボタンを押したときだけ動作するようになる

画面左のインスペクターパネルに表示されるNote Gridのオプション。Voices(赤枠)は“0”に設定することで自律して動作するようになる(“Mono”と表示されている欄はデフォルトで“12”と表示されており、ここに0を入力するとMono表示になる)。またFree-run when stopped(黄枠)のチェックを外すと、再生を停止しているときは動作しなくなり、再生ボタンを押したときだけ動作するようになる

 この状態から作業を続けることもできますが、個人的にはデバイスが常に動きっぱなしになるのが気になります。先ほどのオプションの中から“Free-run when stopped”をオフにすると、プレイ停止中はデバイスも止まるようになります。もう一つ、停止するタイミングによっては音が鳴りっぱなしになってしまうのも気になります(ノート・オフが送られる前に停止するとそうなってしまいます)。これはTriggersモジュールのオプションにある“Mute when stopped”をオンにすることで対処できます。

Triggersモジュールを選択するとインスペクターパネルにオプションの設定が表示される。ここでMute when stoppedにチェックを入れると再生を停止している間、Triggersも動作が止まる

Triggersモジュールを選択するとインスペクターパネルにオプションの設定が表示される。ここでMute when stoppedにチェックを入れると再生を停止している間、Triggersも動作が止まる

 とりあえず音は鳴るようになりましたが、出力モジュールのピッチがC3で固定されているため、ずっと“ド”が鳴り続けます。次はこれをランダムに変化させてみましょう。

 RandomカテゴリーからDiceモジュールを配置し、出力モジュールのピッチに接続します。そしてこのDiceの入力ポートにTriggersを接続します。プレイすると完全にランダムなピッチで音が鳴るはずです。

Triggersモジュールと出力モジュールの間にDiceモジュールを接続すると、ランダムなピッチの音が鳴る

Triggersモジュールと出力モジュールの間にDiceモジュールを接続すると、ランダムなピッチの音が鳴る

 Diceは入力されたトリガーに合わせて乱数を生成するモジュールです。ここではノート・オンをトリガーとして全くランダムなピッチを生成しているわけですね。とりあえずピッチはランダムになりましたが、音階が考慮されていないので気持ち悪いですし、音の高低も激しすぎて扱いづらいです。ここから、このピッチの範囲を狭めつつ、特定の音階に乗せるという加工を行っていきます。PitchカテゴリーからPitch Scalerモジュールを選び、Diceとピッチ出力の間に挿入します。これは入力された数値信号を特定の音域へ変換するというモジュールです。デフォルトでは C3〜C4 に設定されていますので、これで1オクターブの範囲内でランダムにピッチが変化するようになります。

 次にPitch Quantizeモジュールを選び、Pitch Scalerの直後に挿入します。これは中途半端なピッチを補正して特定の音階に乗せるというモジュールです。ここでは分かりやすくペンタトニック・スケールを設定してみましょう。

 最後にTriggersのN値を“16”に変更してランダム・アルペジエイター的な動作にしてみました。

Diceモジュールの後に、音域を限定するPitch Scalerモジュールを接続。デフォルトではC3〜C4に設定されているが、上の画面ではC3〜C5の2オクターブに変更している。その後に特定のピッチを設定できるPitch Quantizeモジュールを接続。上の画面ではペンタトニック・スケールを指定している

Diceモジュールの後に、音域を限定するPitch Scalerモジュールを接続。デフォルトではC3〜C4に設定されているが、上の画面ではC3〜C5の2オクターブに変更している。その後に特定のピッチを設定できるPitch Quantizeモジュールを接続。上の画面ではペンタトニック・スケールを指定している

タイミングはChanceモジュール 長さはGate Lengthモジュールで制御

 音程の次はリズムに挑戦します。今はTriggersが正確に16分音符を刻んでいて単調なので、まずはこれにランダム性を加えましょう。Triggerの直後にRandomカテゴリーのChanceモジュールを追加します。

Triggersモジュールの後にChanceモジュールを接続し、Triggersの出力を確率的にフィルタリング。音が鳴る確率を変更するには赤枠部分のパーセンテージを調節する

Triggersモジュールの後にChanceモジュールを接続し、Triggersの出力を確率的にフィルタリング。音が鳴る確率を変更するには赤枠部分のパーセンテージを調節する

 これは入力されたトリガーを一定の確率で通すというものです。デフォルト状態では50%に設定されていて、これは半分の確率で音が鳴ったり鳴らなかったりという動作になります。いい感じにランダムなリズム感が生まれるよう値を調節してみてください。

 さらに、ノートの長さをランダムに変化させてみましょう。Triggersはゲート信号を等間隔にオン/オフしますので、32分音符と32分休符が交互に配置されたような発音になっています。このゲートの長さを変化させるには、LogicカテゴリーにあるGate Lengthモジュールが使えます。これをノート出力の直前に挿入しましょう。ミリ秒(ms)での設定になるのでちょっとやりづらいかもしれませんが、値を変えるとノートの長さが変化するのが分かると思います。

Chanceモジュールと出力モジュールのノートの間にGate Lengthモジュールを接続。赤枠の値を変えると音の長さが変化することがわかるだろう

Chanceモジュールと出力モジュールのノートの間にGate Lengthモジュールを接続。赤枠の値を変えると音の長さが変化することがわかるだろう

 このパラメーターをランダムに変化させるにはどうしたらよいでしょう? このモジュールのように入力ポートが用意されていないパラメーターでも、I/OカテゴリーのModulator Outモジュールを使うことで操作できます。ひとまず次の画像のようにDice→Modulator Outとつなげてください。

Chanceモジュールの後にDiceモジュールとModulator Outモジュールを接続する

Chanceモジュールの後にDiceモジュールとModulator Outモジュールを接続する

 このModulator OutはBitwig Studioのモジュレーター機能を使ったことのある人ならなじみ深いものかもしれません。ある信号に連動して任意のパラメーターを変化させるというものです。モジュール中央の矢印をクリックするとモジュレーション量を設定するモードに入りますので、その状態のままGate Lengthのミリ秒の値をドラッグして適当に値を引き上げてください。そして矢印部分を再度クリックして設定モードを終わります。これで、このモジュールに入力された値に連動してGate Lengthの値がモジュレーションされるようになりました。

Modulator Out中央に見える矢印(赤枠)をクリックしてから、Gate Lengthのミリ秒の値(黄枠)をドラッグして適当な値に引き上げる。その後、再度、Modulator Outも矢印をクリックすると、音の長さがランダマイズされる

Modulator Out中央に見える矢印(赤枠)をクリックしてから、Gate Lengthのミリ秒の値(黄枠)をドラッグして適当な値に引き上げる。その後、再度、Modulator Outも矢印をクリックすると、音の長さがランダマイズされる

 いかがでしたでしょうか? 次回はさらに凝ったシーケンスを生成できるようにしてみたいと思います。お楽しみに!

 

Keijiro Takahashi

【Profile】コンピュータ・グラフィクスのエンジニアリングを専門としながら、音楽制作の知識と経験を活かしオーディオ・ビジュアルの分野で横断的な活動を展開しているテクニカル・アーティスト。ゲーム・エンジンUnityを使用したVJシステムの開発を経て、TEENAGE ENGINEERINGのOP-Zではビジュアル制御システムの開発協力を行なった。Bitwig StudioコミュニティではGridシステムを使用したジェネラティブ・ミュージックの模索が注目を集めている。

【Recent work】

『G.M.C.1』
Keijiro Takahashi

 

BITWIG Bitwig Studio

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以上のディスク容量(コンテンツをすべてインストールする場合)、インターネット環境(付属サウンド・コンテンツのダウンロードに必要)

製品情報

関連記事