藤本健のDigital Audio Laboratory
第593回:FLACとApple Lossless圧縮で、変換速度や圧縮率に違いはある?
第593回:FLACとApple Lossless圧縮で、変換速度や圧縮率に違いはある?
(2014/5/26 11:58)
オーディオのロスレスといったらFLACが主流なのかなと思っていたら、OTOTOYがApple Lossless(ALAC)で配信をスタートし、iTunes Storeのハイレゾ配信の噂も出てくる中、ALACも気になる存在となってきた。このFLACとALAC、ともにロスレスなのだから基本的に音質に違いはないはずだが、エンコード速度や圧縮率に違いはあるのだろうか? どんな差があるのか実験してみた。
FLAC/ALAC変換時の圧縮率やエンコード時間をチェック
3月末までの状況を振り返ると、e-onkyo musicやHQM STORE、mora、VICTOR STUDIO HD-music.、music.jpと、OTOTOYを除く国内の主要ハイレゾ配信サイトのロスレス圧縮形式は、いずれもFLAC。再生側の環境もFLACは充実しており、Windowsならfoober2000やAudioGate、Media Go、MediaMonkey……といったものがあるし、MacならAudirvana、VLC、そしてAudioGateがあるし、iOS上でもFLAC PlayerやHF Playerなどがあり、WalkmanもFLACをサポートしているので、ロスレスはFLACで決まりなんだろう、と思っていた。
ところが3月31日よりOTOTOYもFLACでの配信をスタートすると同時にALACでの配信もスタートさせた。ちょうど同じころからiTunes Storeのハイレゾ配信の噂がいろいろなところから聞こえるようになり、本当に実現すればiTunes StoreでもALACが使われる可能性が高い。個人的にはALACはWindows Media Audio Lossless(WMA Lossless)と同様に過去のものとなったような気がしていたのだが、iTunesでそのまま扱えるという点、そしてiPhoneなどに転送して標準のミュージック機能で再生できることを考えると、ALACのアドバンテージは大きそうだ。しかもAppleはALACを2011年にオープンソース化したため、対応するソフトは増えてきており、ウォークマンもFLACだけでなくALACにも対応していることを考えると、ユーザーにとってかなり使いやすい環境になってきている。
今回、そのFLACとALACの比較をしてみようと思うのだが、実はこのDigital Audio Laboratoryでは、ちょうど10年前の第145回の記事でも、FLACとALACの圧縮率比較をしている。デジタルオーディオの世界は進化が速いように思っていたが、実はあまり変わっていないのかもしれない。それぞれの性能は10年で進化しているのだろうか?
その10年前の記事では、出たばかりのiTunes 4.5がALAC対応したということでFLACとの比較をしているのだが、この2つのほかにも「Windows Media Audio Lossless」、「Perfect Clarity Audio」、「Monkey's Audio」と計5つのロスレスコーデックの圧縮率比較をしている。
フォーマット | ファイルサイズ | 圧縮率 | 変換時間 |
---|---|---|---|
WAV | 40,685KB | - | - |
Apple Lossless | 27,642KB | 67.94% | 10秒 |
WMA Lossless | 27,013KB | 66.40% | 16.5秒 |
Perfect Clarity Audio | 27,697KB | 68.08% | 7秒 |
FLAC | 27,547KB | 67.71% | 5秒 |
Monkey's Audio | 26,752KB | 65.75% | 7秒 |
フォーマット | ファイルサイズ | 圧縮率 | 変換時間 |
---|---|---|---|
WAV | 65,866KB | - | - |
Apple Lossless | 14,790KB | 22.45% | 7.5秒 |
WMA Lossless | 14,182KB | 21.53% | 12.5秒 |
Perfect Clarity Audio | 15,102KB | 22.93% | 6.5秒 |
FLAC | 14,951KB | 22.70% | 4.5秒 |
Monkey's Audio | 13,972KB | 21.21% | 6.3秒 |
この時、ストップウォッチで計測したエンコード時間も記載している。PCのスペックはハッキリしないが、おそらく2004年という時期を考えるとPentium 4のマシンではないかと思われる。また画面を見るとWindows XPを使っていたようだ。またFLACは、現在Level 0~8の9段階の設定が可能だが、この時どのLevelを使っていたかは不明だ。
そこで、今回は10年前の比較の意味も込めて、同じ44.1kHz/16bitの曲データをFLAC、ALACのそれぞれで圧縮して比較するとともに、96kHz/24bitのハイレゾ楽曲も2曲加えて実験してみたいと思う。また、FLACについてはLevel0~8のそれぞれでどんな結果になるかもチェックしていくことにする。
ちなみに今回テストしたのはHaswellアーキテクチャのCore i7 4770KというCPUを組み込み、メモリー16GBというPC。ここにWindows 8.1を搭載した環境でエンコードを行なったのだ。エンコードに使ったソフトはFLACはFLAC Frontendを利用し、そのエンジンとしてはFLAC 1.3.0を使っている。一方のALACはiTunes 11.2.0のWindows版を使用した。
今回、実験素材として、前回扱った2曲に追加した96kHz/24bitのハイレゾ音源(WAV)は、以前にインタビュー記事でも扱った2つ。類家心平「4 AM」と、キロロ「長い間」だ。
FLACではエンコード後のベリファイは初期設定のオンのまま、Levelを1つずつ動かして計9回のエンコードを行なった。一方のALACはiTunesのCDのインポート設定からAppleロスレス・エンコーダを選択し、「Appleロスレスバージョンを作成」を実行しただけ。
気になっていたのは、CDと比較してハイレゾ楽曲の圧縮率がどうなるのか、という点だ。一般的にCDをロスレス圧縮すると60~70%程度のサイズになる。これはハイレゾとなったときに変わるのだろうか? ちなみに上記の10年前の実験で扱ったアイネ・クライネ・ナハトムジークの場合はずいぶん圧縮率が高く、ファイルサイズが小さくなっているが、波形を見ると非常に音圧が小さく情報量が少ないためと思われる。
もう一つ、ぜひ確認してみたかったのが、もともと44.1kHz/16bitであった音源を、ビクタースタジオの技術「K2HDプロセッシング」でリマスタリングして96kHz/24bit化されたキロロの「長い間」の圧縮率が他と比べてどうなのか、という点。こうしたことに注目して今回行なった結果をご覧いただきたい。
楽曲 | 4AM | 長い間 | 愛のあかし | アイネ・クライネ・ ナハトムジーク |
---|---|---|---|---|
音質 | 96kHz/24bit | 96kHz/24bit | 44.1kHz/16bit | 44.1kHz/16bit |
トラック時間 | 7:32 | 4:39 | 3:56 | 3:28 |
WAV | 253,988KB | 156,863KB | 40,685KB | 35,866KB |
ALAC | 177,155KB | 98,048KB | 27,638KB | 14,786KB |
FLAC 0 | 192,600KB | 104,938KB | 29,239KB | 15,398KB |
FLAC 1 | 190,022KB | 102,743KB | 28,620KB | 15,342KB |
FLAC 2 | 189,698KB | 102,570KB | 28,572KB | 15,306KB |
FLAC 3 | 178,141KB | 101,596KB | 27,962KB | 14,528KB |
FLAC 4 | 174,940KB | 99,743KB | 27,344KB | 14,479KB |
FLAC 5 | 174,727KB | 99,105KB | 27,319KB | 14,440KB |
FLAC 6 | 174,727KB | 99,097KB | 27,318KB | 14,440KB |
FALC 7 | 174,723KB | 98,648KB | 27,299KB | 14,391KB |
FLAC 8 | 174,494KB | 98,367KB | 27,277KB | 14,381KB |
4AM | 長い間 | 愛のあかし | アイネ・クライネ・ ナハトムジーク | 変換時間 | |
---|---|---|---|---|---|
音質 | 96kHz/24bit | 96kHz/24bit | 44.1kHz/16bit | 44.1kHz/16bit | - |
トラック時間 | 7:32 | 4:39 | 3:56 | 3:28 | - |
WAV | 100.00% | 100.00% | 100.00% | 100.00% | - |
ALAC | 69.75% | 62.51% | 67.93% | 41.23% | 12.2秒 |
FLAC 0 | 75.83% | 66.90% | 71.87% | 42.93% | 9.6秒 |
FLAC 1 | 74.82% | 65.50% | 70.35% | 42.78% | 10.1秒 |
FLAC 2 | 74.69% | 65.39% | 70.23% | 42.68% | 10.4秒 |
FLAC 3 | 70.14% | 64.77% | 68.73% | 40.51% | 10.7秒 |
FLAC 4 | 68.88% | 63.59% | 67.21% | 40.37% | 10.9秒 |
FLAC 5 | 68.79% | 63.18% | 67.15% | 40.26% | 13.1秒 |
FLAC 6 | 68.79% | 63.17% | 67.15% | 40.26% | 13.3秒 |
FALC 7 | 68.79% | 62.89% | 67.10% | 40.12% | 29.5秒 |
FLAC 8 | 68.70% | 62.71% | 67.04% | 40.10% | 43.7秒 |
実は時間の測定方法が10年前とちょっと違う。PCの演算能力が大きく向上しているだけに、44.1kHz/16bitの音源を圧縮するのにかかる時間は一瞬であり、ストップウォッチで計測するのは無理。そこで4曲まとめて圧縮してかかる時間を計測しているのだ。
まず圧縮にかかるエンコード時間から見ていくと、ALACは12.2秒なのに対し、FLACはレベルによってかなり違う。一番圧縮率の低いLevel 0の場合9.6秒と速いが、レベルが上がり圧縮率が高まるごとに時間がかかるようになっている。ただよく見るとレベル6まではそれほど大きな変化がないが、Level7、Level8と急上昇しているのだ。ALACと同等の時間のものはというとLevel4とLevel5の間といったところだろう。
では、圧縮率を見てみよう。「4AM」も「長い間」も60~70%の間であり、44.1kHz/16bitのものと比較しても大きな差はない。「長い間」のほうが、やや圧縮率が高いのは元がCDだからなのか、他に要因があるのかは分からないが、極端に圧縮率が高くなっているわけではないので、圧縮の観点からはしっかりハイレゾ化ができているといってもよさそうだ。
気になるLevel7、Level8での圧縮率だが、こうして見ると圧縮時間がかかる割には、対して向上していない。どう判断するかは人それぞれだろうが、ここにある4つの結果からみると、圧縮率重視ならLevel6、スピード重視ならLevel4を選ぶのがバランス的によさそうに思うが、どうだろうか?
FLAC/ALACから、本当に元のWAVへ戻せる?
今回の実験はここまでだが、念のためにチェックしておきたいのが、本当にロスレス圧縮ができていたのか、という点。念のためにFLACやALACからWAVに変換し、元の状態に戻るのかを確認しておきたい。
まずテストしたのはFLAC。試しにLevel5で圧縮したものをFLAC Frontendを用いてWAVに変換し、それを元のWAVと比較してみた。比較はefu氏開発のフリーウェア、WaveCompareを使ってみた。結果は完全に一致した。ほかの曲やLevel0やLevel8のものも試したが、どれも完全に一致するようだった。
続いてALAC。これはWAVからALACへコンバートするときと同様、iTunesの一般環境設定においてCDのインポート設定でどのコーデックを選ぶかを設定するので、ここでWAVを選択した上で、ALACにWAV変換をかけてみた。その結果を44.1kHz/16bitのデータで比較してみたところ完全に一致した。ところが、96kHz/24bitのもので実行すると、「フォーマットに相違があります」という表示が出てくる。なぜだろう? と思ってよく見てみると、WAV変換したファイル形式が96kHz/16bitという妙なものになっているのだ。
自動変換したのがいけなかったのかと手動で設定しなおそうと思ってみてみると、そもそもサンプリングレートは48kHzまでしか対応していないし、量子化ビット数は16bitまでしか対応していない。こうした結果を見ると、本当にiTunesで再生できているのか、ちょっと不安になるが、とりあえずここでは深追いせず、ALACをWAVに変換できるソフトを探してやり直してみた。ネットで検索してみたところMac上で動作するXLDというツールが見つかったので、これで変換してみたのだ。設定を見てみると96kHzまで対応しているが、ここでは「オリジナルと同じ」を選択。なぜ176.4kHzや192kHzがないのか、ちょっと気になるところではあるが、変換した結果を再度Windowsへ戻し、WaveCompareで比較してみたところ、今度は完全一致した。
ということはiTunesでの再生はともかく、ALAC変換までは完全に96kHz/24bitのデータとして受け渡されていたことが証明できたことになるわけだ。今度、また改めてWindows、MacのiTunesで本当にハイレゾのALACが、キチンとハイレゾとして再生できているのか、さらにはiPhoneやiPadに転送したハイレゾデータがハイレゾとして再生できているのかなどを検証してみたいと思う。