• 追加された行はこの色です。
  • 削除された行はこの色です。
  • wafrag へ行く。

TITLE:wafrag (WebAudio Fragments)

- http://d.hatena.ne.jp/yoya/20140208/wafrag
- https://github.com/yoya/wafrag
- http://app.awm.jp/wafrag/debug.html

WebAudio の機能を断片的に引き出す。というだけのノリで付けた名前。

- MIDI が鳴らせる (とりあえず PSG モードで)
- サンプリング音が鳴らせる
- サスペンドやリジュームが出来る
- フェイドイン、フェイドアウトが出来る
- 秒単位でシークが出来る


* 仕様 [#spec]

** オブジェクト [#x25b63b4]

- WAFrag
--  全体のコントローラー
- WAPlayer
--  プレイヤー (MIDI メッセージを送る)
- WASynth
--  シンセサイザー (MIDI メッセージを解釈して音を鳴らす)
- WAGen ジェネレーター
--  音声生成器 (とりあえず PSG のみ)
- WACont コントローラ
--  MIDI コントローラー相当

** 内部仕様 [#innerspec]

- 内部インターフェースは WebMidiLink のメッセージフォーマット
 midi,cc,nn[,nn[...]]
 - MIDI chunk の内 deltatime より後ろのバイナリを , 区切りで 1 byte ずつ 16進文字列で。


** 使用例  [#example]

 wafrag = new WAFrag();
 wafrag.loadSMF(url);
 button => wafrag.start();

** メソッド [#method]

*** 予定 [#todo]

 loadSMF(data or url), loadMP3(data or url), loadSMAF(data or url);
 progressListener()

 play(), stop()
 rewind(), seek(secs);
 suspend(), resume()
 fadeout(secs), fedain(secs)

 midiListener(); => event.midi (歌詞表示や、鍵盤on/off表示に使いたい)