MP3やAACなどの不可逆圧縮フォーマットは、変換するとデータをカットして容量を落とします。
つまり、CDなどの無圧縮WAVデータからMP3などに変換すると音質が劣化してしまうのです。
これらについては過去の記事にて何度も解説してきました。ただ、音質が犠牲になるとはいえ圧縮率は非常に高く、高圧縮にしない限りはその劣化も聴き取りにくいものになります。
では、実際どれくらい音がカットされるのか。人間が聴き取れない高音部分だけカットするのか。
今回の記事では、これら非可逆圧縮フォーマットがどれだけ元のCD音源からデータをカットしているのか、ビットレートなどの値を変えながら音声波形を解析して視覚化したいと思います。非可逆圧縮とはどういったものなのか、より深く理解できましたら幸いです。
実験方法
実験方法ですが、流れとして以下の通りにやっていきます。
- 比較したい音声データを2つ用意する。無圧縮WAVとMP3など。比較データは色々変えてみる。
- Adobe Auditionというソフトにデータを読み込ませる。
- 片一方の音声データを位相反転させた後、2つのデータを合成する。(逆相を足す)
- これでデータに違いがあると、その差分が浮き出てくる。これがカットされたデータになる。
かなり大雑把に書くとこんな感じです。
なぜこれでカットされたデータが分かるか、という理屈をこれから簡単に書いてみます。ちょっと物理学とかの話が入りますが、難しいことは極力書かないようにしているのでどうぞお付き合いください。
参考リンク
以前も似た記事を書きましたが、この時は周波数に焦点を当てて解析したものですので、今回の実験とは少し違います。
こちら↓の記事は「高音部分」がカットされているだけのように見えますが、本当にそうなのかを確認する実験が今回の記事内容となります。
ブログ内リンク:不可逆圧縮音源の音声波形を見て性質を理解する
比較環境
LAME | バージョン 3.99.2.5 |
---|---|
iTunes(AAC) | バージョン 11.0.2.25 |
音源 | 銀の意志 (日本のRPGで使用されてる戦闘BGM) |
基本的にCBRで2chのステレオです。MP3はLAMEにて生成したものを使用しています。
実験の最後にAACも使いますが、こちらはiTunesでエンコードしたものを使用しました。
「音」とは、空気の振動で伝わる「波」である
中学の理科等で勉強されると思いますが、まず「音」とは何か知っておきましょう。
「音」とは、何か媒体となる物質を介して伝わることができる「振動」、つまり「波」の一種です。
私達が色々音を聞くことができるのは、空気中を伝わってくる波を人間の鼓膜がキャッチするからですね。
これを見て「頭が痛くなる」という方は数学にトラウマがあるのでしょう。私も得意ではないですけど(笑
波といって一番最初に思いつくのはsin波ですね。音もこれと一緒と考えていただければ大丈夫です。
縦(y軸)が音の振幅、つまり「音量」です。揺れ幅が大きいほど音が大きくなります
横(x軸)が音の周波数、つまり「音色」です。密になればなるほど音が高くなり、疎になるほど低くなります。
プラスの方の出っ張りを「山」、マイナスの方の出っ張りを「谷」と言いいます。この山と谷が繰り返されることで音が伝わっていくのです。中学の授業を思い出していただければお分かりでしょう。
空気中に伝わる音は、空気の圧が「密→疎→密→…」と繰り返されることで伝わっていきます。
音は足し合わせることができる
波の一種である音は、それぞれを足し合わせることができます。
例えば、同じ振幅の山(+)と谷(-)を足し合わせると、相殺して無音にすることができます。
周波数が異なれば、うなりや倍音効果といったものも生み出すことができます。普段私達が聞いている音は、多数の音が重なり合ってできています。なので、私たちはそれぞれに異なる様々な音を感じることができるのです。
▲赤と青の音を合成すると、緑の音になります。それぞれ周波数が異なるので”うなり”が発生しています。
あの「ぼわんぼわん」と音が周期的に大きくなったり小さくなったりするあれです。
位相・逆位相
位相(いそう)とは、簡単に言うと波形の相対的な位置と考えていただければ結構です。
例えば、振幅と周波数が同じ2つの音を”時間をずらして”鳴らすとします。このとき、波の周期と異なるタイミングで鳴らすと、それぞれの波の山や谷は重なることなくずれていくことになります。
このような状態の時、「赤の音は青の音と位相がずれている」と言います。位相がずれると、音楽の場合は不協和音になったり定位がふらついてしまったりして心地良い音にはあまりなりません。
では、次の位相状態はどうでしょう。
それぞれの音の山と谷がちょうど反対になって重なり合っています。
このように、2つの波が鏡写しのように重なり合わせることができる状態を「逆位相」「逆相」などと言います。赤の波の逆位相である青の波を重ねると、それぞれの波が相殺して「無音」となります。
逆位相を利用してカットの度合いを測る
今回の実験は、以上で解説した「逆位相」を利用します。
例えば、CDから取り込んだ無圧縮WAVデータAと全く同じデータBを用意します。これはコピーすれば簡単にできますね。そして、コピーした音声データBに対して「位相反転」という処理を施します。これは、記録されている音声データに対して逆位相となるよう波形を反転させる動作です。
位相反転させることで、音声データBはAの逆位相となるようにすることができます。
では、このデータAとBを合成してみるとどういった結果になるでしょうか。BはAの逆位相なのですから、互いに打ち消し合って「無音」のデータCになるはずですね。「A-B=0」になります。
では、今度は無圧縮音声データAをMP3に変換(データA’)してみたとします。MP3に変換したデータA’は、元のデータAと比べると音質的に劣化しています。つまり、データのカットが発生しているということになります。
もうお分かりですね。カットされた部分を調べたい場合は、MP3データを位相反転させて元のデータAと合成させてやればいいのです。こうすれば、データAとA’の差分「A – A’」が求まります。その差分こそ、変換によってカットされた音ということになるのです。
実験結果① WAVとWAVの比較と合成
さて、長々と理屈を述べてきました。ここからはお待ちかね、MP3やAACなどの不可逆圧縮フォーマットがどれくらい音をカットしているのか、ビットレートなどを変えながら見ていきましょう。
WAVとWAVの比較と合成
まず基本、CDから取り込んだ無圧縮WAVデータを2つ用意します。そして、片方を位相反転させ合成します。
全く同じデータで位相のみ反転させただけなので、合成すると完全に無音のデータができるはずですがどうでしょうか。
▲反転前のWAVデータ
反転させたデータが以下の画像です。
これだと見た目は変わりないですね、周波数が変わる訳ではないので反転後の音楽を聞いても通常通り音楽が再生されます。
ですが、これを拡大して反転前のWAVと反転後のWAVを比較すると違いがわかります。
上が反転前のWAV波形、下が反転後のWAV波形です。(ステレオなので1つのWAVデータに2つの波形が見えます。比較するときは、上2つの波形と下2つの波形をセットにして考えてください。)
ここまで拡大すれば違いがわかりますね。上の波形と下の波形は鏡写しをしたように真逆になっていることがわかります。
では、この2つのデータを合成(ダウンミックス)してみましょう。その結果が以下の画像です。
予想通り、完全な無音のデータになりました。それぞれの山と谷が完全に重なり打ち消し合っています。
ここまでが具体的な実験方法と基本的なデータの比較となります。ここからMP3と比較してみましょう。
実験結果② WAVとMP3の比較
比較方法は先ほどの操作と全く同じです。片方(ここではMP3にしました)の位相を反転させ逆位相にし、それを合成して差分を視覚化するという作業です。
ただ、WAV同士の比較と異なるところは、なぜかMP3データにすると曲の長さ(デュレーション)が異なってしまったこと。これはWAVデータの最初に機械音を一瞬(1サンプル)入れ目印にしてからMP3へ変換することで、どこで合わせればいいかわかりやすくすし解決。
さて、反転作業と合成作業は先程のWAVで詳しく書いたのでここからは結果のみを書いていきます。
WAVとMP3 320kbps
WAVとMP3 320kbpsを比較してみます。一見ただ波形を反転させただけのように見えますが、よく見ると若干違う箇所があることもわかります。この「若干違うところ」を浮かび上がらせてみましょう。
結果は以上の通りです。打ち消し合ってはいるのですが、消しきれてない部分が浮かび上がっています。これがMP3にしたときにカットされたデータになります。これを再生すると「カサカサ」とした小さい音が聞こえてきます。これをずっと聞いていると、小さいながらも若干音楽としての名残がある部分がありました。音程が少し聞き取れます。
ということは、MP3に圧縮すると高音部分だけでなく低音の部分もカットしているということになります。
これを周波数解析で確かめてみましょう。
ご覧の通り、高音部分だけでなく低音部分もカットされていることがわかりました。このことから、MP3圧縮というのは人間の可聴域以外の部分のみカットしているのではなく、可聴域にある音でも「違和感を感じない程度」にカットしている圧縮ということがわかりました。
ただ、合成後の音を再生してもカサカサと小さい音しか聞こえなかったので、320kbpsならば音質の劣化はほとんどないと思って問題ないようです。このカットされた音を聞き比べられる機材は限られてくるでしょう。(このカットされた部分が音楽の「深み」の部分かもしれません)
WAVとMP3 196kbps
それでは、ビットレートを下げてWAVとMP3 192kbps(CBR)と比較してみます。
明らかにカットされている部分が大きくなりました。これを再生すると、雑音はひどいが誰もが音楽であると認識できるレベルのものが聞き取れます。だた、バイオリンやシンバルのような高音部分が多い音はよく聞こえますが、バス部分があまり聞き取れなかったので、MP3というのは高音部分を多めにカットしているようです。
WAVとMP3 64kbps
では、最後にMP3 64kbps(CBR)を比較してみます。
これだけカットされれば安いイヤホンでも誰もが聞き比べられるでしょう。今まで聞こえなかったバス部分も聞こえ始めました。これだけ「音楽と言える部分」がカットされているにも関わらず、元の音楽との違和感はないというのはかなりすごいことだと思います。MP3というのはよくできた圧縮フォーマットですね。
実験結果③ WAVとAACの比較
では、MP3よりも高音質になりやすいというAACで比較してみましょう。AACは低ビットレートに強いということですので、192kbps(CBR)にて変換し比較してみます。
波形はMP3同様にカットされていることがわかりますが、周波数解析をすると少し違う結果になりました。
これを再生すると、確かに音程が聞き取れるほどのカットがされていることがわかりましたが、MP3 192kbpsと比べると「雑音」が大きく聞こえるような感じがしました。よりかすれていると言えばわかるでしょうか。特に高音部分での差が顕著で、MP3でカットされた音は音程がしっかりしているのに対し、AACは音を当てている感じがなく「きゅるきゅる」とずれて聞こえてきました。
私個人の感想ですが、「カットされた音の音質」はMP3よりAACの方が悪く感じました。同じ圧縮音源ですが、データのカットの仕方には随分違いがあるようです。
まとめ
左から「MP3 320kbps」「MP3 192kbps」「MP3 64kbps」です。ビットレートが低くなるにつれてカットされている音も多くなっていくことがわかります。
赤が「MP3 320kbps」、緑が「MP3 192kbps」、青が「MP3 64kbps」です。それぞれの周波数解析結果を重ねてみました。MP3はビットレートを下げていくと、どんどん低音部分を強くカットしていくようです。
緑が「MP3 192kbps」、ピンクが「AAC 192kbps」です。先ほど「AACの方が高音部分がきゅるきゅるする」と表現しましたが、確かにAACの方が高音部分をあまりカットしないようです。その他の部分でも、全体的に見てAACの方がカット部分少ないようにように見えます。
さて、いかがでしたでしょうか。
今回は以前書きました周波数解析による解析だけでなく、実際に差分を取り出してわかりやすく視覚化してみました。これらを見てみなさんはどう思いましたか。MP3は思ったより音をカットしていると感じましたか。
これはコラム的な内容ですので、この結果を見てこれからどう変えていくかはお任せします。
何かの参考データとしてお役に立てれば幸いです。
コメント
コメント欄を開く
コメント一覧 (1件)
面白い実験ですね。
MP3は聞こえない音をカットすると聞きますが
実際に、どんな音がカットされているのかずっと疑問に思っていました。
320あたりでも、人間に聞こえる音がカットされているんですね。