音の鳴るブログ

鳴らないこともある

音楽用CoffeeScriptを作ろう (10) オーディオファイル

オーディオファイルの読み込みが出来るようになった。ただし Web Audio API を使っている場合だけ、それ以外はどうしようか迷っている。wavのデコーダーなら書ける、mp3はjsmadがあればデコードするみたいな感じがよさそうだけど面倒い。

Demo - CoffeeScript

b = Buffer.read("/files/audio/Grange_Party.mp3")

Synth.def ->
  audio = PlayBuf.ar(2, b, rate:0.75, loop:1) * 0.5
  Out.ar(0, CombL.ar(audio, delaytime:1, decaytime:250))
.play()

デモは GitHub Pages なんだけど、files みたいなファイルを置く専用リポジトリを作っておくと、/files/audio/Grange_Party.mp3 みたいなパスでファイルが読めて便利だと思う。


あとタスクの実装を見直して時間以外にサブタスクや音の停止を待てるようにした。

a, b, c が終了または 1000msec経過 みたいな複雑な条件で待ちたい場合の書き方について悩んでいる。悩み事は issueで管理することにしたので、なんかアイデアあったり質問などあったらよろしくお願いします。

https://github.com/mohayonao/CoffeeCollider/issues/1