藤本健のDigital Audio Laboratory

第593回

FLACとApple Lossless圧縮で、変換速度や圧縮率に違いはある?

 オーディオのロスレスといったらFLACが主流なのかなと思っていたら、OTOTOYがApple Lossless(ALAC)で配信をスタートし、iTunes Storeのハイレゾ配信の噂も出てくる中、ALACも気になる存在となってきた。このFLACとALAC、ともにロスレスなのだから基本的に音質に違いはないはずだが、エンコード速度や圧縮率に違いはあるのだろうか? どんな差があるのか実験してみた。

FLAC/ALAC変換時の圧縮率やエンコード時間をチェック

FLAC

 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つのロスレスコーデックの圧縮率比較をしている。

【Arearea/愛のあかし 3分56秒】('04年に検証)

フォーマット ファイルサイズ 圧縮率 変換時間
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秒



【アイネ・クライネ・ナハトムジーク ト長調 K.525 第4楽章「ロンド(アレグロ)」 3分23秒】('04年に検証)

フォーマット ファイルサイズ 圧縮率 変換時間
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版を使用した。

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ロスレスバージョンを作成」を実行しただけ。

FLAC Frontendを使って、各レベルでエンコードを行なった
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からWAVに変換すると、WaveCompareでは変換前後のファイルが一致という結果に

 今回の実験はここまでだが、念のためにチェックしておきたいのが、本当にロスレス圧縮ができていたのか、という点。念のために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という妙なものになっているのだ。

iTunesのインポート設定でWAVを選択して、ALACをWAVに変換
44.1kHz/16bitのデータで比較してみたところ完全に一致
96kHz/24bitで実行すると「フォーマットに相違があります」という結果に

 自動変換したのがいけなかったのかと手動で設定しなおそうと思ってみてみると、そもそもサンプリングレートは48kHzまでしか対応していないし、量子化ビット数は16bitまでしか対応していない。こうした結果を見ると、本当にiTunesで再生できているのか、ちょっと不安になるが、とりあえずここでは深追いせず、ALACをWAVに変換できるソフトを探してやり直してみた。ネットで検索してみたところMac上で動作するXLDというツールが見つかったので、これで変換してみたのだ。設定を見てみると96kHzまで対応しているが、ここでは「オリジナルと同じ」を選択。なぜ176.4kHzや192kHzがないのか、ちょっと気になるところではあるが、変換した結果を再度Windowsへ戻し、WaveCompareで比較してみたところ、今度は完全一致した。

設定ではサンプリングレートは48kHzまで
量子化ビット数は16bitまで
MacのXLDでALACからWAVに変換した
設定で「オリジナルと同じ」を選択
変換結果を再度Windowsへ戻し、WaveCompareで比較すると今度は完全一致した

 ということはiTunesでの再生はともかく、ALAC変換までは完全に96kHz/24bitのデータとして受け渡されていたことが証明できたことになるわけだ。今度、また改めてWindows、MacのiTunesで本当にハイレゾのALACが、キチンとハイレゾとして再生できているのか、さらにはiPhoneやiPadに転送したハイレゾデータがハイレゾとして再生できているのかなどを検証してみたいと思う。

藤本健

 リクルートに15年勤務した後、2004年に有限会社フラクタル・デザインを設立。リクルート在籍時代からMIDI、オーディオ、レコーディング関連の記事を中心に執筆している。以前にはシーケンスソフトの開発やMIDIインターフェイス、パソコン用音源の開発に携わったこともあるため、現在でも、システム周りの知識は深い。  著書に「コンプリートDTMガイドブック」(リットーミュージック)、「できる初音ミク&鏡音リン・レン 」(インプレスジャパン)、「MASTER OF SONAR」(BNN新社)などがある。またブログ型ニュースサイトDTMステーションを運営するほか、All AboutではDTM・デジタルレコーディング担当ガイドも務めている。EPUBマガジン「MAGon」で、「藤本健のDigital Audio Laboratory's Journal」を配信中。Twitterは@kenfujimoto