技術情報ということのものではないですが、備忘録もかねて、スキを見てメモ書き程度にまとめていこうと思います。 *VST [#p59f6bae] - *ASIO [#v9a612fa] -レイテンシは小さい。けっこうローレベルな IF なので、自前で諸々処理が必要。 *DirectSound [#y41d8398] -レイテンシはそんなに大きくなさげ。デバイスをアプリで独占するわけでないので、MediaPlayer で MP3 させつつ、VST の出力も再生するとかできる。 *複数の出力デバイスの同時再生 [#v5c5c9e6] - Magome 内部の再生エンジンは、 複数のオーディオ出力デバイスから、同時に音を出すことを可能にしている。 - IF 的には、ASIO も DirectSound も同時に使うことが可能。がしかし、同時に使うとデバイスによるズレをどう吸収するのがよいのか。(とりあえず手元のデバイスでは、複数デバイスのズレが気になることはないが、理屈上は有りえそう。) - Magome では、PC の高分解能カウンタをマスターとして使う。もし PC のカウンタとそれぞれのデバイスのカウンタ(時間)にズレが出てきたら、PCのカウンタに合うように発声のタイミングを調整する。 *MIDI [#d2400d1b] -Windows標準のGM音源はレイテンシがものすごく大きい。 *boost::asio [#m0182c20] -WinSock を直接には使わず boost::asio のお世話になっている。が、非同期IFとしての役割のほうが大きい。 -Magome サーバーとクライアントアプリとの P2P 通信で使用。 *XOOPS [#xc86e2f1] -Web サーバーの土台として利用。 *SQLITE [#g4dd63ec] -Magome サーバーにて、楽曲データなどの管理で使用。
(This host) = https://tr9.sakura.ne.jp