重ね合わせ
サイン波の重ね合わせ。振幅は一定で周波数は整数倍になっています。奇数倍と偶数倍とか、さらに振幅をいろいろ変えてみたりとかできそう。
gain g => dac; fun void sinbank( int num, float f) { sinosc s[num]; for(0 => int i; i<=num-1; i++) { s[i] => g; f + f*i => float pf; pf => s[i].freq; 0.1 => s[i].gain; } } sinbank(10, 110.0); 2::second => now;
とある音響言語のGen関数みたいなのを作ってみてもイイかも。