2016年6月8日水曜日

矩形波 - LFPulse

矩形波を出力するには LFPulse を用います。
引数は大体他のUGenと同じく、

・周波数
・位相
・矩形の幅
・掛ける値
・足す値

です。


波形を plot で確認してみると次のようになります。

実行例:
{LFPulse.ar(440, 0, 0.5)}.plot




+1 と -1 の値のみとります。

実際に実行してみると次のような音色になります。

実行例:
{
  var freq = XLine.kr(440, 220, 10);
  LFPulse.ar([freq, freq], 0, 0.5)
}.play

※ 440Hz から 220Hz まで 10秒かけてピッチを変えてます。


ここで、周波数値を見てみると次のような周波数になります。



LFPulse.ar(440)


奇数倍音のみ含む周波数が生成されています。
同じ奇数倍音のみ含む三角波は次のようになります。


LFTri.ar(440)

波形のピークの値の減り方が矩形波と三角波では異なることがわかります。
(三角波の方が値の減り方が大きい)


音源で比較すると次のような具合です。

実行例:
{
  var freq = XLine.kr(440, 220, 10);
  [LFPulse.ar(freq),
    LFTri.ar(freq)]
}.play




ちなみに、のこぎり波(LFSaw)と比較すると次のようになります。

実行例:
{
  var freq = XLine.kr(440, 220, 10);
  [LFPulse.ar(freq),
    LFSaw.ar(freq)]
}.play





矩形の幅


矩形波の引数にあった矩形の幅ですが、
これを調整することで音色を変えていくことができます。

実行例:
{LFPulse.ar(440, 0, width)}.plot


波形 (width = 0.1)
※ 1の割合が極端に少ない



波形(width = 0.5)
※ 1の値と0.5 の値が同じ割合


波形( width = 0.9 )
※ 1の割合が極端に多い


それぞれの音色の違いは、Line関数を用いて、
下のコードのように実行すると分かりやすいと思います。

{
  var width = Line.kr(0.0, 1.0, 5);
  LFPulse.ar(440, 0, width)
}.play

0 件のコメント:

コメントを投稿