今回は前回ののこぎり波のデータを書き換えて、「方形波」「三角波」を描こうと思います。 前回根本のプログラムをすべて作ってしまっているので、今回は理論が主です。 面倒ですががんばっていきましょう^; **理論 さて、前回のこぎり波は2倍波以上のすべての波がまざってできている形だといいましたが、 今回紹介する「方形波」「三角波」も倍音の波がまざってできているものです。 しかし、のこぎり波ほど単純ではないのですw; まず「方形波」の式をまとめます。 &image(VST_math02.png) 上の式からわかるとおり、「方形波」は(2n - 1)倍波、つまり奇数倍の波だけを合成した形です。 もちろん音量も倍数に反比例しています。 これは考察なんですが、基準波に対して3倍波は凸(でこ)・凹(ぼこ)・凸(でこ)の形になっています。 なので波の端を押し上げるような形になっています。 &image(VST_.png) これが大きくなればなるほど繰り返されるので、ピーク値に平坦になるんだと思います。 &image(VST01.gif) まぁ計算すればわかってしまうのかもしれませんがw; 次はお待ちかね、「三角波」です。 &image(VST_math03.png) なんじゃこりゃ(°д°`;;) 今回も(2n - 1)、奇数が成分なのはわかりますが、それが自乗に反比例して音量が減速しています。 さらには波の符号をコロコロ変えています。 この符号は位相反転と云って、波の正負を逆転するものです。 &image(VST02.gif) 言葉で説明するのもややこしい音ですね… **方形波 先ほどもいったのですが今回は前回の回路を使います。 それも「sine」コンポーメントの中の「Int」の値だけを変えます。 &image() これをそれぞれ「1」「3」「5」「7」「9」「11」「13」「15」「17」「19」に書き換えます。 するとすぐに方形波が作れます。 完成するとこのような波形になるはずです。 &image() **三角波 上の方形波の回路を使って、音量をさらに小さく、かつ(-1)、つまり波の上下反転が発生できるように調整します。 **完成 以上これで方形波と三角波ができました。 もちろん簡単に作る方法はあるので、まとめます。 実は方形波はSynthMakerに用意されていないようなので、 最も単純にプログラムしてみました。 様は正の値を1に、負の値を-1にすれば良いので、プログラミングは簡単です。 このプログラミングの方法については今度説明します。 &image() 三角波は用意されているのでこれを使います。 &image() これで代表的なシンセサイザーのオシレーターの波がまとまりました。 ぶっちゃけると、これでもうシンセサイザーは作れます。 なので番外編をはさんで、その次回は簡単なシンセサイザーを作ろうかと思います。 まぁこの時点では波を単純に合成するだけのものになりますが、何事も基本は大事です。 次は番外編になります。 番外編では前回と今回にかけてやった波の加算合成の実験用のプログラムを配布&解説します。 プログラム内部についてはあんまり詳しくさらわない(ここでやるとややこしくなるのを混ぜてしまってますw;;)ので、 飛ばしたい方はどうぞ飛ばしてください。 SynthMakerを持っていない方はお待たせしました。 どうぞ合成して遊んでくださいw ではでは、また次回。 [[<< 前>SynthMaker奮闘日記~その3]] [[次 >>>SynthMaker奮闘日記~その5]] [[番外>>>SynthMaker奮闘日記~番外1]] ----