見出し画像

15.ひとつの波形からバリエーションを作る(SuperCollider)


cubed


例えば220Hzのサイン波に

{SinOsc.ar(220!2)}.plot;


サイン波

cubedというメソッドを使うと

{SinOsc.ar(220!2).cubed}.plot;

下記のような波形になります。

サイン波にcubed

再生すると当然サイン波とは違う音がします。

{SinOsc.ar(220!2).cubed}.play;

cubedは「3乗せよ」と指示するメソッドです。

サイン波は0→1→0→-1→0を周期的に繰り返しますが、それを3乗するので・・・(0の3乗は0、1の3乗は1、-1の3乗は-1なので)0→1→0→-1→0となり最大値最小値は変わらない、だけど0から1に至るまでの数値が変わるのでグラフのカーブが少し変わってくるんですね。それで先ほどのような形になります。

3乗した結果に対してもう一度3乗せよ、というのもアリです。

{SinOsc.ar(220!2).cubed.cubed}.plot;
サイン波にcubedしてもう一度cubed

鳴らしてみると、先ほどよりも倍音が少し多くなっていることがわかります。

もちろんノコギリ波などサイン波以外の波形に対しても有効です。

{LFSaw.ar(220!2)}.plot;
ノコギリ波
{LFSaw.ar(220!2).cubed}.plot;
ノコギリ波にcubed

音は少しノイジーになるので、フィルターなどで加工したり、音色の頭だけに使うなど、アイデアを活かして使いたい音色です。


fold2



fold2というメソッドは、波形の頂点(?)を折り返します。

{FSinOsc.ar(220!2).fold2(0.7)}.plot;
サイン波にfold2

0.7の部分を変えてみると波形が変わりplayしたときの倍音も違ってきます。

fold2に加えてもう一度fold2するのもOK。また違う倍音が加わります。

{FSinOsc.ar(400).fold2(0.8).fold2(0.5)}.plot;
サイン波にfold2してもう一度fold2


fold2とcubedを組み合わせてもOKです。

{FSinOsc.ar(220!2).fold2(0.8).cubed}.plot;
サイン波にfold2してcubed


clip


clipはその名の通り音を歪ませます。

{SinOsc.ar(220!2).clip(-0.4, 0.4)}.plot;
サイン波にclip

clipの引数(パラメータ)で歪ませ具合を調整できます。
レエゾナンス付きローパスフィルターを通した音にこのclipを使うと気持ちいいです。


abs


absは絶対値にします。なので負の値も正の値に変更されます。

{SinOsc.ar(220!2).abs}.plot;
負の値が正の値になるabs


出音は、オクターブ上になって倍音が加わる感じになります。

正の値だけだと出音に違和感がある人や、モジュレータとして使う場合に都合が悪いという人は、振幅の半分を引いてあげるか

{SinOsc.ar(220!2).abs  -0.5}.plot;
振幅の中心が0になる


または、LeakDCというクラスを使います。

{LeakDC.ar(SinOsc.ar(220!2).abs)}.plot(0.04);
DCオフセットを調整してくれる

LeakDCはDCオフセットされた波形を調整してくれます。(一瞬時間がかかるので、図のように変化して最終的には中心値が0に落ち着きます。)


squared


最初にcubed(3乗せよ)を紹介しましたが、「2乗せよ」を意味するsquaredというメソッドもあります。
2乗すると、負の値も正になってしまうので、これもゼロより上にしかグラフが生まれません。

サイン波だとあまり出音に変化がないのでノコギリ波で紹介します。

{LFSaw.ar(220!2).squared}.plot;
ノコギリ波にsquared

ちょっと甘い感じの気持ちいい倍音、という感じです。

{LeakDC.ar(LFSaw.ar(220!2).squared)}.plot(0.04);
LeakCD


round


roundは、X軸のステップ幅を(間引くというか四捨五入するというか)調整できます。

{SinOsc.ar(220!2).round(0.2)}.plot;
サイン波にround

出音はデジタル音という感じの印象になります。0.2の部分を調節することで音色変化します。


まだまだあります。


いかがでしたでしょうか。同じ波形から、いろいろと倍音を生成させる仕組み(メソッド)が用意されています。
これ以外にもこだわりつくせるメソッドがたくさんあります。

https://doc.sccode.org/Overviews/Operators.html

ちょっと難しそうなものもたくさんあり、しかもヘルプのドキュメントが充実してはいないので、出音を確かめながら実験するしかないですが….。

面白いものを発見したら、またここに書き込もうと思います。


今日のまとめ


cubed:3乗する
fold2:折り返す
clip:歪ませる
abs:絶対値にする
LeacDC:DCオフセットを無くす
squared:2乗する
round:四捨五入する


<目次>にも今回のリンクを作っておきます。https://note.com/sc3/n/nb08177c4c01

いいなと思ったら応援しよう!