Topページ > 波形に変化を与える3
次は 偶数倍音列と奇数倍音列
|
波形に変化を与える(V字と台形^^;)
前回「波形に変化を与える(max、min)」はmin、maxの話でしたけど、偶関数で多くの倍音を発生させるにはという話で進んでいましたね^^;。絶対値を使った数式「y=abs(x)」が、それに該当したりするんですけど、ちょうどウェーブシェーピングのグラフ内に線を収めようとすると、ちょっと式変形して位置をずらさないといけなかったりしますね^^;。ということで「y=abs(x*2)-5」とすると、ちょうどグラフ内に納まったりします。これにサイン波440Hzを入れてみると、こんな感じに倍音を発生します。
- 絶対値を使った式「y=abs(x*2)-5」での波形変化と周波数分布 -
|
- 数式「y=abs(x*2)-5」(偶関数)でサイン波440Hzをウェーブシェーピングをすると高次に渡って偶数倍音が発生します。
- 基音は発生しなかったりします^^;
- 倍音の音量は、高次に行くに従って音量が直線的に減っています。
|
図はモジュール図と発生した倍音の周波数分布図となっています。2次関数などの一つ二つの倍音を発生する偶関数のウェーブシェーピングとは違って、高次に渡って偶数倍音を発生しています。また高次に向かって倍音の音量が直線的に小さくなってたりしますね^^;。因みに、この「y=abs(x*2)-5」の線をグラフ上で上下逆さまにした「y=-abs(x*2)+5」でサイン波440Hzをウェーブシェーピングしても、倍音の発生は同じものになります^^;(波形は上下反対になりますけども…)
ところで、前回「波形に変化を与える(max、min)」でminやmaxを使うと、グラフ上に台形的な線を描けましたが、y軸を中心に左右対称な線にすると、偶関数を使ったようなウェーブシェーピングになるかもしれないですね^^;。例えば「y=min(-abs(x*3)+10,5)」という数式をグラフ上に描くと台形的な線になるのですが、これでウェーブシェーピングをすると、こんな感じに倍音を発生します。
- 台形的な線になる式「y=min(-abs(x*3)+10,5)」を使った波形変化と周波数分布 -
|
- 台形的な線になる式「y=min(-abs(x*3)+10,5)」(偶関数)でサイン波440Hzをウェーブシェーピングを
すると高次に渡って偶数倍音が発生します。
- 基音は発生しなかったりします^^;
- 倍音の音量は、高次に行くに従って音量が波打った感じに減っています。
|
先ほどの絶対値を使った式でのウェーブシェーピングと同じく、基音の発生が無く、高次に渡って偶数倍音を発生していますね。でも、倍音の音量変化の方は、ちょっと異なっていて、波打った感じになってたりしますね。因みに、こちらも、グラフ上で上下逆さまにした線「y=max(abs(x*3)-10,-5)」でウェーブシェーピングをすると、倍音の発生は同じものになり、波形が上下逆さまになります。
ということなんですが、以前「5*sin(x/PI)」の式の曲線の膨らみ具合を大きくしていくと、発生する奇数倍音の数が高次側に次第に増えていくということで、式の係数を次第に変える方法を紹介しましたけども(参考「波形に変化を与える(ウェーブシェーピング8)」)、今回、紹介した偶関数でも、それを応用出来そうですね。
Copyright (C) FlawTips All Rights Reserved.
|
|
|