たまたま、所有する CD の中に、隠れ HDCD があると知った。
それは、ZARD の『君とのDistance』というアルバムであった。筆者は、ZARD のオリジナル・アルバム 11 枚とベスト・アルバム 1 枚、コンピレーション・アルバム 2 枚、DVD 2 タイトルを所有しているに過ぎず、ファンという意識は無かった。だから、HDCD があるということには気づかなかったのだが、Wikipedia による解説の中に、その情報が記載されていたのを見て知ることになった。そこで、ネットで検索すると、ファンの間では、それが常識のようになっていることが窺われた。
HDCD そのものについても、よく知らなかったのだが、一時流行したようで、正式な HDCD もあれば、隠れ HDCD という非公式なものも存在するという。『君とのDistance』は、ジャケットにも CD にも、HDCD という記載はなく、隠れ HDCD と言われるものである。
普通にリッピングした 16 bit の FLAC ファイルでも、HDCD のコードは消失せずに残っているらしいので、foobar2000( 64 bit ) に HDCD decoder というコンポーネントをインストールして、当該ファイルを再生してみた。また、MusicBee というメディアプレーヤーによって CD から HDCD をデコードしてリッピングし、 24 bit のファイルを得る方法や、FFmpeg を使用して、16 bit のファイルからデコードして 24 bit のファイルを生成する方法も試してみた。
1.foobar2000 の HDCD decorder で 16bit ファイルの状態を確認する。
※foobar2000.org の HDCD decoder のページ。
https://www.foobar2000.org/components/view/foo_hdcd
このコンポーネントを使用して、普通にリッピングした16 bit のファイルが HDCD コードを含んでいるかなどをチェックする。先ずここでは、4 番目の曲「今日はゆっくり話そう」を選択して右クリック、出てきたコンテキストメニューの Utilities >> Scan for HDCD tracks をクリックする。
(※複数のファイルを選択して実行してもよい)

すると、以下のような HDCD Scan のウィンドウが表示される。

HDCD status の項目では、Fake. HDCD has no effect とある。HDCD のオプション機能である Peak extension は Disabled 、LLE に関する項目も 0 だったり表示が無かったりする。これらの意味するところは分かりづらいので、HDCD decorder の説明を見てみる。メニューの File >> Preferences で設定ウィンドウを開き、左欄の Components をクリック、右欄の HDCD decorder を右クリックし、About をクリックする。

出てきた About HDCD decorder のウィンドウには、以下のような説明がある。
ここに示された titleformat のフィールドの値を、ファイルの再生時に確認できるようにしてみる。
File >> Preferences >> Display >> Columns UI で、右欄の Status pane タブをクリックし、Title formatting script の四角の中のスクリプトを次のように変える。
青字が、デフォルトのスクリプトに追加した部分である。ビット深度を表示するものと、HDCD に関するものである。
※参考 foobar2000 Wiki for Japanese Users / TitleFormatting 解説
https://foobar2000.xrea.jp/?TitleFormatting+%E8%A7%A3%E8%AA%AC
これにより、16 bit の「今日はゆっくり話そう」を再生すると、以下のようになる。

ウィンドウの一番下にある Status pane に、HDCD に関する情報が表示されている。
それによれば、
トラックに HDCD のコードは存在するが、HDCD として有効なトラックではないので fake となる。
HDCD デコードによってオーディオチャンクが実際に変更されたかどうかについては、?となっているので、デコードされていないということだろう。
HDCD のオプション機能である Peak extension については no となっているので、現在のチャンクに Peak Extend コードは存在しない。
現在の Low-Level Extension ゲイン量は 0 dB で、このオプション機能も採用されていないと思われる。
HDCD デコードされていないので、HDCD デコード後の最大有効ビット深度の値は返されず、?となっている。仮にデコードされたとしても、 オプション機能である PE または LLE が使用されていないので、出力は 16 bit のままである。
なお、現在のチャンクに Transient Filter コードが存在するかどうかについては、画像では no となっているが、実際は yes と no が頻繁に入れ替わっており、恐らく音の「アタック」に反応して、そうなっているのだろう。前掲の HDCD Scan のウィンドウでも、Transient filter の項目は intermittent となっている。
このように、foobar2000 では普通にリッピングした 16 bit のファイルからデコードして 24 bit で再生することは出来なかった。このアルバムの他の曲も同様であるが、11 番目の曲「 I can’t tell 」だけは全く HDCD とは認識されなかった( fake とも no とも表示されなかった)。
2.MusicBee を使用してリッピングする
MusicBee は比較的多機能なメディアプレーヤーで、無償のものの中では評価が高いようである。公式サイトからダウンロードしたものは、プラグインを追加しないと HDCD のデコードは出来ないようだが、Microsoft Store からインストールする UWP 版なら、追加のプラグインは不要である。
※Microsoft Store の MusicBee のページ
https://apps.microsoft.com/detail/9p4clt2rj1rs?hl=ja-JP&gl=JP
HDCD のリッピングを行うには、「 CD を取り込む」の画面で、「 HDCD エンコードされた CD ( 24 ビットで取り込む)」のチェックボックスをチェックする。

こうしてリッピングすると、24 bit のファイルが生成される。これを foobar2000 で再生している状態が以下の図である。
(※図では分からないが、foobar2000 で HDCD と認識されなかった 11 番目の曲「 I can’t tell 」も 24 bit でリッピングされた)

一番下にある Status pane に、24 bit と表示されている。
この図と、前掲の 16 bit のファイルを再生した時の図とを比較してみると、スクリーンショットを取得したタイミングが僅かにズレているので厳密ではないが、上から 2 段目の Enhanced Spectrum analyzer のスペクトルが両者良く似ているのが分かるだろう。
(※24 bit のファイルは音量が小さくなるので、ReplayGain で音量が 16 bit の場合と同程度になるようにしている)
また、Audacity に 16 bit のファイルと 24 bit のファイルを読み込ませた時の波形が以下の図である(※曲の冒頭部分)。
※ 16 bit のファイルの場合

※ 24 bit のファイルの場合(約 6 dB 増幅している)

※上 2 つの画像を重ね合わせたもの

このように 16 bit の波形と 24 bit の波形の重なり具合を見ると、その形状は、ほぼ同じと見てよいと思われる。そうだとすると、少なくとも「今日はゆっくり話そう」については、24 bit のファイルは音質的に 16 bit のファイルとあまり変わらないということになるのではないか? 実際、両者を何度か聞き比べてみても、聴感上の大きな違いは感じられなかった。時折、24 bit のほうが少しクリアな感じがすることはあるが、また聞き直すと、あまり変わらないようにも感じるという、そんな程度である。
3.FFmpeg による 24 bit ファイル生成
普通にリッピングした 16 bit のファイルから、FFmpeg を使用し、HDCD デコードして 24 bit のファイルを生成する方法がある。
※参考 ffmpeg Documentation / 36 Audio Filters / 92 hdcd
https://www.ffmpeg.org/ffmpeg-all.html#hdcd
コマンドプロンプト( cmd.exe )で、以下のように行う。
(※デスクトップにファイルを置いて、行う場合)
これで、04-out.flac というファイルが生成される。この時、コマンドを実行しタスクが完了するまでに、次のような表示がある。
入力ファイルの情報が表示された後で、[Parsed_hdcd_0 @ 0000019586ca6b80] HDCD detected: no となり、出力ファイルの情報が表示された後で、[Parsed_hdcd_0 @ 0000019586cc5c00] HDCD detected: yes となる。何故こうなるのか筆者には分からないが、一応 24 bit のファイルは生成される。このファイルの波形などは調べていないが、再生した時の 16 bit ファイルとの聴感上の大きな違いは、やはり感じられない。
このように、隠れ HDCD と言われている ZARD のアルバム『君とのDistance』であるが、実際のところこれが本当に HDCD なのか、それとも HDCD として高域集中ディザを用いて 20 bit から 16 bit に語長丸めを行なっていても、オプションの PE や LLE が用いられていなければ、音質的な優位性はあまり無いということなのか、素人にはよく分からないというのが正直な感想である。
以上
HDCD そのものについても、よく知らなかったのだが、一時流行したようで、正式な HDCD もあれば、隠れ HDCD という非公式なものも存在するという。『君とのDistance』は、ジャケットにも CD にも、HDCD という記載はなく、隠れ HDCD と言われるものである。
普通にリッピングした 16 bit の FLAC ファイルでも、HDCD のコードは消失せずに残っているらしいので、foobar2000( 64 bit ) に HDCD decoder というコンポーネントをインストールして、当該ファイルを再生してみた。また、MusicBee というメディアプレーヤーによって CD から HDCD をデコードしてリッピングし、 24 bit のファイルを得る方法や、FFmpeg を使用して、16 bit のファイルからデコードして 24 bit のファイルを生成する方法も試してみた。
1.foobar2000 の HDCD decorder で 16bit ファイルの状態を確認する。
※foobar2000.org の HDCD decoder のページ。
https://www.foobar2000.org/components/view/foo_hdcd
このコンポーネントを使用して、普通にリッピングした16 bit のファイルが HDCD コードを含んでいるかなどをチェックする。先ずここでは、4 番目の曲「今日はゆっくり話そう」を選択して右クリック、出てきたコンテキストメニューの Utilities >> Scan for HDCD tracks をクリックする。
(※複数のファイルを選択して実行してもよい)

すると、以下のような HDCD Scan のウィンドウが表示される。

HDCD status の項目では、Fake. HDCD has no effect とある。HDCD のオプション機能である Peak extension は Disabled 、LLE に関する項目も 0 だったり表示が無かったりする。これらの意味するところは分かりづらいので、HDCD decorder の説明を見てみる。メニューの File >> Preferences で設定ウィンドウを開き、左欄の Components をクリック、右欄の HDCD decorder を右クリックし、About をクリックする。

出てきた About HDCD decorder のウィンドウには、以下のような説明がある。
HDCD postprocessing decoder / HDCD scanner.
The following titleformat info fields return realtime decoder status for tracks that contain HDCD codes:
hdcd: 'yes', 'fake' or 'no'. Returns 'yes' when track is valid HDCD, 'fake' for false positives, and 'no' for force-processed non-HDCD tracks.
hdcd_active: 'yes' or 'no'. Reports if HDCD codes are currently present in the track.
hdcd_active2: 'yes' or 'no'. Reports if HDCD decoding actually changed the audio chunk.
hdcd_peak_extend: 'yes' or 'no'. Reports if Peak Extend codes were present in current chunk.
hdcd_transient_filter: 'yes' or 'no'. Reports if Transient Filter codes were present in current chunk.
hdcd_gain: '<n.nn> dB'. Returns the current Low-Level Extension gain amount in decibels.
decoded_bitspersample: '24'. Generic info field, not restricted to HDCD. Component returns the highest possible effective bitdepth after HDCD decoding. If PE or LLE aren't used the output will actually remain 16-bits, or 17-bits with volume halving.
ここに示された titleformat のフィールドの値を、ファイルの再生時に確認できるようにしてみる。
File >> Preferences >> Display >> Columns UI で、右欄の Status pane タブをクリックし、Title formatting script の四角の中のスクリプトを次のように変える。
// This is the default script for the content of the main status pane section during playback.
%artist% – %title%
$crlf()
%codec% | %bitrate% kbps | %samplerate% Hz | %__bitspersample% bit | $caps(%channels%) | %playback_time%[ / %length%] | $if(%__hdcd%,HDCD:%__hdcd%',' HDCD codes: %__hdcd_active%',' HDCD decode: % __hdcd_active2%',' Peak Extension: %__hdcd_peak_extend%',' Transient Filter: %__hdcd_transient_filter%',' Low-Level Extension gain: %__hdcd_gain%',' bitdepth: %__decoded_bitspersample%,)
青字が、デフォルトのスクリプトに追加した部分である。ビット深度を表示するものと、HDCD に関するものである。
※参考 foobar2000 Wiki for Japanese Users / TitleFormatting 解説
https://foobar2000.xrea.jp/?TitleFormatting+%E8%A7%A3%E8%AA%AC
これにより、16 bit の「今日はゆっくり話そう」を再生すると、以下のようになる。

ウィンドウの一番下にある Status pane に、HDCD に関する情報が表示されている。
それによれば、
トラックに HDCD のコードは存在するが、HDCD として有効なトラックではないので fake となる。
HDCD デコードによってオーディオチャンクが実際に変更されたかどうかについては、?となっているので、デコードされていないということだろう。
HDCD のオプション機能である Peak extension については no となっているので、現在のチャンクに Peak Extend コードは存在しない。
現在の Low-Level Extension ゲイン量は 0 dB で、このオプション機能も採用されていないと思われる。
HDCD デコードされていないので、HDCD デコード後の最大有効ビット深度の値は返されず、?となっている。仮にデコードされたとしても、 オプション機能である PE または LLE が使用されていないので、出力は 16 bit のままである。
なお、現在のチャンクに Transient Filter コードが存在するかどうかについては、画像では no となっているが、実際は yes と no が頻繁に入れ替わっており、恐らく音の「アタック」に反応して、そうなっているのだろう。前掲の HDCD Scan のウィンドウでも、Transient filter の項目は intermittent となっている。
このように、foobar2000 では普通にリッピングした 16 bit のファイルからデコードして 24 bit で再生することは出来なかった。このアルバムの他の曲も同様であるが、11 番目の曲「 I can’t tell 」だけは全く HDCD とは認識されなかった( fake とも no とも表示されなかった)。
2.MusicBee を使用してリッピングする
MusicBee は比較的多機能なメディアプレーヤーで、無償のものの中では評価が高いようである。公式サイトからダウンロードしたものは、プラグインを追加しないと HDCD のデコードは出来ないようだが、Microsoft Store からインストールする UWP 版なら、追加のプラグインは不要である。
※Microsoft Store の MusicBee のページ
https://apps.microsoft.com/detail/9p4clt2rj1rs?hl=ja-JP&gl=JP
HDCD のリッピングを行うには、「 CD を取り込む」の画面で、「 HDCD エンコードされた CD ( 24 ビットで取り込む)」のチェックボックスをチェックする。

こうしてリッピングすると、24 bit のファイルが生成される。これを foobar2000 で再生している状態が以下の図である。
(※図では分からないが、foobar2000 で HDCD と認識されなかった 11 番目の曲「 I can’t tell 」も 24 bit でリッピングされた)

一番下にある Status pane に、24 bit と表示されている。
この図と、前掲の 16 bit のファイルを再生した時の図とを比較してみると、スクリーンショットを取得したタイミングが僅かにズレているので厳密ではないが、上から 2 段目の Enhanced Spectrum analyzer のスペクトルが両者良く似ているのが分かるだろう。
(※24 bit のファイルは音量が小さくなるので、ReplayGain で音量が 16 bit の場合と同程度になるようにしている)
また、Audacity に 16 bit のファイルと 24 bit のファイルを読み込ませた時の波形が以下の図である(※曲の冒頭部分)。
※ 16 bit のファイルの場合

※ 24 bit のファイルの場合(約 6 dB 増幅している)

※上 2 つの画像を重ね合わせたもの

このように 16 bit の波形と 24 bit の波形の重なり具合を見ると、その形状は、ほぼ同じと見てよいと思われる。そうだとすると、少なくとも「今日はゆっくり話そう」については、24 bit のファイルは音質的に 16 bit のファイルとあまり変わらないということになるのではないか? 実際、両者を何度か聞き比べてみても、聴感上の大きな違いは感じられなかった。時折、24 bit のほうが少しクリアな感じがすることはあるが、また聞き直すと、あまり変わらないようにも感じるという、そんな程度である。
3.FFmpeg による 24 bit ファイル生成
普通にリッピングした 16 bit のファイルから、FFmpeg を使用し、HDCD デコードして 24 bit のファイルを生成する方法がある。
※参考 ffmpeg Documentation / 36 Audio Filters / 92 hdcd
https://www.ffmpeg.org/ffmpeg-all.html#hdcd
コマンドプロンプト( cmd.exe )で、以下のように行う。
(※デスクトップにファイルを置いて、行う場合)
C:\Users\(ユーザー名)\Desktop>ffmpeg -i "C:\Users\(ユーザー名)\Desktop\04 今日はゆっくり話そう.flac" -af hdcd 04-out.flac
これで、04-out.flac というファイルが生成される。この時、コマンドを実行しタスクが完了するまでに、次のような表示がある。
C:\Users\(ユーザー名)\Desktop>ffmpeg -i "C:\Users\(ユーザー名)\Desktop\04 今日はゆっくり話そう.flac" -af hdcd 04-out.flac
(中略、ffmpeg のバージョンなどの説明がある)
Input #0, flac, from 'C:\Users\(ユーザー名)\Desktop\04 今日はゆっくり話そう.flac':
(中略、入力ファイルのメタデータなどが表示される)
[Parsed_hdcd_0 @ 0000019586ca6b80] HDCD detected: no
(中略、Stream mapping などの表示)
Output #0, flac, to '04-out.flac':
(中略、出力ファイルのメタデータなどが表示される)
[Parsed_hdcd_0 @ 0000019586cc5c00] HDCD detected: yes, peak_extend: never enabled, max_gain_adj: 0.0 dB, transient_filter: detected, detectable errors: 0
(中略)
C:\Users\(ユーザー名)\Desktop>
入力ファイルの情報が表示された後で、[Parsed_hdcd_0 @ 0000019586ca6b80] HDCD detected: no となり、出力ファイルの情報が表示された後で、[Parsed_hdcd_0 @ 0000019586cc5c00] HDCD detected: yes となる。何故こうなるのか筆者には分からないが、一応 24 bit のファイルは生成される。このファイルの波形などは調べていないが、再生した時の 16 bit ファイルとの聴感上の大きな違いは、やはり感じられない。
このように、隠れ HDCD と言われている ZARD のアルバム『君とのDistance』であるが、実際のところこれが本当に HDCD なのか、それとも HDCD として高域集中ディザを用いて 20 bit から 16 bit に語長丸めを行なっていても、オプションの PE や LLE が用いられていなければ、音質的な優位性はあまり無いということなのか、素人にはよく分からないというのが正直な感想である。
以上








