カーネルミキサーのピークリミッタ挙動の解析
カーネルミキサー(現在はカーネルモードで動作しておらず「オーディオエンジン」と呼ぶそうですが「カーネルミキサー」という呼び方が広く普及していますのでそう呼ぶ事にします)のピークリミッタの挙動データを少し取りましたので、公開致します。
MMD4コマ漫画は反応が無かったのでもう作りません!(笑)
前ページのピーク0dBぎりぎりまで振れている source_00db.wav を、左チャンネルはそのままに、右チャンネルだけ 振幅値 +8192 のDC(直線・直流)に置き換えました。 +8192の値は、このSound Forgeでは -12.04dB と表記されます。
カーネルミキサーのピークリミッタは一般的な音楽用のピークリミッタと同様に左右のゲインがリンクして同時に動く様ですので、左チャンネルの信号や音楽によって起こったゲインリダクションがそのまま右チャンネルのDCにも適用されるだろうという発想からです。
-12.04dB のDC成分の振幅がどのように変化したかで、このピークリミッタのゲイン変動の様子が浮き彫りにできると思い、実験しました。
この方法でデータ取るのは僕も初めてです。ほぼ初見の状態でこの文を書いてますので上手く解説はできませんから、データを見ながら単につぶやいていきます。
上のステレオ波形がオリジナルです。下のステレオ波形がカーネルミキサーを通ってきたものです。
それぞれの下段の赤いラインが右チャンネルのDC成分の振幅値です。
下の波形 dc_0_hda.wav の 下段の赤ラインがリミッタのゲイン推移として見る事ができます。
ゲインリダクションは 概ね -0.13 dB くらいと予測してありますので、DC成分の -12.5 〜 -12.0 dB くらいの部分が見えるよう、dc_0_hda.wav を振幅方向に拡大します。
レンジは概ね合ってますね。 DC成分がピークリミッタによってリダクションされている様子が良く分かります!
遠目に見ると、1KHzのサイン波部分は、ほぼリダクションされっぱなし、4Hzノコギリ波はピークを打つ度に瞬間リダクション、音楽もピークを打っているらしいところで瞬間リダクションしているらしい事が伺えます。
比較的音圧の低いAメロ導入部ではリダクションが少なめ、音圧が上がってくるBメロ〜サビでリダクションの回数が増えている事が判ります。
DCが一番低くなっている部分は -12.171dB でした。 最大で 0.129 dB のリダクションという事ですね。 予想の 0.13dB とだいたい一致。
このレポートでは、なるべく音に対する意見を主観で言わない様にしていますが、さすがにこのゲイン変動を目の当たりにしちゃうと、
「音の違い、普通に聴いただけで判るのでは?」
って思っちゃいます。 僕自身も今まで自分の曲以外では、これ掛かっていても気にせず音楽聴いてたのですから、僕の耳が鈍いのか、リダクションが 0.129dBという微妙な数値だからなのか、あるいは実はこのリミッタが案外優秀で瞬間ポンピングやノイズが判りにくいのか・・・・ はい、主観論はやめます(^_^;)
1KHzサイン波部分を時間軸でズームしてみます。
リダクションされっぱなしかと思っていたら、微妙に揺れてますね。
もう少しズームイン
サイン波の振幅に合わせてゲインが揺れている訳ではないのですね。 なんでこんな波打ってるんだろう?
更に拡大。
良くわからないから、次、ノコギリ波。
こっちは判りやすいですね。 ちゃんと先読みされていて、ピークの度にリダクションしてる。
もうちょっと拡大して、アタックとリリースのスロープを見てみましょう。
アタックとリリースのスロープ、直線なのかな?
これ見てる限りは、
1) 先読みしてピークを見つけると徐々にリダクションさせて・・・
2) 入力が-5.0dBくらいに落ちるまではフルリダクションで踏ん張って・・・
3) 普通に直線で徐々にリリース
という風に見えます。 もっとおかしな挙動かと思っていたら、案外、普通の基本的な先読みピークリミッタの挙動っぽいですね。
アタックとリリースのスロープの時間はだいたい300サンプルくらいでした。
6.8ミリ秒くらいですね。
次、音楽部分
オリジナル波形の左右の中央付近の縦線がカーソルで、Bメロからサビに入る 「たくしたよ Music of the」 の「よ」の音の付近です。
ウィンドウの左端から右端まで約58,500サンプルだから、約1.3秒ぶんくらいの波形です。
1.3秒間くらいの間に瞬間リダクションが数十回起こってますから、オリジナルの音に慣れた僕の耳には、これが「チリチリチリ」って風にかすかに聞こえて違和感になっているのかな?
多分、マスタリングで音圧上げている時に
「なるべくチリチリやピーク潰れが目立たない様に・・・」って思ってブースト量を調整して、「チリチリ感とクリップ感の量、僕的にはこんなもんだよね。プロじゃないし、そんなに音圧上げられないよね。」
とか言いながら決定したチリチリ感、クリップ感が、
WMP で再生すると思ったよりも増えて聞こえる・・・って感じではないかと思いますが、それ程は自信ありません。
こうして検証を始めるまでは、ほんと「違和感」としてしか感じていませんでしたから。
オカルトっぽいですね(笑) 電力会社変えろとか言われちゃうんですかね?(笑)
以上、カーネルミキサー(正しくはオーディオエンジン)のピークリミッタの解析でした。
このリミッタの性能が良いとか悪いとか、あえて言わない事にします・・・じゃない、良く判らないので言えません(^_^;)
ただ、リミッタが必要なシーンで掛かっているのではなくて、本来は不要でオリジナルをピュアな状態のまま再生できるところで掛かって波形を変えてしまっているというのが事実です。
(追記: リサンプラリング要因を排除したカーネルミキサーでもビットパーフェクトにならないという話題で扱われているノイズはディザリングによるものの様で、このノイズは、16ビットの振幅値でせいぜい +-1 (-90dB) くらいの振幅です。
一方、ここで話題にしているピークリミッタによる振幅の変動をノイズとして扱えば約500 (-36dB) の振幅です。 ディザリングノイズの500倍の量です。「ビットパーフェクトにならない」という話題とは、そもそも一緒には語れない話である事は間違い無いと思います。)
もし現状の様にリミッタを掛ける事がWindowsの仕様ならば、僕はその仕様には賛成できません。
せめて自分のPCだけでも0dBオーバーするまでリミッタが掛からない状態で WMP や iTunes で音楽が演奏できるように、audiodg.exe とやらをハッキングして改造するかもしれません(笑)
もしバグによって掛かっているだけならば、早くバグ修正してもらいたいです。
2012年11月13日 ありぱぱP