Hamigaki.Audioライブラリはboost.iostreamでサウンドストリームに関する処理をラップしたライブラリである。数年前にいじってみたことがあるけどそれ以来。今更だけど良いライブラリだ。
ウェーブファイルをsource、オーディオ出力デバイスをsinkとして実装しており、boost::iostreams::copy(source,sink)でサウンド再生ができる。入力デバイスもsourceとして実装されている。
ライブラリの機能としては下記の通りである。
- WAVE/AIFF/Ogg Vorbisファイルの読み書き
- PCMデバイスによるサウンド再生と録音
- DirectSoundによるサウンド再生と録音(Windowsのみ)
- ASIOによるサウンド再生と録音(Windowsのみ)
- PulseAudioによるサウンド再生と録音(gccのみ)
- マルチスレッドを用いたバックグラウンドでの再生
- 正弦波/矩形波の生成
あとhamigaki.coroutineなどもおすすめ。Windowsのfibreを使って実装されていたと思う。