2014年3月3日月曜日

オシレータの作成

オシレータとは発振回路、つまり何らかの波を出力するものです。前回はosc~を紹介しましたが、
osc~は正弦波を出力するオシレータです。Pdには他にノコギリ波を出力するphasor~があります。

phasor~は入力された周波数で0から1を出力します。試してみると波形がノコギリのような形になっているのがわかると思います。












他に三角波,矩形波を紹介します。

三角波
Pdには三角波を出力するオブジェクトはないので以下のように作ってください
名前の如く三角の波形を出力します。
















 inlet~、outlet~はこの図のようにパッチを組み保存し、別のパッチをそれと同じ階層のフォルダに保存したときに,信号の入力と出力を持ったパッチを保存した名前で呼び出すことができます。

 exper~は便利なオブジェクトでif文などを書けます.信号を扱う場合は変数を$v1,$v2,$v3のように扱います.写真の例では変数を1つしか扱っていませんが,$v2,$v3のように増やすと新たにインレットが追加されます.$v1は第1インレットに対応し,$v2は第2インレットに対応します.
写真のif文の意味は第1インレットから入力された数値が1より小さいときはそのまま出力し,
そうでないときは入力された$v1に対して1*($v1 - 1 ) + 1という計算をしてかた出力します。
0~2を出力するノコギリ波の対して以上のような計算すると三角波ができあがります。

矩形波
矩形波は0か1つまり,四角形の波形を出力します.矩形波も三角波波同様Pdでは矩形波を出力するオブジェクトはありませんので以下のようにつくります。

















インレットから入力された値が1より小さいときは0を出力し1~2のときは1を出力します。

三角波、矩形波ともに作り方が強引な気がしますが、興味がある方は他にも作り方があるので
調べてみてください。

紹介オブジェクト
inret~,outret~,expr~

0 件のコメント:

コメントを投稿