あたらしい timbre.js - サウンドプログラミング用のJavaScriptライブラリ
新しく書き直した。
以前のバージョンと全然互換性がなくて申し訳ないのだけど、可読性とかかなり使い勝手が良くなっていると思います。ライブラリ自体のコードも分かりやすくなっているはず。
http://mohayonao.github.com/timbre.js/
Chrome, Safari, Firefox あと node.js で使えます。
あとついでに SuperCollider みたいな関数を集めたものも用意しました。
http://mohayonao.github.com/subcollider.js/
timbre.js と合わせてアルゴリズム的なものを作るのに使えます。
デモ
どういうことができるのかは簡単なデモで確認できます。
- http://mohayonao.github.com/timbre.js/beatbox.html
- http://mohayonao.github.com/timbre.js/satie.html
- http://mohayonao.github.com/timbre.js/reich.html
デモもふくめてドキュメントのコードはその場で編集して実行できます。
変更点
ほぼ全部書き直してインターフェイスもオブジェクトの種類も全体的に変わっています。
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
メソッドがなくなって、on
は jQueryなんかと同じでイベント登録に使うようになったりとか。タイマーは start
, stop
で動作させたりとか。
課題
- FM音源: やろうと思ったけど面倒くさくなったので後回しにした
- タイムストレッチ: むずい
- エフェクター: コンプレッサーとかリバーブとか
- ドキュメント: もうちょっと実用的な感じで、あと英語版(だれか書いてください)
よろしくお願いいたします。