アシッドベース

エレクトロニック・ダンス・ミュージックの歴史を俯瞰する上で、ローランドTB-303の多大な影響を無視することは出来ないでしょう。それはアシッドベースサウンドの秘伝のタレであると言えます。古典的なTB-303のベースリフは、初期のシカゴハウスのシーンからPlastikman, SquarepusherやAphex Twinといったより最近の電子音楽のアーティストで聞くことができるでしょう。

興味深いことに、ローランドはTB-303をダンスミュージックで使うことを全く意図していませんでした。それは元々ギタリストの練習の補助として作られ、一緒にジャムセッションする際のベースラインを演奏するのにプログラムされるだろうと思われていました。しかし残念なことに、TB-303には多くの問題がありました。プログラムするのが少し厄介であったり、ベースの代わりとしてはそれ程良い音がしなかったこと、そして購入するのにかなり高かったことがあります。ローランドは利益の損失を削減するために、TB-303が10,000個売れた後で、製造を中止することにしました。そして、ギタリストの棚に数年置かれていた後に、中古ショップのウィンドウで見かけることになりました。これらの寂しく捨てられたTB-303は、ローランドが想像もしなかった方法でクレイジーなサウンドを作り出す新しい時代の実験的なアーティストによって発見されるのを待つことになったのです。そしてアシッドハウスは生まれたのです。

オリジナルのTB-303を入手するのはとても困難ですが、Sonic Piの力でRaspberry PiをTB-303にすることが出来るのです。よく見ていてください。Sonic Piを起動して、空のBufferに以下のコードを打ち込んで、Runを打ってください。

use_synth :tb303
play :e1

とても簡単なアシッドベースですね! これで遊んでみましょう…

ベースをスケルチさせる

最初に、音が面白くなるようにライブ・アルペジエーターを作ってみましょう。前回のチュートリアルで、リフが音符のリングで実現できるのを見ました。リングは、要素を次々と進めて行って(チックして)、末尾に達すると先頭に戻って繰り返します。それと同じことを実行するライブループを作ってみましょう。

use_synth :tb303
live_loop :squelch do
  n = (ring :e1, :e2, :e3).tick
  play n, release: 0.125, cutoff: 100, res: 0.8, wave: 0
  sleep 0.125
end

一行ごとに見て行きましょう。

  1. 最初の行では、use_synth関数でデフォルトのシンセをtb303に設定しています。
  2. 2行目では、:squelchという名前のライブループを作って、単純にループを繰り返しています。
  3. 3行目ではリフを作っています。1, 2, 3番目のオクターブのEからなる音符のリングを.tickで単純に進めて行っています。リフの現在の音符を示すのにnを定義しています。等号は、単に右の値を左の名前に割り当てることを意味しています。この値はループが繰り返される度に異なります。最初の繰り返しでは、n:e1に設定されています。2回目の繰り返しでは:e2になり、その次は:e3です。そして、その次には:e1に戻って、永遠に繰り返し循環しています。
  4. 4行目では、実際に:tb303シンセをトリガーしています。ここで、いくつか興味深いオプションを渡しています。release:, cutoff:, res:wave:です。これらについては、この後議論します。
  5. 5行目はsleepです。デフォルトBPMの60で、0.125秒毎または1秒間に8回ライブループを繰り返すよう指示しています。
  6. 6行目はライブループのendです。これは単にSonic Piにライブループの終わりの箇所を示しています。

このコードで何が起きているか思い描いている途中かもしれませんが、上記のコードをタイプしてRunボタンを叩いてみてください。:tb303が動作し始めるのを聞くことができるでしょう。では、ライブコーディングを始めましょう。

ライブループが動作している最中に、cutoff:オプションを110に変更して、Runボタンを再度叩いてみてください。音がざらついて押しつぶされたように聞こえると思います。次に120に変更してRunを叩いてみてください。更に130はどうでしょう。より大きなカットオフの値が、よりけたたましく激しい音にしているのを聞くことができるでしょう。最後に、休みたくなったら80にしてみましょう。これらを好きなだけ繰り返してみてください。心配しないで。私はずっとここに居ますよ…

他に遊んでみる価値のあるオプションは、res:でしょう。これはフィルタのレゾナンスのレベルを制御しています。高いレゾナンスはアシッドベースサウンドの特徴です。上のコードでres:0.8に設定されています。これを0.85に上げ、次に0.9に上げ、最後に0.95に上げてみましょう。110やそれより大きいカットオフで、より違いを聞き分けることができるかもしれません。最後に、狂ったサウンドを出すのに、思い切って0.999にしてみましょう。resが高いと、カットオフフィルタがより共振し、独特のサウンドを出し始めるのを聞くことができるでしょう。

最後に、音色に大きなインパクトを与えるのに、wave:オプションを1に変更してみてください。これはオシレーターの選択です。デフォルトは0で、ノコギリ波です。1はパルス波で、2は三角波です。

もちろん、リングの中の音符を変更したり、スケールやコードから音符を選択して、異なるリフを試してみるのも良いでしょう。はじめてのアシッドベースシンセを楽しんでください。

TB-303の分解

オリジナルのTB-303の設計は、実際のところとてもシンプルです。以下の略図から分かるように、4つのコアな部分しかありません。

TB-303 Design

最初はオシレーターです。これは音の原材料となるものです。この図では、矩形波を使っています。次にオシレーターのエンベロープがあります。これは矩形波の音量を時間に沿って制御しています。Sonic Piでは、attack:, decay:, sustain:, release:オプションで対応する音量レベルにアクセスできます。より詳細な情報は、チュートリアルの’2.4 エンベロープでのデュレーション’を参照してください。エンベロープされた矩形波は、ローパスフィルタに渡しています。これは、高い周波数をカットするとともに、レゾナンスエフェクトを追加します。ここからが面白くなるところです。このローパスフィルタのカットオフの値もまた、独自のエンベロープで制御されているのです! これは、2つのエンベロープを弄ることで、サウンドの音色を驚異的に変化できることを意味しているのです。次のコードを見てみましょう。

use_synth :tb303
with_fx :reverb, room: 1 do
  live_loop :space_scanner do
    play :e1, cutoff: 100, release: 7, attack: 1, cutoff_attack: 4, cutoff_release: 4
    sleep 8
  end
end

:tb303シンセでは、標準的なエンベロープオプションの1つ1つに対応して、cutoff_に同等のオプションがあります。したがって、カットオフのアタック時間を変更するのには、cutoff_attack:オプションを使うことができます。上のコードを空のBufferにコピーして実行してみてください。震えたクレイジーな音を聞くことができるでしょう。では遊んでみましょう。cutoff_attack:1に変更し、次に0.5に変更してみてください。さらに8を試してみましょう。

追加の雰囲気のために全てを:reverbエフェクトに渡しているのに気が付いたかもしれません。他のエフェクトもどう作用するか試してみてください!

まとめ

最後に、今回のチュートリアルのアイデアを使って制作したコードを紹介します。空のBufferにコピーして少しの間聞いてみてください。そしてあなた自身のコードになるようライブコーディングしてみてください。このコードでどんなクレイジーな音が作れたか見てみてください! では次回…

use_synth :tb303
use_debug false
 
with_fx :reverb, room: 0.8 do
  live_loop :space_scanner do
    with_fx :slicer, phase: 0.25, amp: 1.5 do
      co = (line 70, 130, steps: 8).tick
      play :e1, cutoff: co, release: 7, attack: 1, cutoff_attack: 4, cutoff_release: 4
      sleep 8
    end
  end
 
  live_loop :squelch do
    use_random_seed 3000
    16.times do
      n = (ring :e1, :e2, :e3).tick
      play n, release: 0.125, cutoff: rrand(70, 130), res: 0.9, wave: 1, amp: 0.8
      sleep 0.125
    end
  end
end