ASIOとWASAPI
Windowsに関しては、長年経験があるので、大抵のことはわかっているつもりでしたが、まだまだ知らないことがあるものです。
大分前にBluetoothのヘッドフォンで動画や音楽を聞くと遅延が発生するという話を書きました。
その後、結局東京、宝塚の両方のマシンともBluetooth経由だと遅延が発生するケースがあることがわかり、Bluetoothをあきらめ他の無線技術を使うことにしました。
東京では、TDKのKleerテクノロジを使ったヘッドフォン、宝塚では、安物のUSB経由の無線ヘッドフォンに切り替えました。
Kleerの方は宣伝文句通り、音質も大きく改善し、遅延もほとんど感じることがありません。
ただ、耳への圧迫感が大きく、長時間装着すると耳が痛くなる点としばらく音源から音が発生しないと勝手に電源が切れてしまう点がもう一つです。
電源が切れるとホストのUSB側とヘッドフォンの両方の電源を再度オンにする必要があり、非常に面倒です。
(同期も少しこつが必要です。)
宝塚の方は、音質はKleerに遠く及びませんが、遅延は全くなく、しばらく快適に利用できていました。
しかし、最近右の音が途切れるようになり、どうも壊れたようです。
やはり安物買いの銭失いというパターンのようです。
そうこうする内、あるPC雑誌でASIOとWASAPIの記事が載っているのを見ました。
結局、遅延の根本原因は、Windows標準のDirect Sound APIがそもそも遅延が大きいものであることが影響しているとのことでした。(Bluetoothは状況を悪化させているだけでした。)
そして、その記事にWindows Media PlayerでASIOを設定する方法とiTunesでWASAPI対応にする方法が書いてあったので、その通り設定してみました。
すると、Bluetooth経由でも全く遅延を感じることがなくなりました。
ただし、東京ではWMPにASIOを設定すると、最初はうまく動作していましたが、途中からハングするようになり、リブートでも改善しないようになってしまいました。
どうも機種依存性があるような感じです。
その記事によるとWASAPIの方が、新しい規格でかつ汎用性もあるような記載がありました。
あとは、WMPがWASAPI対応してくれれば、全てが解決というところですが、MSにその対応をする大きな理由が見当たらず、今後対応するかどうかは微妙なところです。