Spotifyのラウドネスノーマライゼーションは何をするのか

ラウドネスノーマライゼーションは音質を劣化させてしまうのか?いや、それ自体には問題はない

謝花ミカ
Nov 13, 2022

先日はてなブックマークを眺めていると、ラウドネスノーマライゼーションについて間違ったことが書かれている記事が上がっていたので、ラウドネスノーマライゼーションについて考えてみたい。

Spotifyには音量レベルの設定機能がある

問題の記事はLifehackerの『無料です! 「Spotify」の音質を劇的に改善する簡単な方法』であり、これはUS版の翻訳である。

『「ラウドネスノーマライゼーション」がSpotifyの音質を損ねている』というセクションの中には以下のようなことが書かれている。

問題点は、音が大きくなると、音質が悪くなること。Spotifyの意図が何であれ、音の大きな曲に制限を設けており、音楽のダイナミックレンジに影響を及ぼしています。良いヘッドホンやスピーカーで聴いている時は、それが特に顕著です。

これはラウドネスノーマライゼーションを正しく理解している人の書き方には思えない。つまり間違いである。その理由を説明する。

ラウドネスノーマライゼーションとは何か

ラウドネスノーマライゼーションは、ターゲットとする音量を定め、色々なコンテンツの間でその音量になるようにコントロールする処理だ。テレビやラジオでは厳密に管理されており、大きすぎたり小さすぎたりするコンテンツに対して適正な音量になるように調節する

最近ではこの管理がYouTubeやSpotify、Apple Musicといったサービスでも有効になっており、以前よりは大きすぎてボリュームを絞ったり小さすぎてボリュームを上げるなどの面倒は少なくなったように思う。

ここで、その原理を説明したい。ラウドネスイコライザーは、ターゲットとなる音量を設定し、それに合わせて処理をすると書いた。その音量を例えば「50」にするとしよう。そして、音量の幅は0100まであると仮定する。この数字は仮定のものだ。

大きな音をラウドネスノーマライズする場合

平均的に大き(うるさめ)な音で構成された音楽を考えてみよう。

「平均的に大きな音量」のオリジナルファイル

例えばジャンルとしてはロックやポップ、EDMなどが考えられる。平均的な音量(※)を計算してみると、90であるとする。それを50にしたいので、元の55%くらいにすればいい。その場合、次の画像のようになる。

(※厳密には単純な平均ではない)

先ほどの図を縦に半分ほど(音量を下げたことを意味する)にした図

これが音量を下げた際のイメージである。元々大きい音量の曲なので、ラウドネスノーマライザーは音量を下げた。この際にロスは原理上発生しない。これは大きな音量をボリュームを絞った際に相当するだけで、例えばこれが浮動小数点数の計算ならば原理上は原音からロスは発生しない。この画像を縦に再び拡大(音量を上げたことに相当)しても、同じ画像が出てくるのはわかるだろう。

縦サイズを拡大した

大きな音をラウドネスノーマライズする場合は、音量を単純に絞ったのと同じである。その処理は例えばSpotifyのアプリ内で行われ、視聴者が音量を絞る動作を代わりに自動的にアプリが行ったようなものと考えてよい。

音量が小さい曲を大きくする場合

ピアノソロなどの静かな曲を考えてみる。

平均的に音量が小さい曲

例えば平均音量が「20」だったとする。この場合、2.5倍の音量にすれば良い。

縦幅を拡大し、音量を上げたことを模擬した

この場合も単純に音量を上げるだけなので、ロスの発生はない。音量を大きくしただけだからだ。小さな曲の場合視聴者が単純に音量を上げることに相当する。

少し考えなければいけないのは、次の場合である。

大半が小さな音量で時々大きな音がある場合のラウドネスノーマライズ

大半が静かで、突然大きな音が発生する場合は、ジャンルとしては例えばクラシック音楽が挙げられる。クラシック音楽はかすかな音から大きな音までダイナミックレンジが広いことが多い。

大部分は小さな音だが、大きな音も収録されている場合(さらにこの後に小さな音が続く想定)

この場合の平均値も「20」とする。なぜならこの曲はもっと長い曲で、図に入りきらないところにまだまだ小さな音量が続いているからだ。(図の矢印)耳をつん裂くほどの音は一瞬だけなので、ほとんど平均値に寄与していないのだ。

視聴者としても、大部分が静かなこの曲の音量は上げたいだろう。そしてラウドネスイコライザーもそうだ。

ただ、この場合、小さな音を基準に音量を上げた場合、問題が発生する。

単純に音量を上げた

音量を上げると、小さな音の部分は大きくなって聴き取りやすいが、大きな音量の部分は音割れを起こす。コンピュータは再現できる数値の範囲が決まっており、その値を超えることはできないため、不連続な部分が発生するからだ。

実際はこの時点までの演算は浮動小数点数で行われており、処理上ではロスはないものの、その後のDAコンバーターの部分付近で問題が発生する。その手前で、この大きな音をなんとかできないものか。そこで、リミッターの出番である。リミッターは、大きな音だけを縮小する仕組みだ

リミッターを使って大きな音を小さくする

そうすると、小さな音も大きな音に音量をアップしつつ、大きな音はそれほど大きくしないで済む。もう一度、オリジナル(元)を見てみよう。明らかに静かな部分の音量が違うのがわかるだろう。

オリジナル(原曲)。先ほどの図と見比べると、小さな音は大きくなっているのがわかる

このように、小さな音が大半で、大きな音が一瞬あるような場合、ラウドネスイコライザーだけでは問題が出るため、リミッターを使ったり、そもそもラウドネスイコライジングをおこなわいようにする場合がある。

foobar2000のReplayGainは、ピーク音量が大きい場合に音割れを防ぐ機能がある

ここまでのまとめ

まず、平均的に大きな楽曲に対するラウドネスイコライゼーションは劣化が起きない。これはSpotifyの公式ヘルプの「マイナスのゲイン」に書いてある通りである。

一般的にポピュラー音楽はかなりの音量で構成されているため、ほとんどの場合は「マイナスのゲイン」に該当する。

一方「プラスのゲイン」の場合はリミッターが発動する場合もあると考えられる。次の項でその場合を考える。

Spotifyのラウドネスイコライジングは問題なのか?

リミッターを使うと、音割れは防がれる代わりに、動作した場合に若干音質が変化することがある。ただし、リミッターが発動する設定はSpotifyの設定画面にある「大音量」設定の場合に限られている。

大音量がターゲットとして設定されると、ラウドネスノーマライゼーションで音量を上げた際に例えば100を超える場合が考えられるため、リミッターを設定せざるをえないということだ。

普通のユーザーはこれが標準音量に設定されており、その場合音量が抑えめであるから、プラスのゲインが適用されるにしても小幅にとどまる。そのためリミッターを適用しなくても、音量が「100」を超えることがないため、リミッターを適用していないと思われる。

なんのためにこの設定があるのか?

「大音量」を設定する場合、車に乗っているとか、かなり騒がしい場所で遮音性の低いイヤホンでランニングをしているとか、屋外でパーティーする際などが考えられる。小さい音も大きくしつつ、大きな音は適度に圧縮をして、全体的に大きな音量で聴きたい場合だ。ダイナミックレンジを小さくし、騒がしい環境でも環境でも聴けるということだ。また、大音量は静かすぎる曲などに適用するシチュエーションもあり得る。

「小音量」を設定したいシチュエーションとしては、ベッドサイドで聴いたり、専用のリスニングルームなどノイズが低い環境で聴く場合で、音量を一定にしたい場合が考えられる。

切るべきでない理由

この機能を切るべきでない理由のまず一つ目は、音量を一定にする利便性がある。一旦設定をすると、どのような曲でも同じような音量レベルで聴くことができる。これは人間の聴覚(ラウドネス)に合わせて作られているため、科学的に同じような音量になる仕組みなのだ。

二つ目は、切っても切らなくてもほとんどの場合音質は変わらないからだ。上記で示したように、リミッターがかかる場合はSpotifyの「大音量」設定かつ、小さな音量レベルの曲で「プラスのゲイン」がかかる場合に限るそれ以外では劣化しない。その上、説明したように、一般的なポップミュージックではプラスのゲインがかかることさえ珍しい。また、実質上リミッターがかかったとして、プロのマスタリングエンジニアでもない限りは音質の変化に気づくのは難しいと言える。そこを気にするのなら、非可逆圧縮のSpotifyを使う理由があまり無くなってくる。

三つ目は、ダイナミックレンジを広く取るマスタリングが広まっているからである。SpotifyやApple Musicが広まり、この機能がONになっていることを知らずに使っているユーザーも多く、マスタリングエンジニアはこれに合わせて昔ほど大きな音でマスタリングしなくなった。

なぜならば、大きすぎる音で曲を作ると、「マイナスのゲイン」で音が小さくされてしまい、実質的には例えば0〜50までしか音の大小を表現できなくなるからだ。そのため、ラウドネスを気にして適切な音量でマスタリングするのだ。

まとめ

元の記事で曲のダイナミックレンジを損なうなどと誤解されているが、大きな間違いである。リミッターがかかる場合以外では、ダイナミックレンジは変化しない。なぜならば、音量を上げたり下げたりするだけの処理で、100を超えなければリミッターの処理をする必要がないからだ。

Ogg Vorbisのデコードされた音声や、音量を調節する処理の流れの中では普通は浮動小数点数で計算されるため、音量を上げたり下げたりするときにDAコンバーターのダイナミックレンジで表現できる範囲では情報が欠落することはない。

Spotifyのラウドネスイコライゼーションはアルバムに対してはアルバムの全曲が統一された音量(計算に全曲の音量レベルが使われ、そのゲインが各曲に適用される)でイコライジングされるため、アルバムを制作したアーティストが想定したものと異なる音量レベルで再生されることもない。

元記事の英語版で同じような結論に至ったユーザーもいた。

こんにちは、何年か前にRedditに投稿した者ですが、もうあまり正確ではありません。昔は、ノーマライズを使うとリミッターがかかってしまい、特に静かな音楽には劇的な効果がありました。Spotifyは、静かな音楽をUPさせようとするのですが、そうするとクリップしてしまうので、リミッターを作動させる必要があったのです。最近(昨年末)、Spotifyはやり方を変え、より標準化されたラウドネス測定を使用し、通常設定と静かな設定の両方で、リミッターを全く適用しなくなったのです。音量が大きすぎるものは小さく、小さすぎるものは大きくするだけですが、クリップする直前まではリミッターが不要になります。大音量設定だけはリミッターをかけるので、絶対に使わないでください。ノーマライズを使うか使わないか(大音量を除く)には、ラウドネス以外の客観的な差はありません。

--

--

謝花ミカ

理系と文系の学際的領域から社会学、自然科学、工学分野について記事を書く。