ちょっと前、googleのトップページがmoogのシンセもどきになっていたのは衝撃だった。 コードを見てみると、Flashで音を出しているわけではなく、基本すべてJavaScript上で行われているようだ。 ベースとなる波形を作っている部分はこんな感じ。前半がエンベロープの計算で、後半が鋸歯とかを作ってる。 1var Db = function(a, b, c, d, e) { 2 var b = b.outputBuffer, f = b.getChannelData(1), h = b.getChannelData(0); 3 a.G && !a.c && (a.c = new Float32Array(b.length)); 4 var m; m = a.p; 5 a.e || (m = 0); 6 m = 55 * a.w * Math.pow(2, (m + -4) / 12);