【Max】サイン波のカーブでパンニングする

記事をシェアする:

直線でパンニングするよりも、サイン波ではベル型の線になります。例えば左から右に動かす時、左チャンネルのボリュームは直線よりもしばらく音量を保ちます。そのため中央付近の定位で音がスカスカにならない印象があります。

パンニングとは

モノラル音源を水平方向に仮想的に動かすことです。ステレオスピーカーの音量をコントロールすることで、音が動いているような錯覚を作ります。もちろんステレオ音源でも、ものによっては上記の表現が可能です。

作ってみる

サイン波のカーブを用いたステレオ・パンニングを作ってみましょう。

スライダーを用意する

[slider]オブジェクトを作ります。

インスペクタのValueから「Float Output」のチェックをオンにし、「Range」を「1.」にして、 0~1の範囲で浮動小数点出力するようにします。

サイン波の位相を確認

サイン波の位相の数値を確認してみましょう。[cycle~]の第2インレットにシグナルか浮動小数点の数値を入力すると、その位相のシグナルを出力します。

0.を送ると[scope~]には何も表示されませんが、[number~]には「1.」と表示されています。

スライダーの値を変えていくと、0.25あたりで1から0になりました。

スライダーの値が0.5に近づくと、0から-1に向かいます。

0.75に行くと、また-1から0に戻りました。

最後に1に向かうと、0から1へ戻りました。ここで1サイクルが終わりました。

サイン波と呼んでいますが、位相を確認すると厳密にはコサイン波でした(これらの曲線を「シヌソイド」というらしいです)。電子音楽の世界ではこの曲線による音を「サイン波」と呼ぶのが一般的なので今後もそうします。

それではこのサイン波の位相から

左のパンニングを作る

スライダーの上下を長辺にすると左右に動かすUIになります。左に振ると0、右に振ると1を出力するので、パンニングも左に振れば音が左へ、右に振れば音が右へ動くよう作っていきましょう。

[slider]は左から右へ操作すると0から1の出力を行います。それを[cycle~]の位相へ送り、最終的には[*~]で音量をコントロールします。

[slider]が0のとき[cycle~]から出力されて欲しい数値は1です。[slider]が1のときは[cycle~]が0になります。1→0となるような位相の範囲を先程の確認方法で見つけます。

1→0となるのは位相が0→0.25の場合です。

[zmap 0. 1. 0. 0.25]でマッピングしましょう。

[slider]を0→1で動かした時に、[cycle~]から1→0が出力されるようになりました。

右のパンニングを作る

右のパンニングも同様に作っていきます。

右のパンニングは[slider]が0→1に動いた時、[cycle~]からは0→1が出力される範囲を探します。

それは0.75→1の数値を送った場合でした。[zmap 0. 1. 0.75 1.]を[cycle~]の前に挟みます。

[slider]を操作し、問題なく動作しました。

最後に 作った左右の処理を合わせます。

完成

重複する[slider]や音源の[noise~]は共有し、テスト用の[scope~][number~]は削除。他は使いやすいように並べ替えました。

今回の処理ではモノラル音源を使用しましたが、ステレオ音源のパンニングも可能です。

記事をシェアする: