波形に変化を与える(ウェーブシェーピング12)
前回「波形に変化を与える(ウェーブシェーピング11)」では、曲線の膨らみ具合を変える2つの数式「y=a*sin(x/b)」と「a=5/sin(5/b)」を、SynthEditの幾つかのモジュールに分けて組んでみましたが(モジュール図)、
- 数式「y=a*sin(x/b)」と「a=5/sin(5/b)」を分けて演算する -
|
- 上の「Waveshaper2-2」では、sin(x/b)の演算をしています。(x/b)の演算はこの中ではできないので、
直前の「Divide(割り算)」モジュールで算出しています。
- 下の「Waveshaper2-1」では、5/sin(5/b)の演算をしています。
- 上下の「Waveshaper2」の出力を「Multiply(掛け算)」モジュールを使って、
数式「y=a*sin(x/b)」「a=5/sin(5/b)」の演算を実現しています。
- オシレータでは、サイン波440Hzを出力しています。
- Slider(b)モジュールは、可変値を出力します。この値が変わると曲線の膨らみ具合を変えられます。
- この図では、「5*sin(x/PI)」(PI=3.14)でウェーブシェーピングした時と同じ膨らみ具合になっています。
|
これでは、曲線の膨らみを減らす事しか出来ないといった感じでした^^;。しかし、これは図の中にある「Slider(b)」モジュールの値を3.14より大きくしていった時なんですが(10にした時)、
- 記事冒頭の図、SynthEditモジュールで「Slider(b)」の値を10にした時の波形 -
|
- Slider(b)を10.00にした時、右端の「Scope2」にあるように、波形の山と谷が小さくなりました。
- 440Hzのサイン波をウェーブシェーピングしています。
|
3.14より小さくしていくと、膨らみが出ますが、1つの山、1つの谷だった波形が2つの山、2つの谷といった感じになります(2にした時)。
- 記事冒頭の図、SynthEditモジュールで「Slider(b)」の値を2にした時の波形 -
|
- Slider(b)を2.00にした時、右端の「Scope2」にあるように、山が2つ、谷が2つの波形に変化しました。
- 440Hzのサイン波をウェーブシェーピングしています。
|
でも、後者のように山が2つ谷が2つ出来るような膨らみ方をしても、あまり新たな倍音を発生しなかったりします(サイン波以外の入力波形だと、また違った振る舞いになると思いますけど^^;)。因みに、この時の波形をクリップ・モジュールに通して、信号値を「Scope2」上の-5、5の範囲に制限すると高次の奇数倍音を多く発生したりします。その音量は均一的じゃなかったりしますが^^;
ところで、Slider(b)で数式「a*sin(x/b)」「a=5/sin(5/b)」を変えるということは、ウェーブシェーピングする時の数式を変えているということなんですが、先の図では、どんな数式で、どんな曲線でウェーブシェーピングしているか分らなかったりしますね^^;。これは、演算を幾つかのモジュールに分散して行っているので、しょうがないんですね(「y=x」の直線を入力して「Scope2」に表示すると、数式の曲線が出てくるかもですけど^^;)。ということで、Slider(b)を2、2.5、3、PI(3.14)、4、4.5、6、10とした時の数式と、曲線そして、サイン波をそれらでウェーブシェーピングした時の波形を図にしてみました。
- 数式「y=a*sin(x/b)」と「a=5/sin(5/b)」でbを変えた時の「Waveshaper2」波形とサイン波を通した時の波形 -
|
- bを2、2.5、3、PI(3.14)、4、4.5、6、10としています。左上から横方向に順に代入しています。
- 上が「Waveshaper2」に数式を書き入れた時の曲線で下がサイン波をウェーブシェーピングした時の波形です。
その組が2段になっています。
- 例えば、b=2の時は、数式「y=a*sin(x/b)」と「a=5/sin(5/b)」に代入して「y=8.36*sin(x/2)」となるので、
この「8.36*sin(x/2)」を「Waveshaper2」に書き入れます。
- 440Hzのサイン波をウェーブシェーピングしています。
|
左上から横方向に、先のbの値を順に数式に代入し「Waveshaper2」に書き込んだ時のウェーブシェーピングの曲線で、各「Waveshaper2」の下がウェーブシェーピング後のサイン波波形です。bの値がPI(3.14)より小さい値の時には、曲線は膨らんでいるんですが、波形が5以上または、-5以下の値になってしまっています。bの値をPIより大きくすると膨らみが小さくなって、6以上では「y=x」よりも小さくなってしまってます。
Copyright (C) FlawTips All Rights Reserved.
|