Bitwig Studioのステップ・シーケンサーにランダム要素を組み込む|解説:Keijiro Takahashi

Bitwig Studioのステップ・シーケンサーにランダム要素を組み込む|解説:Keijiro Takahashi

 前回はほぼランダム要素だけで動くシーケンス・ジェネレーターを作りましたが、Note Gridではランダム要素を持たない固定的なシーケンスを組むこともできます。手で打ち込んだシーケンスとランダム要素をうまく組み合わせれば、自分の作風を出しつつも、そこに偶発性を取り込んでいくことができます。今回はそのような“固定シーケンスとランダム要素の組み合わせ”について模索してみましょう。

GatesとPitchesでステップ・シーケンサーに

 手始めに、ランダム要素のないシンプルなステップ・シーケンサーを組んでみましょう。前回組んだパッチから出力部分だけを残して削除します(あるいは前回と同じセットアップ作業を行ってください)。

 次にDataカテゴリーからGatesモジュールとPitchesモジュールを配置し、次の画像のように接続を行います。

モジュール・パレットのDataカテゴリーからGates(左側上段)とPitches(左側下段)を配置し、ゲート/ピッチ出力へ接続。なお、これらのモジュールは両方ともMute when stoppedオプションがあるので、これをオフにしておくと、再生停止時に音が鳴りっぱなしになることを防ぐことができるので作業しやすくなる(詳細は前回を参照)

モジュール・パレットのDataカテゴリーからGates(左側上段)とPitches(左側下段)を配置し、ゲート/ピッチ出力へ接続。なお、これらのモジュールは両方ともMute when stoppedオプションがあるので、これをオフにしておくと、再生停止時に音が鳴りっぱなしになることを防ぐことができるので作業しやすくなる(詳細は前回を参照)

 これらのモジュールの使い方はステップ・シーケンサーを使ったことのある方なら説明不要かもしれません。ピアノロールと似ていますが、ちょっと違うのは、ピッチとゲート(ノート・オン/オフ)の制御がそれぞれ独立しているという点です。

 Gatesには複数のモードがあります。デフォルトのGateモードは音の長さを打ち込むには便利ですが、今回は単純にトリガーを扱いたいので、Triggerモードに変更しましょう。これはオンになっているステップに到達したときにワンショット・トリガーを出力するという単純明快なモードです。これらのモジュールを使って適当なパターンを作ってみてください。ここではとりあえず上昇するアルペジオのようなパターンを打ち込んでみました。

Gatesモジュールの右下部分をクリックすると、モード選択のドロップダウン・メニューが表示される。今回はTriggerモードを使用する

Gatesモジュールの右下部分をクリックすると、モード選択のドロップダウン・メニューが表示される。今回はTriggerモードを使用する

 今のところ、このシーケンサーは正確なステップで動作していますが、この進行をランダム化し、“たまに足踏み停止する”という改造を施してみたいと思います。

 まず、GatesとPitches両方のモジュールの左上にある∅マークをクリックしてオフにします。

モジュールの左上にある∅マークは、このモジュールがデフォルト・フェーズで動作していることを表している。このマークをクリックすることでオン/オフを切り替えられる

モジュールの左上にある∅マークは、このモジュールがデフォルト・フェーズで動作していることを表している。このマークをクリックすることでオン/オフを切り替えられる

 すると、これらのモジュールの動作が止まるはずです。Bitwig StudioのGridシステムにおいて、この∅のマークはフェーズを意味しています。フェーズの概念を説明するのはなかなか難しいのですが、モジュラー・シンセなどでよく使われるクロック信号に似た概念です。クロックと異なるのは、クロックが一定間隔のパルスを使って表されるのに対して、フェーズは0〜1の間で連続的に変化する値によって表されるという点です。クロックを“カチカチと動く秒針”に例えるなら、フェーズは“滑らかに動くスウィープ式の秒針”をイメージすると分かりやすいかもしれません。

一般的なクロック信号(上)とフェーズ信号(下)の違い。クロックは一定間隔のパルスで進行を制御するのに対して、フェーズはスイープする連続的な波形で時間の進行を表す

一般的なクロック信号(上)とフェーズ信号(下)の違い。クロックは一定間隔のパルスで進行を制御するのに対して、フェーズはスイープする連続的な波形で時間の進行を表す

 Note Gridではデフォルトのフェーズ信号が各モジュールに与えられており、それに従って時間が進行しているのですが、先ほどのØを切ることによって、そのデフォルト信号を外すことができるのです。代わりに我々が独自に作ったフェーズ信号を与えるようにしましょう。

 次の画像のようにパッチングを行ってください。

Phaseカテゴリーから∅ Counter(赤枠)を配置し接続する。TriggersとChanceの使い方については前回を参照。

Phaseカテゴリーから∅ Counter(赤枠)を配置し接続する。TriggersとChanceの使い方については前回を参照。

 TriggersとChanceの各モジュールは前回も使用したので説明を省きますが、新たに登場したのがPhaseカテゴリーの∅ Counterモジュールです。これは入力されたトリガーに従ってフェーズ信号を生成します。この分母の部分に表示されている数値によって、トリガー1回あたりの進行量を設定できます(“8”なら8分音符、“16”なら16分音符という具合に)。

 このパッチが全体としてどういう挙動をするのか、頭から順に追いかけてみましょう。最初のTriggersは8分音符のタイミングでトリガーを出力します。このトリガーは次のChanceによってランダムに間引かれます。次の∅ Counterはフェーズ信号を生成しますが、これはトリガーが入力されるたびに8分音符だけ進みます。最後のステップ・シーケンサーは、このフェーズ信号によって進行します。結果的にこのパッチは“20%の確率で足踏みするようなランダム要素を持つステップ・シーケンサー”となります。

 これだけでも面白い挙動になりますが、このように時間的なランダム要素を持つシーケンサーは、2つ以上並べることでポリリズミックな複雑さが生まれ、より面白くなります。例えば次の画像のように2つ同じパッチを並べて別々のパターンを再生させると、明確なループ・ポイントを持たないエンドレスなシーケンスを楽しむことができます。

パッチを2つ並べた最終形。出力はI/OカテゴリーからNote Outを配置することで増やせる。また本文では省略したが、Dice(赤枠)、Modulator Out(黄枠)、Gate Length(緑枠)の各モジュールを組み合わせてノート長をランダマイズするテクニックも使っている

パッチを2つ並べた最終形。出力はI/OカテゴリーからNote Outを配置することで増やせる。また本文では省略したが、Dice(赤枠)、Modulator Out(黄枠)、Gate Length(緑枠)の各モジュールを組み合わせてノート長をランダマイズするテクニックも使っている

Probabilityでトリガー発生確率を設定

 このようなステップ・シーケンサーはリズム・セクションの構築にも便利です。ある程度決まったリズム・パターンを保ちつつも、そこにランダム要素を加えることで有機的な広がりを持たせることができるのです。

 例えば筆者がよく使うのは、次の画像のようなハイハット用のシーケンス・ジェネレーターです。

I/Oカテゴリーから∅(赤枠)を、Phaseカテゴリーから∅ Scaler(黄枠)を、DataカテゴリーからProbability(緑枠)とSteps(青枠)をそれぞれ配置している。ProbabilityとStepsについては左上部分の∅をクリックしてデフォルト・フェーズを無効化していることに注意

I/Oカテゴリーから∅(赤枠)を、Phaseカテゴリーから∅ Scaler(黄枠)を、DataカテゴリーからProbability(緑枠)とSteps(青枠)をそれぞれ配置している。ProbabilityとStepsについては左上部分の∅をクリックしてデフォルト・フェーズを無効化していることに注意

 ここで初めて出てくるモジュールが幾つかあるので解説しておきましょう。最初の∅はデフォルトのフェーズ信号を受け取るためのモジュールです。デフォルト・フェーズを加工する場合はこれを使います。その次の∅ Scalerは、入力されたフェーズ信号に倍速をかけるためのモジュールです。任意の係数で遅くしたり速くしたりできます。ここではRatioを4:1(4倍速)にしています。

 次につながっている2つのモジュールは上がProbability、下がStepsです。ProbabilityはGatesのようにトリガーを出力しますが、ステップごとにトリガー発生確率を設定することができます。さきほどの画像では16分音符(2ステップ)間隔でほぼ100%トリガーを出しつつ、たまに低い確率で32分音符が入るというパターンになっています。

 Stepsは設定された数値を各ステップで出力します。ステップごとのベロシティを設定する場合などに便利で、ここでもそのような使い方をしています。拍の頭で音を強くするような設定になっていますね。ただこれではベロシティの打ち込みパターンがバレてしまうので、最後にAttenuateモジュールでランダムな味付けをしています。Attenuateは入力された数値を絞ることのできるボリュームつまみのようなモジュールで、ここではDiceと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
Bitwig Studio:フル・バージョン/ダウンロード版: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以上のディスク容量(コンテンツをすべてインストールする場合)、インターネット環境(付属サウンド・コンテンツのダウンロードに必要)

製品情報

関連記事