タグ

audioとjavascriptに関するaerealのブックマーク (3)

  • 人のウェブシンセのコードにコメントをつけた - 音の鳴るブログ

    だるくてコードを書く気がしないので、コピペですまそうとg200kgさんのファミコン音源(2A03)のコードを見てみたら凄く簡潔で(GUIの制御部分込みで約600行)わかりやすかったので、コメントをつけたらJavaScriptでの信号処理の教科書的なものになるのではないかと思ってコメントをつけてみた。 けっこう頑張ってコメントをつけたので、1時間もあれば十分に理解できると思います。 https://gist.github.com/3094681 ファミコン音源(2A03)の仕様をすべて再現しているわけではないけど、非常にシンプルに作られている優れものです。2A03の仕様はここが詳しい。 オススメの読む順番 897行目 Init / 最初に呼ばれるやつ 230行目 AudioIf / オーディオインターフェイス 423行目 Osc / オシレーター 681行目 App / アプリケーション 6

    人のウェブシンセのコードにコメントをつけた - 音の鳴るブログ
  • サウンドプログラミング用のJavaScriptライブラリをつくっている - 音の鳴るブログ

    アイデア 例えば Cメジャー のコードは ド ミ ソ で構成される。 和音は加算で書けるので、 ド + ミ + ソ これを、lispよろしくこう記述する。 (+ ド ミ ソ) ドっていうのは、 (sin 523.25) みたいな感じで、523Hzのサイン波 みたいな感じ。位相や振幅も指定できるけど省略している。音色は sin でなくて tri とか saw とかでも良いし、サンプリングした音でも良い。 ピアノみたいな減衰音は、 (adsr 0 1000) こう書くとする。ADSRエンベロープで Attack が 0msec、Decay が 1000msec、Sustain と Release は省略。この場合、1000ミリ秒で減衰する。 振幅はかけ算で書けるので、さっきのコードと合わせて書くと (* (+ ド ミ ソ) (adsr 0 1000)) こう書ける。 詳細に書くなら (* (+

    サウンドプログラミング用のJavaScriptライブラリをつくっている - 音の鳴るブログ
  • node.js で mac から音が鳴るやつ - 音の鳴るブログ

    Web Audio API や Audio Data API を使ってブラウザから音を出したりやっているけど、音を生成する部分だけを確認したいときにいちいちブラウザでページを開くのも億劫だし良くクラッシュするのもだるいので、ターミナルから使えるように node.js のモジュールを書いてみた。 https://github.com/mohayonao/node-macaudio 出来ることは少ない(1つだけ)だけど、その分使い方はシンプル。 var macaudio = require("macaudio"); var node = new macaudio.JavaScriptOutputNode(1024); // bufferSize node.onaudioprocess = function(e) { var L = e.getChannelData(0); var R = e.

    node.js で mac から音が鳴るやつ - 音の鳴るブログ
  • 1