日記
FLACのプリエンファシスフラグ
2019年02月24日
前編:http://community.phileweb.com/mypage/entry/2819/20190222/61845/
さて、FLACのプリエンファシスフラグですが、規格上はMETADETA BLOCK中にBLOCK_TYPEをCUESHEETにし、そのBLOCK中のCUESHEET_TRACKに立てるように記載されています。
https://xiph.org/flac/format.html#cuesheet_track
適当なWavファイルとプリエンファシスフラグを立てたCueファイルを作り、Cueファイル指定した上で純正のエンコーダでエンコードしてみます。
コマンド:>flac --cuesheet=FILENAME.cue FILENAME.wav
なお、Cueファイルの中身は単純に以下としました。
FILE "FILENAME.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 01 00:00:00
書き出されたファイルをこれまた純正のFLACメタデータチェックツールで確認してみます。
コマンド:>metaflac --list FILENAME.flac
結果(抜粋):
METADATA block #2
type: 5 (CUESHEET)
track[0]
type: AUDIO
pre-emphasis: true
書き出されたFLACファイルは、規格通りCUESHEETタイプのMETADATA BLOCK中のCUESHEET_TRACKにプリエンファシスフラグが立っています。
では、各リッピングソフトの挙動はどうなっているのでしょうか。
上記のCueファイルを仮想マウントして、各リッピングソフトウェアのFLAC設定でリッピングしてみました。なお、この方法だと、TOC、サブコードどちらもプリエンファシスフラグが立った状態となるようです(最も一般的な状態だと思います)。
書き出されたFLACファイルを同様にチェックしてみます。
各リッピングソフトウェアは特別記載がない限り、最新の安定版を使っています。
・CUETools http://cue.tools/wiki/CUETools
FLACファイルには記述されません。ただ、同時に書き出されるCueファイルにはプリエンファシスフラグが立ちます。
・dBpoweramp CD Ripper https://www.dbpoweramp.com/cd-ripper.htm
FLACファイルにVORBIS_COMMENTタイプのMETADATA BLOCKに"Pre-Emphasis=Yes"と記述されます。
・EAC http://www.exactaudiocopy.de/
FLACファイルには記述されません。Image形式でリッピングすると、Cueファイルにプリエンファシスフラグが立ちます。
・iTunes https://www.apple.com/jp/itunes/
ディエンファシス処理された上でファイルが書き出されます。
※:誤り修正。FLACではiTunesはリッピングできません。
・TuneBrowser 4.9.0 (1439) https://tunebrowser.tikisoft.net/download/preliminary-release/
設定で挙動が変わります。
ディエンファシス処理有効時は、処理されたFLACファイルが書き出されます。
ディエンファシス処理無効時は、FLACファイルにVORBIS_COMMENTタイプのMETADATA BLOCKに"PRE_EMPHASIS=1"と記述されます。
ディエンファシス処理に対応した再生ソフトウェアは自分が見つけた限り、Foobar2000にDe-emphasis postprocessorを入れた場合と、TuneBrowserしか見つかりませんでした。
https://www.foobar2000.org/components/view/foo_dsp_deemph
Foobar2000では記載の通り、PRE_EMPHASISもしくはPRE-EMPHASISの値が、"1","on","yes"の時に自動的にディエンファシス処理されます。 確かにdBpoweramp CD RipperとTuneBrowserでリッピングしたFLACファイルを再生するとディエンファシス処理が適用されます。対して、FLAC規格のCUESHEET_TRACKにプリエンファシスフラグを立てたFLACファイルはディエンファシス処理が適用されませんでした。
TuneBrowserではPRE_EMPHASISの値が"1"の時に自動的にディエンファシス処理されます。 確かにTuneBrowserでリッピングしたFLACファイルを再生するとディエンファシス処理が適用されます。対してdBpoweramp CD RipperとFLAC規格の方法ではディエンファシス処理が適用されませんでした。
さて、FLACにおけるプリエンファシスフラグの立て方というのはどうやら複数あって、FLAC規格が示しているものは一般的ではないようです。まあ、規格を無視した実装というのは往々にしてあるもので、コーデック周りだと記憶に新しいところでmoraがDSDIFFにID3ブロックを突っ込んでそこにタグ情報を記述するということがありました。
対応方式は様々ですが、自分が確認した限り、以下の組み合わせでリッピングしたFLACファイルは正常にディエンファシス処理がされます。
dBpoweramp CD Ripper -> Foobar2000+De-emphasis postprocessor
TuneBrowser -> Foobar2000+De-emphasis postprocessor
TuneBrowser -> TuneBrowser
なかなかやっかいだなあと思いました!
レス一覧
-
serieril 様
詳細な情報をありがとうございます。
当方、この問題を本日記サイトに提起した関係もあり、勉強させて頂いております。
懲りずに、騒動記「その3」をUPいたしましたので、ご批判、コメントなど頂戴出来れば幸いです。
http://community.phileweb.com/mypage/entry/4637/20190228/61894/
byシェルティーのパパ at2019-02-28 21:59
レスを書く