ASIO4ALL

 
 通りすがりさんがハツネギ内の日記で書いていたのを思い出して入れてみた。
 
 結果,TiMidity++ の遅延がだいぶ改善された。とはいっても,遅延がなくなっているわけではない。
 入れる前後の様子をメモしておくと,こんな感じ。

  • ASIO4ALL導入前
    • TiMidity++ を使って Domino から鳴らしていると,発声に少し遅延がある。
    • 再生を繰り返す(ループ再生や,何度も再生を行う)と,遅延が大きくなる。
    • 最終的に,1小節以上の遅延ができてくる。
  • ASIO4ALL導入後
    • TiMidity++ を使って Domino から鳴らしていると,140BPMで一拍ぶん遅延する。
    • 再生を繰り返しても遅延は大きくならない。

 といった感じになった。一拍分遅延する,というのは,同じメロディを別トラック・別音色にして,S-YXG50 と同時に再生してみて判別した。
 
 結論として,ASIO4ALL を導入することで,TiMidity++ は Domino から充分使えるようになる。ただし,相変わらず1小節目で止まるし,音色を決めるプログラムチェンジの命令が1小節目なので扱いが面倒だしで,お勧めできるとはちょっと言いがたいかな,というところ。
 Domino を使わないのであればこのあたり問題ないと思われる。あるいは Domino を使う場合でも二小節目を仮セットアップ小節として考え,二小節目冒頭から音色変更やテンポ変更を行えば問題ないとは思う。
 また,TiMidity++ と別のシンセ(例えば S-YXG50 や ディレイラマあたり)をチャンネル別けしてつないだ Domino から同時に演奏しようとすると,やはり遅延によって同期がうまくいかない。
 どのシンセを使うかを決めてしまって,Domino で打ち込むときに別のシンセの部分は仮音にしておき,後から入れ替える等の細工が必要,ということになる(ラマにコーラスさせたいところで,それっぽい音を入れておくとか)。
 ちょうど,ミクに歌わせたいメロディラインをピアノでとりあえず入れておく,みたいな感じになる。
 
 と,いうことで。ASIO4ALL を入れる価値はあります。Domino は TiMidity++ にフル対応まではしていないので,そのぶん手間はかかるけれど,とりあえず打ち込んで聞いて手直しして・・・という使い方のぶんでは,ちゃんと使えます。キーボードから入力すると反応が遅くて耐えられないかもしれないけれど。
 使い方が合う人は試してみるといいでしょう。