16bit化のディザを3通りで検証、ノイズシェーピングは総量で12dB増えて耳では9dB減る

CD用やサンプル配布用に16bitのWAVを書き出すとき、書き出し画面のディザの項目はいつも少し迷う。オンにするのが常識だとは知っていても、どの方式を選ぶと何がどれだけ変わるのかを、数字で確かめたことはなかった。ノイズを足すのに音が良くなる、という説明も、言葉だけだと半分しか腑に落ちない。 このメモでは、24bit相当の精度を持つ素材を2種類用意し、ディザなし(四捨五入だけ)、TPDFディザ、TPDFディザにノイズシェーピングを組み合わせたものの3通りで16bitに落とした。そのうえで、元の素材との差、つまり16bit化で加わった誤差だけを取り出して、時間ごとの量と帯域ごとの量を比べている。聴いた印象はその日の体調や再生音量でいくらでも揺れるので、ここでは誤差の数字だけを並べ、耳の話は最後に少しだけ添える。 16bitに落とすとき、何が起きているのか 連続した電圧を飛び飛びの数値に置き換えるのが変換器の仕事で、その刻み幅が量子化の細かさになるPhoto: Lhfjames / CC BY-SA 4.0 16bitの音声は、波形の高さを65,536段階の整数で表す。24bitなら約1,677万段階あるので、24bitから16bitに落とすということは、下位の8bit分の細かさを捨て、いちばん近い段に寄せ直すということだ。この寄せ直しで生じるずれが量子化誤差で、1段の幅(1 LSB)の半分以内に収まる。信号が十分に大きく複雑なら、このずれは毎サンプルばらばらに出るので、平らなノイズとして振る舞う。理論上のSN比は「6.02×ビット数+1.76」dBで、16bitならおよそ98 dBになる。 問題は信号が小さくなったときだ。波形の振れ幅が数段ぶんしかないと、ずれの出方が波形の形に引きずられ、ノイズではなく波形をゆがめた音、つまり元の音に無い倍音として現れる。さらに振れ幅が半段を下回ると、四捨五入の結果がすべて0になり、音そのものが消える。フェードアウトの最後やリバーブの尾、静かなピアノの減衰は、まさにこの領域を通過していく。 ディザは、量子化の直前に1段程度のごく小さなノイズを足して、ずれの出方を波形から切り離す処理だ。ずれが毎回ランダムになるので、ゆがみが無くなる代わりに一定量のノイズが残る。一様分布のノイズを2つ足し合わせた三角分布のもの(TPDF、振れ幅は±1 LSB)を使うと、誤差の平均だけでなく大きさのばらつきも信号に左右されなくなる。代わりにノイズの量は、ディザなしの量子化誤差の3倍(約4.8 dB増し)になる。ノイズシェーピングは、このノイズの周波数の配分を変え、耳の感度が低い高域へ寄せる仕組みだ。 素材と3つの方式をそろえる 24bitで録って16bitで納める、という流れはPCIカードの時代から変わっていないPhoto: Musicproducer / CC BY-SA 4.0 素材は計算で合成した2種類で、どちらも44.1 kHz、長さ6秒にした。録音した素材を使うと、元から入っているノイズとディザのノイズが区別できなくなるので、あえて雑音の無い合成音にしている。 1つ目はフェードアウトの代わりで、440 Hzの正弦波を最大値の-20 dBから毎秒15 dBずつ下げ、6秒後には-110 dBまで絞り切る。16bitの1段の半分は-96.3 dBに当たるので、途中で必ず16bitの底を割り込む。2つ目は静かなピアノの代わりで、220 Hz(ラの音)を基音に8本の倍音を重ね、高い倍音ほど速く減衰させた音を、最大値-30 dBから鳴らし始めた。弦の倍音がわずかに高めにずれるピアノの性質に寄せて、倍音の周波数も少しだけ上にずらしている。 3つの方式は次のとおり。 方式 足すノイズ 誤差の扱い A:ディザなし なし 四捨五入のみ B:TPDF ±1 LSBの三角分布 四捨五入のみ C:TPDF+ノイズシェーピング ±1 LSBの三角分布 直前5サンプルの誤差を次の入力に戻す Cのノイズシェーピングは、古くから知られる44.1 kHz用の5次の係数(2.033、-2.165、1.959、-1.590、0.6149)を使った誤差帰還型にした。この係数で誤差の周波数特性を計算すると、0.5〜2 kHzでおよそ-16 dB、4 kHzで-27 dB、8 kHzでほぼ0 dB、16 kHzで+12 dB、22 kHzで+19 dBになる。耳がいちばん敏感な2〜5 kHzでノイズを大きく削り、そのぶん16 kHzより上に押し出す形だ。製品に入っているシェーピングはもっと次数が高く、曲線も細かく作り込まれているが、考え方は同じなので、ここでは素直な形のものを基準にした。 数値はすべて、フルスケール(波形の最大値)を0 dBとしたときの実効値で書いている。 フェードアウトの尻尾は、ディザなしだと5.09秒で消える 1983年のCDプレーヤー。16bit・44.1 kHzという器の大きさは、この頃から変わっていないPhoto: Daderot / CC0 まずフェードアウトの素材で、16bit化で加わった誤差の量を1秒ごとに見た。信号の列は元の正弦波の実効値で、1秒ごとに15 dBずつ下がっていく。 ...

2026年10月16日 · 2 分 · 271 文字 · kingsworksub-jpg