Csound.js

前にVSTをCsoundで作る話を書きましたが、今回はWeb上でCsoundを動かす話です。

そんなことが出来るなんて信じ難い話ですが、ウェブアセンブリとか使えば割と普通に出来るみたいですね。僕が無知で馬鹿な新潟在住の田舎者だから知らなかっただけの話か。

というわけで試しにCsoundでハンドクラップシンセを作ってブログ内で動かしてみましたので、興味のある方は下記ボタンを押して起動してお試しください。
(Chrome/Firefox/Edge推奨)



WebClap(待機中)

  • Speed

  • Decay

  • Freq

  • Reverb

  • Level

  • WebCrapの使い方
  • Speed --- ディレイの間隔(5段階)
  • Decay -- 音の減退時間(0.1~0.9秒)
  • Freq -- バンドパス周波数(500~1500Hz)
  • Reverb -- リバーブのかかり具合(0でOFF)
  • Level -- 音量
  • Clap! -- トリガー(MIDIでも可能)

うん。Csound本体の起動がやや重いですが、音は殆どそのまま出ますし、MIDIまですんなり動く上にHTMLからの値取得も普通に出来るし、かなり使えそうではあります。

しかも裏ではWeb Audio APIのAudioWorkletとして動いているらしく、Web Audioのノードとして機能するところもポイントですね。何せディレイとフィルターくらいしかないWeb Audio APIに代わって、1000以上のCsound関数が使えるわけですからかなり有難い話ではあります。

というわけで、興味のある方は下記を参考に挑戦してみてください。