ぬ"へへ…最近ヒゲで三つ編みが出来るようになってきたぜ。
よう、DJ.Hだ。

今日はPCで再生される音を改善してみよう、ってことでASIOの導入について説明するぜ。
asioって何?てそういう人はまず間違いなく導入すれば音のクォリティが上がるから試せ。さぁ試せ。今すぐ試せ。
理由とか細かい説明は後回しだ。取り敢えず導入方法だけ教えるぞ。

まず入れるべきソフトは、以前"サウンドフォント導入論"でも紹介した
asio4all(別窓)
だ。まだインストールしてないヤツは入れてくれ。
このソフトは模擬的にasioの仕組みで音を出す、っていうヤツだな。
そしてだ、asio規格に対応したプレーヤーが必要だ。今回紹介する
Northern Verse氏が開発しているLilith(別窓)だ。
いや、WINAMPとかfoobarというソフトもあるけど、一応パソコン詳しくない人とかもいるからな。日本語化とか面倒くさいコトしないといけないのはPASSだ。

○各ソフトの使い方

asio4allは基本的にデフォルトのままで大丈夫だ。
一応説明しておくと
・ASIO Buffer Size
この値が小さいほどレイテンシーが小さくなる。その変わり重くなるっぽい。
・Latency Compression
異なるサウンドデバイスとの発音のタイミングを合わせるスライダ。 ・UseHardwareBuffer
WavePCIはこの機能を利用することができる。
その他のデバイスは、Hardware Bufferは機能しない。
オフの時にKernel Buffers、オンの時にBuffer Offsetになる。 KenelBuffer:2のままで大丈夫だが、不安定な場合には値を大きくしてみると良いかもしれねぇな。
だがレイテンシーはでかくなるみてぇだ。
Buffer Offsett:ハードウェアバッファとASIO4ALLとで交信する許可を出すオフセットタイムを指定するぜ。
小さい値ほどレイテンシーを小さくできるが、不安定になるみてぇだ。
と、だいたい弄るのはこの辺りか。次にLilithの設定だ。


まずプレイヤーを右クリ、設定項目を開いてくれ。
サウンド出力タブをクリック、開いて一番上の項目に"出力デバイス"ってのが有るはずだ。
そこがASIOになってりゃOKだ。
あとはデフォで大丈夫だけど、簡単に説明しておくと、出力周波数も出力ビット深度もでかい数字になってくりゃなってくるほど
いい音になり、また、処理が重くなる。
実際出力bit数は24以上にしてもたぶん耳で聞いた感じそこまでかわらねぇと思うけどな。
またその他パラメータの詳しい説明はLilithのページを見てくれ!

以上で、大雑把だが、インストールから使い方の説明を終了する。

続いてサウンドドライバの話に移らせて貰うぜ。asioの導入による音質の向上の理由についてもここで述べさせて貰う。
こっからはちょっと説明が難しくなるぜ。


図を見てくれ。
まず大抵パソコンに入ってンのがMME(multi media extension)って規格だ。
他にDirectXとかが使えると思うがDirectXにはサウンドドライバとしての規格、DirectSoundっていうのがあってソフトによっちゃそれを使って音を再生することが出来る。
こいつらは、音をハードウェアへ受け渡す際にカーネルミキサーってのを経由する。
カーネルミキサーでは、多方面からの音の入力に対する相違の吸収とか、サンプリングレートの相違の緩和とかそういうことやってる場所なんだが、アルゴリズムか、如何せん音を劣化させる。
だが、Steivergは、カーネルミキサーなどを通さずにデバイスに信号を供給する企画を開発した。それがASIO(Audio Stream Input Output)だ。なにも処理しないから、極限までにレインテンシーを押さえたが、難点として、処理をしないために音量やサンプリングレートの変換なんかには対応しないし、一度asioがデバイスを使うと解放するまで他のソフトからアクセスできなくなってしまう。
音は向上したが、一般性はなくなっちまった、ってわけだ。ただ音楽を楽しみたい、ってヤツらには手軽に操作できる方がいいワケよ。
だからか、asio規格に対応したデバイス、ハードウェア、拡張ボードは自然とクォリティ重視になって価格のインフレがおこっちまう、つまり高ェんだよ。
さて、そこで注目されたのがKernelStreamってシステムだ。
この仕組みもまた、信号をカーネルミキサーに通さずにデバイスに供給することが出来る。このシステムを使って、無理矢理asio規格化させちまおう、ってソフトがasio4allとかになるワケだ。

さて、asioの音質の向上の要因だが、まず一つ、上記のようにカーネルミキサーを通さない。これだけで音をそのまま持ってこれるようになった。
そして、それだけではない。asioのレイテンシーの低さがジッタノイズを押さえることが出来るんだ。
ジッタノイズは電圧から来るノイズじゃねぇ。時間から来るノイズだ。時間軸がずれると…入力と書き込みの時間がずれるとデータの読み取りに誤作動が出たり、篭もった音になったりするんだ。

さて、ASIOに関してはだいたいこんなモンだ。
講義冒頭でとりあえず入れろと言われて入れなかったヤツ。ここまで読んで納得したら是非試してくれ。
それじゃ今日の講義はここまでだ。じゃぁな!