複数の歌手のコーラスが1人の歌手の声と異なって聞こえるのはなぜでしょうか?歌手のグループがどんなによく訓練されていても、全く同じように歌うわけではありません。申し分のないユニゾンでも、彼らすべてが厳密に同じピッチで歌ってはいません。そして、これらの僅かなピッチの違いによって生じるランダムな、予測できない位相による打ち消しが「コーラス効果」の原因であると考えられます。
すでに前の章で、僅かなピッチシフトがシグナルのディレイタイムの変化によってもたらされる理由について見てきました。このシグナルと、オリジナルの(ディレイされていない)シグナルをミキシングすると、2つのシグナル間に干渉が生じ、結果として「フランジャ」と呼ばれる連続的に変化するフィルタ効果になります。「コーラス」と呼ばれるほとんど予測できないような効果は、フランジャでサイン関数によってディレイタイムの変化を行っていた部分を、ランダムなディレイタイムの変化に置き換えることによって作ることができます。
noise~ オブジェクト(チュートリアル3で紹介しました)は、各サンプルが -1 〜 1の間からランダムに選ばれた値を持つシグナルを作り出し、その結果、各々の周波数帯でほぼ同等のエネルギーをもつ「ホワイトノイズ」を発生します。しかし、このホワイトノイズはディレイタイムのモジュレートに使用するにはふさわしくありません。その理由は、ランダムにディレイタイムを変更するにはあまりに速すぎるため(事実上サンプル毎に変更されてしまいます)、まるでノイズを加えたように聞こえてしまうからです。ここで実際に必要なのは、もっと緩やかに変化し、なおかつ予測ができないようなシグナルです。
rand~ オブジェクトは -1 〜 1の間のランダムな数を選びますが、これをサンプリング周波数よりもずっと少ない頻度で実行します。そして、新しいランダムな値を選ぶ頻度を指定することができます。rand~ は、これらのランダムに選ばれたサンプルの値とその次の値の間を線形に補間し、「予測不可能で、より連続的なシグナル」を作ります。
サンプル毎に選ばれたランダム値 少ない頻度で選ばれたランダム値
従って、rand~ のアウトプットは静的なノイズですが、そのスペクトルエネルギーは、rand~ が乱数値を選ぶ周波数より低い周波数領域に最も強く集中します。この「低周波数のノイズ」は、コーラス効果用としてディレイタイムをモジュレーションするために使用するのに適したシグナルです。
rand~ を用いた「予測できない変化」
この章のチュートリアルパッチは、前章のフランジャパッチと本質的に似ています。2つのシグナルネットワークの主な違いは、フランジャのための cycle~ オブジェクトが、コーラスのための rand~ オブジェクトに置き換えられていることです。このパッチの scope~ オブジェクトは、rand~ オブジェクトのモジュレーション効果を視覚化するために置かれています。
コーラス効果は、組み合わせる「僅かに異なったシグナル」の数を増やすことによって改良することができます。そのための1つの方法は(このパッチで行うように)、ディレイシグナルをランダムにディレイラインにフィードバックし、新しく入力されるシグナルと組み合わせることです。このようにして、tapout~ のアウトプットは、新しい「様々に変化するディレイ(そして様々に変化するピッチシフト)」処理をされたシグナルと、以前に(しかし違う値で)ディレイ、ピッチシフト処理をされたシグナルの組み合わせになります。
ディレイラインへのフィードバックを使った 「ボイス」"の数の増加
この2つのシグナル間のバランスは "Lfeedback" と "Rfeedback" のセッティングで決定され、さらに、この組み合わされたシグナルとディレイされていない(オリジナルの)シグナルとのバランスは "DryWetMix" の値によって決定されます。このパッチで最大限の「コーラス」を得るために、ディレイタイム(17ミリ秒と23ミリ秒)、モジュレーションレート(8Hz、125ミリ秒周期)を選びました。これらの値はすべて互いに素なので、互いに同期することがないからです。
技術的な詳細: tapout~ の異なるディレイタップの数を増やし、各々のディレイタイムに、異なったランダムなモジュレーションを適用することで、さらに豊かなコーラス効果を得ることができます。
コーラス効果はサウンドの複数のコピー(各々はディレイされ、僅かに異なるようにピッチシフトされます)と、オリジナルのディレイされないサウンドの組み合わせによって作られます。これは、ディレイタイムに、連続した、僅かな、そしてランダムなモジュレーションを施された、2つ以上の異なるディレイタップの組み合わせによって可能になります。rand~ オブジェクトは指定されたレート(周波数)で選んだランダム値(-1 〜 1の範囲)の間を線形に補間するシグナルを出力します。このシグナルは「コーラス」が必要とするモジュレーションのタイプに適しています。ディレイラインにディレイシグナルをフィードバックすることによって、コーラス効果の複雑さや豊かさを増すことができます。処理による効果を最大にすること、つまりシグナルネットワークのいろいろなパラメータに「乱暴」で極端な値を選ぶことで、面白い結果を得ることもできます。
rand~ | 帯域制限されたランダムシグナル |
tapout~ | ディレイラインからの出力 |