音の鳴るブログ

鳴らないこともある

あたらしい timbre.js - サウンドプログラミング用のJavaScriptライブラリ

新しく書き直した。

以前のバージョンと全然互換性がなくて申し訳ないのだけど、可読性とかかなり使い勝手が良くなっていると思います。ライブラリ自体のコードも分かりやすくなっているはず。

http://mohayonao.github.com/timbre.js/

Chrome, Safari, Firefox あと node.js で使えます。

あとついでに SuperCollider みたいな関数を集めたものも用意しました。

http://mohayonao.github.com/subcollider.js/

timbre.js と合わせてアルゴリズム的なものを作るのに使えます。

デモ

どういうことができるのかは簡単なデモで確認できます。

デモもふくめてドキュメントのコードはその場で編集して実行できます。

変更点

ほぼ全部書き直してインターフェイスもオブジェクトの種類も全体的に変わっています。

T関数のインターフェイスが変わった

以前は

// CutOff 440Hz, BandWidth 1 のローパスフィルター に入力 2つ
T("lpf", 440, 1, input01, input02)

みたいな書き方だったのが

// CutOff 440Hz, Q 1 のローパスフィルター に入力 2つ
T("lpf", {cutoff:440, Q:1}, input01, input02)

のように名前つき引数を使うようになっています。 以前は引数なのか入力オブジェクトなのか曖昧なときがあったり、引数の順番を覚えないといけなかったのが解消されました。

メソッドも変わった

たとえば以前あった on, off メソッドがなくなって、onjQueryなんかと同じでイベント登録に使うようになったりとか。タイマーは start, stop で動作させたりとか。

課題

  • FM音源: やろうと思ったけど面倒くさくなったので後回しにした
  • タイムストレッチ: むずい
  • エフェクター: コンプレッサーとかリバーブとか
  • ドキュメント: もうちょっと実用的な感じで、あと英語版(だれか書いてください)

よろしくお願いいたします。