FC2ブログ

CDの「エンファシス」ってナニ?

13/06/02初稿

 記事のつながりを考慮し、「リッピングエラーの正体」から分離独立させました(ので本来の初稿はそちらの日付です)。

 なお、有料ソフトは扱っていないのをはじめとして、当然ながら、記述している機能に関連するソフトを網羅しているわけではありません。


■CDのエンファシスとは何か

・CDにノイズリダクション?
 上記の記事を書くために追試などやってる中で、「エンファシス」なる処理(変調)がかかっているCDがあるということを知りました(今さらでスミマセン… CDクラスの規格でそんな小手先のことするとは思いもよらず)。
 要するにDolbyNRみたいな処理した音声を収録するものらしいです。かける処理を「プリエンファシス」、解除する処理を「ディエンファシス」って言うんですね。
 初期(80年代?)のCDには存在するようです。最近でも絶滅したワケではないとの話もあるようですが…

#後日注:アナログ的なノイズリダクションと言うより、「レベルが下がりがちな高域でビット深度が不足して再現性がヤバくなる対応」かも知れません。

・どこで処理しているのか
 CD-DA標準規格としてあるワケですから、CDプレーヤでは自動的に処理されます。

#中島平太郎氏共著「図解コンパクトディスク読本」のP.120に、CDに埋め込まれているエンファシス情報に関する記述があります。CCCDなどと違い、対象CDにはちゃんと「CompactDisc」のロゴ付いてますし何も注記ないことからも、標準規格なのは自明でしょう。

 DACブロック(*)で処理するのが基本で、セパレートの場合のS/PDIFには処理されずにそのまま出力されるようです。そう言われてみると、確かにS/PDIFフォーマットの中に「エンファシスの有無」ビットがあります。
 ONKYO製DACで「発売後のアップデートでディエンファシス処理が追加された」って話もありますし。

これまでに発売された音楽CDの一部には、録音時に高音域を強調しておく「プリ エンファシス」処理 が施されているものがあります。
P-3000R、DAC-1000のデジタル入力(同軸、光、AES/EBU)において、このような音楽CDを再生する際に、強調された高音域を元の特性に戻す、「ディエンファシス」機能を追加いたします。
本機能の追加により、プリエンファシスの施された信号に対してはディエンファシスを自動的におこないます。

出典:https://www.jp.onkyo.com/news/information/topics/20110401_emphsis.htm

 本当は「機能を追加」というより「入れ忘れてたのを修正」だと思いますけど(苦笑)。
 当機はUSB入力もありますが、S/PDIF入力だけ対応したところからみて、USB-Audio転送規格にはエンファシス情報送る規定はなさそうです。S/PDIFと違ってCDを想定しているワケじゃないですもんね。

*:もっと具体的には普通はDACチップで処理されるのではないかと思っています。例えばAK4497のスペックに「32, 44.1, 48kHz対応ディジタルディエンファシス内蔵」とありますので、これを使うのが一番よさそうだからです。

 セパレートではなく単体CDプレーヤのS/PDIF出力はどうなのでしょうか。なんとなく処理しちゃってるような気がします。ビット立てなければ問題ありませんから…


■リッピングではどうすればよいか

・≪iTunes≫ではどうしているか
 CDプレーヤで再生する限りは気にする必要なさそうです。
 が、PC-Audioにおけるリッピングではどうなっているのでしょうか。エンファシストラックはどこかでディエンファシスしないとリッピングエラーどころではない音質上の大問題じゃないですか。

 おそらくPC用ドライブとしては“知ったことではない”でしょうからリッパー以降での対応が必要になります。
 が、エンファシス処理機能はリッパーというソフトウェアにおいて標準装備ではなさそうです。
 リッピング時の処理に対応しているリッパーとして代表的なのは≪CD2WAV32≫でしょうか。≪uLilith≫のCD取り込みも対応しているようですね。

 では、ERIが主力リッパーとして使っている≪iTunes≫はどっちなのでしょう?
 web上の情報では対応しているらしいのですが、これは確実に確かめておかないと…

・エンファシスCDを特定する
 リッパーのエンファシスに関する機能を確認するためにはまず「エンファシス処理されたCD」が必要です。それってどれでしょう?
 まず、エンファシス有無の調べ方です。

 ・≪CD2WAV32≫・・・ポップアップで表示してくれます
 ・≪EAC≫・・・リストに項目があります
 ・≪CD Manipulator≫・・・TOC解析で表示されます
 ・≪CUERipper≫・・・リッピングするとCUEsheetに記述されます

#情報までですが、≪PlexToolsProfessional≫にも表示があります。

 しかし、手持ちCDを手当たり次第ってのもうんざりです。
 ふと、

 ・古い
 ・99年にリッピングしたデータと現在リッピングしたデータが全曲“全く”一致しない
 ・どころか、平均音量値なども大きく異なる

ディスクがそれクサイのではないかと思い、≪CD2WAV32≫にかけてみたらビンゴでした。86年リリースですが音源自体は79年っぽいCDでした。その他計3枚ほど発見。

・リッパー処理仕様の調べ方
 次はリッパーがどう処理しているのかを調べる方法です。

 ちょっと考えたところ、明示的に「ディエンファシス処理なし」でリップして得たデータと、調査対象リッパーで得たデータをWAVコンペアするのがよさそうです。“聴いたカンジ”はあくまでも補助的確認手段ということで。

 ≪CD2WAV32 3.21≫は、リッピング時にディエンファシス処理する/しないを切り替えられますので、それによって明示的に「処理しない」リッピングを行って上記“基準データ”を作成しました。
 「エンファシス処理されているCD」を「ディエンファシス処理しない」でリップすると、処理したリップに比べ、確かに高音がシャリシャリして低音が引っ込む“Dolbyかけて録音したカセットをDolbyなしで再生”したような音に聴こえます(な… 懐かしい…)。

 ディエンファシス処理なしデータと“全面的にWAVコンペア一致しない”データを作るリッパーはおそらくディエンファシス処理を行っていると推定されます。

・結果
 09年にS02Jとセットで用いたハズの≪iTunes 9≫と現在利用中の≪iTunes 11≫は… 「全面的に一致しない」でした。つまりディエンファシスされているということですね。

 明示されていませんが、「対象を自動的に検出してリッピング時にディエンファシス処理する」という意味で、≪iTunes≫は「エンファシスCD対応」しているようです(少なくとも9~11。Offは出来ないようですが。また、以下のバグ情報の通りすべてのサブバージョンで大丈夫とも言えませんが)。聴感上も、≪CD2WAV32≫で明示的に「ディエンファシスあり」リップしたデータの再生音に近く、自然に聴こえますので間違いなさそうです。
 「対象CDを探し出してリップし直す」作業はとりあえず要らないようでホッと一息です。

 なお、Wikiによると10.5.2でディエンファシス関連の不具合修正したとあり、別の情報では10.5.1だけズッコケてたのを修正とありました。ERIとしては未確認ですが、事実なら、これもディエンファシス対応している証左になりますね。

 しかし、なにげに≪iTunes≫が対応しているということは、もしかしてイマドキのリッパーは対応アタリマエ?
 そこで、メインPCにインストールされていた≪WMP 12.0.7.7601.17514≫と≪Power2Go Ver6.0.0.3408≫を試してみたところ、「ディエンファシスなし」とWAVコンペア一致しました。つまり非対応のようです。聴感上も“シャリシャリ”でしたので間違いないでしょう。

 Appleやるじゃん。MSダメじゃん。


■エンファシス対応方法いろいろ

 ということで、プリエンファシスされたCDをファイル化して再生する時、そのままだと意図した音質で聴けませんので、何等かの対応する必要があります。

・A:ディエンファシスしてファイル化
 これが一番ラクですね。リッピング後は普通のファイルとして扱えますので。

(1)上記の通り、「リッピング時に変換してくれるリッパー」を使うのが一般的でしょう。CDと同じ16bitファイルになっちゃうのが普通ですが、24bitでファイル化するものもあるようです。

 ・≪iTunes≫・・・処理するしないの選択なし
 ・≪CD2WAV≫・・・選択可
 ・≪TuneBrowser≫・・選択可
 ・≪foobar2000≫・・・プラグイン設定でできるようです

などでリアルタイム変換できます。

 なお、「検出できる=処理できる」ではありません。例えば、≪EAC≫は検出はできますがディエンファシス処理機能はありません。≪CUERipper≫もそうですね(CUEsheetに「FLAGS PRE」を立てるのだから処理していない。念のためDetect IndexesのTrue/Falseでの結果はWAVEコンペア一致)。
 いわゆる「セキュアリッパー」は読んだデータ値を加工しちゃうとメンドクサクなりますから非対応なのかも知れません。

(2)リッピング時ではなく、一旦ファイル化した後ディエンファシス処理するソフト(*)で変換する方法もあります。
 つまりある種のエンコードされたデータのデコーダを変えるということになりますので、音質的なメリットとかあるかも知れませんね。

*:http://www.ne.jp/asahi/fa/efu/soft/de/de.html

・B:再生時にプレーヤ側でリアルタイム処理
 14/10/08追記:例えば≪foobar2000≫のプラグイン、「EffectDSP(*)」に同梱されている「IIR Filter」のモードとして「CD De-emphasis Filter」があります。実際そのように機能しているようです。
 これだとハイビットで処理されるのでいいかも知れませんね。Convert機能を使えば(1)の「ファイル変換ソフト」としても使えます。リッピング時に動作させれば(1)の「リアルタイムディエンファシスソフト」になります。

*:http://www.foobar2000.org/components/view/foo_dsp_effect

 ≪foobar2000≫、さすが。

 19/02/25追記:専用(?)プラグインも登場したようです(*)。
 「Usage: create tag PRE_EMPHASIS or PRE-EMPHASIS with value "1", "on" or "yes"(for CDs with preemphasis)」とのことで、タグにしかるべき記述があると自動処理するみたいですね。ERIではタグ使ってないので試していませんけれど。

*:https://www.foobar2000.org/components/view/foo_dsp_deemph

・C:再生時にDAC側でリアルタイム処理
 DACユニット側の処理を手動でON/OFFするなら特に問題なさそうです。が、自動でON/OFFさせるためには、エンファシスフラグを立てたS/PDIFを出力し、S/PDIF判定に対応したDACユニットで再生する必要があります。
 つまり「ファイルトランスポートをCDトランスポートのように振る舞わせる」ということですので、そういう機能を有したプレーヤソフトとS/PDIFエンコーダハードが連動する必要があります。
 少なくともPCによるファイル再生では難しいのではないでしょうか。


■エンファシス対応の現実問題

 A,Bに共通する話ですが、再生時にディエンファシスする・しないを自動化するためには、リッピングと再生において以下の条件が必要になります。

・「当該ファイルは再生時にディエンファシス処理が必要である」ことを示すフラグが立てられるファイル形式(CUEシート)の利用
・リッピング時にフラグが立てられるリッパーソフト
・Bの場合はフラグを認識してディエンファシス処理するプレーヤソフト
・Cの場合はS/PDIFエンコーダにフラグを通知するプレーヤソフト

 つまりファイル形式(CUEシート)とリッパーソフトとプレーヤソフトに縛りが発生しますので、どうしても自動化したい場合以外はちょっとキビシイような気がします。
 ちなみに、WAVフォーマット自体にはエンファシス処理の有無を示すフラグはありません(独自拡張すれば別ですが。CDリッピング音源用フォーマットじゃないので当たり前ですけれど)。

 対応を決めきれない場合は、とりあえず「ディエンファシスかけたファイル」と「かけてない素のファイル」の両方リッピングしておくのがよいような気がします。「難病の治療法が開発されるまで人工冬眠する」みたいなカンジで(笑)。

・エンファシス検出方法と「誤謬CD」
 このあたり19/02/末あたりに追記。
 いずれにしても「エンファシスかかっているか(プリエンファシス処理されているか)」を正確に知ることが非常に重要です。ちなみに有無はディスク単位ではなくトラックごとです。
 表示機能があるCDプレーヤやS/PIDF解析機能があるデバイスを使う手がありますね。
 リッピング時にディエンファシス処理してからファイル化したりフラグを立てたりする場合は、リッパーが正確に判定できなければなりません。

 ところで、エンファシス有無情報はTOCとサブコード両方に存在しますが、≪EAC≫,≪CD2WAV≫などの“検出機能”はTOC情報を使っていると推定されます。サブコードはそれぞれのトラックのデータを実際に読まないと認識できないのでその時間を要しますが、CDをマウントするだけで発動しているように見えることからです。
 ここで問題になるのが「TOCではエンファシスなし・サブコードではあり」になっているタイトルが存在することです。そういうタイトルは、TOCのみ参照していると推定されるソフトではエンファシスなしと認識してしまいます。
 そのあたりの事情を実際に確認するため、ネット上でそれに該当するCDとして紹介されていた以下タイトルを入手。

  DENON製COCO-78820 (94年録音・95年発売)
    コレッリ:ヴァイオリンと通奏低音のためのソナタ集 作品5より
    寺神戸 亮/シーベ・ヘンストラ/ルシア・スヴァルツ

#もちろん、同タイトルでも商品番号が違えば当事情が同じである保証はありません。さらに言うと、商品番号が同じでも途中で修正される可能性もあります。ちなみに、同目的で入手した別タイトルで、TOCもプリエンファシスありになっているものがありました。ネット情報が誤りだったのか、同商品番号のまま“こっそり修正”されたのか、などは不明です。

 当タイトルで確認したソフトの挙動を示します。

 ・≪EAC V1.3 from 2. September 2016≫表示・・・なし
 ・≪EAC V1.3 from 2. September 2016≫Detect Gaps後表示・・・なし
 ・≪CD Manipulator 2.70 Final!≫表示(デフォルトTOC)・・・なし
 ・≪CD Manipulator 2.70 Final!≫解析後表示・・・あり(*)
 ・≪CUERipper 2.1.6≫CUEsheet記述(Detect Indexes=True)・・・あり
 ・≪CUERipper 2.1.6≫CUEsheet記述(Detect Indexes=False)・・・なし
 ・≪TuneBrowser 4.11.5≫トラック情報(Q SubCodeをチェックする=Yes)・・・あり
 ・≪TuneBrowser 4.11.5≫トラック情報(Q SubCodeをチェックする=No)・・・なし
 ・≪CD2WAV32 3.25≫表示・・・なし
 ・≪iTunes 12.3.2.20≫リッピング・・・ディエンファシスされず(つまり“なし”と判断)

 リッピング時にディエンファシス処理するソフトの場合は、実際にフレーム読んでるワケですからサブコードもチェックできるハズですが、残念ながら≪iTunes≫は“サブコード(のエンファシスフラグ)を見ていない”ようです。

*:「サブチャンネルを解析し、正しいTOCとギャップ情報を取得します」を実行後のTOC表示で「50/15」となります。これはエンファシス特性のことですが、JIS、DACチップ(例えばAK4497)仕様、上述の図解コンパクトディスク読本のサブコード説明、S/PDIF(民生)規格らを見ると、CDのエンファシス特性は「50/15」だけ(「CCITT」はない)なので、単純に「あり」と表示しない理由はよくワカリマセン。

 ちなみに、上述の通り≪CUERipper≫や≪TuneBrowser≫ではサブコードをチェックする・しないが選べます。チェックした場合は、当然TOCよりサブコードが優先されるのでしょう。

・「誤謬CD」との向き合い方
 とりあえず、ソフトウェア的にサブコードのフラグも確認できる手段を確保できたのはよかったです。
 しかし、こういう規格ミスマッチのディスクが実在するということは、逆に「TOCではエンファシスあり・サブコードではなし」というケースをはじめ、サブコードのフラグと実際の音声データの状況がミスマッチしていることはないのか(*)不安になってきます。

*:「エンファシスかかってないのにフラグ立ってる」タイトルがあったというお話も見かけました。本当だったら「おいおい」ってカンジです。

 エンファシスにちゃんと対応しているつもりなのに高域に違和感を感じた場合は調べてみた方がよさそうです。
 スペクトルが「フロアノイズで高域が上がっていく」場合はプリエンファシスされていると判断してよさそうですが、「フロアノイズが高域までフラット」に見えるケースでは判断難しいですね。最後は聴感を信じるか、CD発売元に問い合わせるしかなさそうです。

 なお、個人的には、TOCのフラグが立っていない場合にプリエンファシスなしと認識するのはCD規格に準じた至極まっとうな対応と思われ、結果的にサブコードと異なった認識になるのは「“ソフトが誤認”しているのではなく“ディスクが規格外”」と言うべきではないかと思っています。
 そういう商品が存在するのはリッピングなんて想定していない故でしょうか。


■おまけ

・演算に違いあり
 ディエンファシス演算に規格はない(もちろんエンファシス特性は決まっています。当たり前ですが)でしょうから別リッパーで処理した結果は一致しないでしょう。CDプレーヤでの処理も同様です。それに関する失敗談を少々。
 あるエンファシスありCDのリップ結果を、昔のS02J(リッパーは≪iTunes 9 x86≫)と現在のS05Jパーフェクトモード(同≪iTunes 11 x64≫)と比較(≪音くらべ≫にて)した結果、各トラックで1000以上のサンプルにおよそ±3以内の差が発生していました。すべてランダムです。
 つまり≪iTunes 9≫と≪iTunes 11≫は「同じソフトですがバージョン違い」でディエンファシス演算ロジックが異なっており、その差分ということでしょう。
 32bitと64bitという差はありますが、元が16bitですから演算誤差では±3にはならないとは思います。が、一方でエラーを含む可能性もあります。

 こういう現象を「リッピング時のドライブ性能差見つけたり!」とか勘違いしないようしないといけませんね(スイマセン2日間ほど勘違いしてました)。

・≪CUERipper≫にキャッシュあり
 19/09/21追記:≪CUERipper≫には以下のオプション機能があります。

Detect Indexes (gaps) {drop-down list} - Click setting to change.
True = CUERipper will attempt to find (if any) the INDEX 00 position (start of silence or pregap) for each track.
False = Turns detection off. This also disables detection of pre-emphasis flags.

出典:http://cue.tools/wiki/CUERipper_Options

 そこで、Falseにして「誤謬CD」のエンファシス検出がどうなるか調べてみたのですが、どうもC:\Users\***\AppData\Roaming\CUE Tools\MetadataCacheが優先されてしまう(ネット切断してもMetadata表示する)ので戸惑いました(苦笑)。キャッシュディレクトリを削除したり再起動したりして対応。
 これはいろんなテストの時に注意が必要ですねぇ。


メインメニューへ

テーマ : オーディオ
ジャンル : 趣味・実用

最新記事
ERIへようこそ

Author:らかせ
「最新記事」または
「メインメニュー」からどうぞ

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です

・一応、拍手にコメント(非公開)付けられるようにしてあります

・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください

・ということもありますし、記すまでもないですが無断転載(ファイル含む)はご遠慮ください

・引用の考え方については「007:諸事」をご参照ください

・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)

・Amazonアソシエイトに参加しています(アフィリエイトはAmazonのみです)

カテゴリ
検索フォーム
FC2カウンター