藤本健のDigital Audio Laboratory
第674回
Windowsの音質問題を無料ツールで回避。ピークリミッター解除の効果を試す
(2016/4/11 12:59)
「Windowsは音が悪い」、これは標準のドライバを使って再生する限りはどうしようもない問題で、これまでも何度も検証してきたとおりであり、Windows 10になっても改善されていない。もちろんASIOやWASAPI排他モードを使うことで、そうした問題を避けることは可能ではあるが、標準ドライバを使わざるを得ないiTunesやWindows Media Player、またWindows 10のGrooveミュージックやWindows 8/8.1のミュージックにおいては、どうしても音が劣化してしまう。ところが、そんな問題を解決してくれる非常に強力なフリーウェアが存在していた。川本優氏が作ったもので、2013年に登場し、アップデートによりWindows 10にも対応した。これで本当に問題が解決するのか実際にチェックした。
「Window標準ドライバで音質劣化」を改めて検証
PCオーディオ好きな人であればUSB DACを使い、foobar2000などのソフトを利用して楽しんでいるので、問題はないが、大半の人はiTunesやWindows Media Playerで聴いているわけであり、それはすなわち音質劣化した再生を意味する。Macなら問題ないのに、Windowsだと音が悪いというのは、やっぱり不幸なことだ。
なぜ、そうした問題が起こるのかは、これまでDigital Audio Laboratoryで何度も取り上げてきたが、一言でいえばWindowsの「オーディオエンジン」というところを通るためだ。このオーディオエンジンによる音の劣化には、以下の3通りの問題がある。
- サンプリングレート自動変換による劣化
- 低品質ディザーによる劣化
- ピークリミッターによる音質劣化
1のサンプリングレートの自動変換は、再生する音と、オーディオデバイスのサンプリングレートが異なっていた場合、自動でWindowsがリサンプリングを行なうというもので、そのリサンプリング時の精度のためか、音質劣化してしまうというもの。これはサウンド設定でサンプリングレートを合わせておくことで問題を避けられるが、仮に44.1kHzを96kHzなどにアップサンプリングしたとしても音が劣化してしまうので注意が必要だ。
2のディザーとは、24bitを16bit変換するような場合に生じる音質劣化なのだが、おそらくWindowsでは単純に下位8bitを切り捨てているだけなのか、自動変換されると音が劣化する。ただ、これについてもサンプリングレートと同じ設定のところで、24bitに固定しておくことで、多くの問題は避けられるようになっている。
問題となるのがピークリミッター。これはWindows Vista以降に搭載されたものであり、再生する音の音量が0dB近くになってくると勝手にリミッターが効いてしまうというもの。確かに、Windows Vista以降は複数のソフトで同時に音を出すことが可能になっているため、それがミックスされた結果、0dB(最大音量)を超えてしまうと歪んでしまうため、それを避けるためにリミッターが必要なのは事実。でも、音楽プレーヤーソフトで再生しているだけなら、リミッターなど無用の長物であり、音を劣化させるだけのものなのだ。
改めて、どんな問題が起きているのかを実証してみよう。2012年11月の記事で行なったのと同じ実験をWindows 10で追試してみる。CDからリッピングした44.1kHz/16bitのWAVファイルをWindows 10標準のプレーヤーソフトであるGrooveミュージックで再生し、この音をSound Forgeへとデジタルレコーディングする。ここでは以前と同様にRolandのQUAD-CAPTUREのループバック機能を用いているので、出力音が劣化なしに取り込めるようになっている。
オリジナルの波形とGrooveミュージックで再生したものを取り込んだ波形を比較しても、まったく同じように見えるが、片方の波形の位相を反転させた上でもう一つと重ね合わせてみると、その差分が見えてくる。この縮尺だとあまりはっきりわからないが、拡大すると結構なノイズが入っているのが見えてくる。これがピークリミッターによる悪影響なのだ。
これはGrooveミュージックだけでなく、iTunesでも、Windows Media Playerでも、全く同じ結果となる。
2012年の実験は、サウンド・オーディオ関連の開発を専門に手掛けているエンジニアである、ありぱぱ氏と共同で行なったものだったが、このありぱぱ氏が最近開発した高精度なスペクトラムアナライザーを用いて見てみると、ここでもハッキリとした問題が見えてくる。行なった実験は1kHzでピークが0dBになるサイン波を再生させるとどうなるか、というもの。
元の波形を解析すると、当然1kHzだけに集約される成分がみられるわけだが、Windowsのオーディオエンジンを通すと、音量が下がるだけでなく、リミッターが効いた結果、別の周波数成分がいっぱい入ってきてしまった。
ちなみに、このスペクトラムアナライザーはVSTプラグインによるもので、ありぱぱ氏自身の開発用ツールとして使っているものだそうだが、将来的にはデザインを整えて製品化するかもしれないと話をしていた。
ピークリミッター対策の方法と効果は?
ここからが今回の本題。前述した川本優氏が、「Disable Peak Limiter in Windows Audio Engine」というツールを作り、これを無料公開していたのだ。これはいま見てきたピークリミッターを無効化するというもの。
川本氏によると「Windowsの設定を変更するにはレジストリ等を編集することが一般的ですが、残念ながらピークリミッターがあるWindows Audio Engineは著作権保護のためにリミッターの設定を変更できないようになっています。また同様の理由でWindows Audio Engine関係のファイルを書き換えることもできません。そこでメモリ上にあるピークリミッターのコードを書き換え、一つの音声の再生ではピークリミッターが働かないようにし、音質の劣化を防ぐプログラムを作りました」とのこと。つまりOS自体を書き換えているわけではなく、PCの物理メモリ上にあるWindows Audio Engineのコードにパッチを当てることで実現していたのだ。川本氏によると、その具体的な数値は「単精度浮動小数点型の0.985、すなわち20*log(0.985)=-0.13dBとなっているものを、1.0(同0dB)に置き換える」とのこと。
つまり「Disable Peak Limiter in Windows Audio Engine」という名称ではあるけれど、ピークリミッターを無効化するのではなく、0dBを超えるまでは有効化しないツールとなっている。結果として、複数のソフトから音を出して0dBを超えるような場合にはしっかりとリミッターがかかってくれるというわけだ。
なかなかトリッキーなことを行なっているわけだが、だからこそ、Windows Updateがあっても問題にならないし、このツール一つでWindows Vista、Windows 7、Windows 8/8.1と対応しており、Windows 10でもしっかりと使えてしまうのだ。
最近、川本氏と筆者、ありぱぱ氏とTwitter、メールなどでやりとりをしている中、'13年12月リリースのこのツールが、'16年の4月9日にVer.1.1へとアップデートされた。今回のアップデートではWindows 10に正式対応するとともに、リミッターが効き始める位置、効き終える位置、つまりスレッショルドの設定ができるようになった。さらにリミッターを完全に効かせないようにすることも可能になっている。これらの設定はコマンドラインで行なうものだが、特に指定せずにそのまま実行すれば、従来通りの設定になるので、通常はこれがよさそうだ。
では、実行した後、本当にリミッターが解除されているのか、実際にテストしてみた。手順としては、先ほどとまったく同じことをしただけだが、Sound Forgeでの波形の結果を見てもまったくノイズは入ってきていない。同様に、スペクトラムアナライザーの結果を見てもオリジナルの通りだ。
以上の結果から見ても、Windowsのオーディオエンジンにおける音質劣化の最大の原因、ピークリミッターを解除できたことが実証できた。これならiTunesを使ってもWindows Media Playerを使っても大丈夫そうだ。とっても単純な話なのだから、こうしたことは本来マイクロソフトに対応してもらいたかったことだが、これがユーザーの手によって実現できたのはうれしいことだ。
なお、このツール、「Disable Peak Limiter in Windows Audio Engine」は、その仕組み上、PCを再起動すると元に戻ってしまうため、Windows起動時には再度実行してリミッターを無効化、つまり0dBまで効かなくさせる必要があるので、ここは注意しておきたい。
URL
- へんてこ.co.jp(川本優氏のサイト)
- http://kawamoto.no-ip.org/henteko/index.html
- Disable Peak Limiter in Windows Audio Engineの解説
- http://kawamoto.no-ip.org/henteko/article/0017.html
- ダウンロードページ
- http://kawamoto.no-ip.org/henteko/myapp.html#dpeaklim
バックナンバー
- 古いCDやレコードのリマスタリングにも。「WaveLab 9」の強化点をチェック [2016/04/04]
- 曲に合った音質へ自動調整。車載オーディオ向け「Gracenote Dynamic EQ」の仕組み[2016/03/28]
- スマホ連携で本領発揮? ソニーのBluetooth搭載PCMレコーダ「ICD-SX2000」を試す [2016/03/14]
- 究極のSACDが更に進化。藤田恵美「camomie Best Audio 2」制作の裏側を聞く[2016/03/07]
- Bluetooth MIDI伝送で何ができる? 対応5製品とiPad連携などを試す[2016/02/29]
- RMEの小型USBオーディオ「Babyface Pro」、使い勝手と音質の進化をチェック [2016/02/22]
- スマホからBluetooth操作できるハイレゾ対応レコーダ。オリンパス「LS-P2」で録音 [2016/02/15]
- 電子カホンやギター用ボコーダ、USB/MIDI/Bluetoothコントローラに注目。Roland/BOSS新製品 [2016/02/08]
- 今さら聞けない「音圧」の基本。上げると音はどう変わる? [2016/02/01]
- GarageBandが他アプリと連携強化。新機能「Audio Units Extention」で何が変わる? [2016/01/25]
- 第663回:GoProで臨場感あるバイノーラル録音を簡単に。ローランド「WEARPRO Mic」を試す[2016/01/18]
- USB 3.0対応で20入出力のTASCAM「US-20x20」。iPadで本格レコーディングも [2015/12/28]
- コルグ「DS-DAC-10R」と「AudioGate 4.0」でDSD録音。他社DAWソフトでも動く? [2015/12/21]
- Bluetoothやボカロと連携する“未来のMIDI”。「Think MIDI」で見た最新動向 [2015/12/14]
- DSD録音を可能にしたソフト開発の最先端。車でDSD再生も [2015/12/07]
- ボーカルを完璧に消す“魔法のソフト”、1U 64chレコーダなど音楽制作の最新動向 [2015/11/30]
- 超高域までノイズレス、エージングにも効果? 「Pure Hi-res」とは[2015/11/16]
- 復刻音源/シンセや、初音ミクV4Xなどが「Music Park」に集結。梯郁太郎氏のATV始動[2015/11/09]
- グラスハープの高周波音響解析など、音の研究発表コンピュータとピアノの協演も[2015/11/02]
- DSD録音を実現したコルグ「DS-DAC-10R」。Clarityの技術が約6万円のUSB DACに [2015/10/26]