Topページ > 波形に変化を与える2
次は 波形に変化を与える3
|
波形に変化を与える(ウェーブシェーピング11)
前回「波形に変化を与える(ウェーブシェーピング10)」では、入れ子的な(?)式や、スケールダウン・アップ、単なる掛け算・割り算等であっても、幾つかの「Waveshaper2」や、他の演算モジュールに分けて扱えるということでした。「Waveshaper2」に使う数式に入力値として2つ以上の変数がある場合、分けて考えるといいかもってことなんです。それで、数式「y=a*sin(x/b)」と「a=5/sin(5/b)」についてなんですが^^;、これも同じように、幾つかの「Waveshaper2」を使って分けて計算してやればよさそうですね^^;
最初に「a=5/sin(5/b)」の式を見ると「b」の値だけを入力として、sinと割り算の演算で「a」を算出するという感じなので、そのまま「Waveshaper2」で計算すればよさそうですね。「Waveshaper2」では、入力信号の変数を「x」とするので、モジュールに書き込む数式は「5/sin(5/x)」とすればいいですね^^;。これで「Waveshaper2」の出力は「a」の値になります(この「Waveshaper2」を以下「Waveshaper2-1」としますね^^;)。
次に「y=a*sin(x/b)」の式ですが、これは、入力値の変数が「a,b,x」となり、3つあるので、分けて考えた方がよさそうですね。まず、この式では「a」と「sin(x/b)」の掛け算なので分けられますね。また、sinの中の「x/b」も割り算になっているので、分けることが出来ますね。先に「sin(x/b)」の項を見ると「X=x/b」と置けば「sin(X)」となって「Waveshaper2」でsinの演算をすればいいだけですね(この「Waveshaper2」を以下「Waveshaper2-2」としますね^^;)。「X=x/b」の計算は単なる割り算なので「Waveshaper2-2」の前で演算します。そうすると「sin(X)」を使った「Waveshaper2-2」の出力は「sin(x/b)」の演算と同じことになるので、「y=a*sin(x/b)」では、「Waveshaper2-2」の出力に「a」を掛ければいいですね^^;。これは掛け算モジュールを使えば出来ます。因みに「a」は、先の「Waveshaper2-1」で算出されるので、その出力信号を使います。
ということで「a=5/sin(5/b)」の数式は「Waveshaper2-1」で「y=a*sin(x/b)」の数式は「Waveshaper2-2」と「Waveshaper2-1」の掛け算で算出できそうですね。これを実際、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)」を動かすと「Scope2」の曲線の膨らみ具合が変わります。勿論、以前書いたように膨らみが減る方向ですけど…^^;
Copyright (C) FlawTips All Rights Reserved.
|
|
|