PCオーディオ好きな人であればUSB DACを使い、foobar2000などのソフトを利用して楽しんでいるので、問題はないが、大半の人はiTunesやWindows Media Playerで聴いているわけであり、それはすなわち音質劣化した再生を意味する。Macなら問題ないのに、Windowsだと音が悪いというのは、やっぱり不幸なことだ。
この通り、ピーク リミッタは Windows Vista 以降のオーディオ エンジンに搭載された比較的歴史の浅いものです。一般の人は、複数のソースからオーディオを再生することもあると思います。例えば YouTube で音楽を聴いているときに、Windows のシステム サウンドが流れることもあるし、ゲーム本来の BGM の代わりに、SE は残しつつ、自分の好きな音楽を流しながらゲームをプレイする人もいるでしょう。それで 0 dB を超えてしまってクリップしたら最悪なので、ピーク リミッタには十分な意義はあると思います。 というかここまで書くなら、余計に WASAPI 排他モードでいいじゃんって話です。あくまでメジャーなメディア プレイヤーにこだわるならば、Windows が悪いんじゃなくて、WASAPI 排他モードを実装しない iTunes や Windows Media Player が悪い。
Windows のオーディオ再生の仕組みに関しては、#2999582 [srad.jp] で書いた通り、Windows XP までのカーネル ミキサーが Windows Vista でオーディオ エンジンに刷新されています。それまではオーディオ再生の問題が原因で BSoD を引き起こすこともあったし、アプリケーションの音量を個別に制御する(音量ミキサー)ことも出来ませんでした (そういえば、Windows 10 の XAML ベースの音量コントロールは音量ミキサーが利用できないので不便)。
ちなみに、この刷新によって DirectSound 3D や、クリエイティブのEnvironmental Audio Extensions (EAX) はハードウェアで処理できなくなっています。クリエイティブは互換性を提供するため、これらを OpenAL という API で処理できる Creative ALchemy というテクノロジをリリースしています(4Gamer.net の記事が参考になる [4gamer.net])。
今の PC ゲームがどういう実装なのかはわたしも知りません。XAudio2 なのだろうか。
Windows Audio Session API (WASAPI) 排他モードじゃダメなんですか… (スコア:4, すばらしい洞察)
Windows 7 のものですが、Windows の オーディオ アーキテクチャに関しては Windows Multimedia Hacks の投稿 [microsoft.com]が参考になります。
Re: (スコア:0)
読まずにコメするスラド民の鑑
Re: (スコア:4, すばらしい洞察)
PCオーディオ好きな人であればUSB DACを使い、foobar2000などのソフトを利用して楽しんでいるので、問題はないが、大半の人はiTunesやWindows Media Playerで聴いているわけであり、それはすなわち音質劣化した再生を意味する。Macなら問題ないのに、Windowsだと音が悪いというのは、やっぱり不幸なことだ。
と WASAPI 排他モードに関して言及されているじゃないかという反論だと思うのですが、そもそも「やっぱり不幸なことだ。」という断定がよくわからない。
一般の人たちはローカルかクラウドかを問わず、MP3 や AAC などのロッシー音源を聴いていて満足しているわけで、Windows のオーディオ エンジンを通したことによる音質劣化なんて気にもならないと思うから。
ピュア オーディオ志向で
Re: (スコア:0)
今時ピュアオーディオ志向ならハイレゾ音源の購入だと思いますが。
なぜいつまでも使い続けるのか不明のわざわざ音を劣化させる変換をするのが標準ってのは気分が悪い、ってだけでそれを打破するためのハックをする動機としては十分すぎると思います。
Re:Windows Audio Session API (WASAPI) 排他モードじゃダメなんで (スコア:1)
問題となるのがピークリミッター。これはWindows Vista以降に搭載されたものであり、再生する音の音量が0dB近くになってくると勝手にリミッターが効いてしまうというもの。確かに、Windows Vista以降は複数のソフトで同時に音を出すことが可能になっているため、それがミックスされた結果、0dB(最大音量)を超えてしまうと歪んでしまうため、それを避けるためにリミッターが必要なのは事実。でも、音楽プレーヤーソフトで再生しているだけなら、リミッターなど無用の長物であり、音を劣化させるだけのものなのだ。
この通り、ピーク リミッタは Windows Vista 以降のオーディオ エンジンに搭載された比較的歴史の浅いものです。一般の人は、複数のソースからオーディオを再生することもあると思います。例えば YouTube で音楽を聴いているときに、Windows のシステム サウンドが流れることもあるし、ゲーム本来の BGM の代わりに、SE は残しつつ、自分の好きな音楽を流しながらゲームをプレイする人もいるでしょう。それで 0 dB を超えてしまってクリップしたら最悪なので、ピーク リミッタには十分な意義はあると思います。
というかここまで書くなら、余計に WASAPI 排他モードでいいじゃんって話です。あくまでメジャーなメディア プレイヤーにこだわるならば、Windows が悪いんじゃなくて、WASAPI 排他モードを実装しない iTunes や Windows Media Player が悪い。
Windows のオーディオ再生の仕組みに関しては、#2999582 [srad.jp] で書いた通り、Windows XP までのカーネル ミキサーが Windows Vista でオーディオ エンジンに刷新されています。それまではオーディオ再生の問題が原因で BSoD を引き起こすこともあったし、アプリケーションの音量を個別に制御する(音量ミキサー)ことも出来ませんでした (そういえば、Windows 10 の XAML ベースの音量コントロールは音量ミキサーが利用できないので不便)。
ちなみに、この刷新によって DirectSound 3D や、クリエイティブのEnvironmental Audio Extensions (EAX) はハードウェアで処理できなくなっています。クリエイティブは互換性を提供するため、これらを OpenAL という API で処理できる Creative ALchemy というテクノロジをリリースしています(4Gamer.net の記事が参考になる [4gamer.net])。 今の PC ゲームがどういう実装なのかはわたしも知りません。XAudio2 なのだろうか。
# このあたりは、Windows 秘話: Windows オーディオが暴走するとき [microsoft.com]も興味深い記事です。