基音と倍音でハイレゾを聞いて見る

15/01/12初稿
15/03/04改訂

 欲しいアルバムがハイレゾでも出るようになり、CDで買うかハイレゾファイルを買うか悩ましいケースも出てきたため、そろそろハイレゾってホントに意味があるのか判断しなきゃって思い始めたのが昨年9月ごろ。

 まずは実際に比較試聴していたら、そもそもちゃんと比較するにはどうしたらいいか気になり、さらにファイルの素性はどうすれば確認できるのかシステムは対応しているのかを芋づる式に調べたり実験したりすることになりました。
 あげく改めて「サンプリング定理」について考えるざるを得なくなり、何とか一歩前進したかなと思います。

 それら知見を踏まえることで、足掛け5ヶ月、やっと「ハイレゾの意味」についてひとまず納得するところまでたどり着きましたので、以下にまとめてみたいと思います(PCMについてです。DSDは含みません)。


■“巷で言われる”ハイレゾフォーマットの効能とは

 まず初めに、「ハイレゾという“大きくなった(細かくなった?)入れ物”」は何で音がいいことになっているのか、おさらいしておきたいと思います。
 「音源の録音状態」や「マスタリングの善し悪し」や「違いが判る再生できるのか(アナログ的に)」といった要素より“前”の問題、純粋なリクツとして、です。

・ハイサンプリング:20kHz以上の高域が入ってるから?
 と言われても、「聞こえない音」が入ってると何で音いいの? かは疑問のままですよね。何か学術的な“データ”はないのかと思って検索してみたのですが、ハイレゾに関するこんな博士論文があり、「20kHz以上の高域(の成分が含まれること)を聴き取れた事例」が紹介されています。
http://ir.lib.uec.ac.jp/infolib/user_contents/9000000355/9000000355.pdf

 私は“選ばれし者”じゃないと思う。たぶん(笑)。

 ところで、「20kHz以上の高域が聴き取れるか・意味があるか」という議論では、対象が例えば「30kHzのサイン波などの単一波形」なのか「30kHzまでの高域成分を含む音楽波形」なのかはハッキリ分けて考えた方がいいと思っています。前者が聞こえなくても後者がCDより良いと感じるなら、オーディオとして意味があると言えるでしょう。
 「ディザリングによる音質向上」なんて技術があります。ざっくり言うと高域のランダムノイズを付加するものですが、そのディザノイズ自体は聞こえるようなレベルではありません。“前者と後者”に似た事例かも知れません。

 いろいろ考えた結果、ハイサンプリングについてはどうもこのあたりがミソっぽいです。単独の周波数だけに着目した考え方と周波数成分として見た時の考え方を分けることがキモだと思うようになりました。
 例えば、「楽器」や「肉声」の一番高い音は4kHzくらいまでのようですが、サンプルレート8kHzじゃ音楽として聴けませんよね。何故でしょう。
 後述します。

・ビット深度拡大:そもそもデータにおける「ダイナミックレンジ」「S/N比」とは?
 ビット深度拡大の意味を考える前に、まずは表題について確認する必要があるでしょう。

 まずダイナミックレンジを示す数字についてですが、デジタルオーディオのリクツを考える上ではあまり正確を期す必要はないと思いますので、本Blogでは「1bit=6dB」の簡易計算で考えようと思います。1bit違うとレベルは2倍違いますので、「6dBで音量2倍」というのと感覚合ってますし。
 とすると、16bitはダイナミックレンジ96dBです。ただし、これはあくまでもデジタルデータフォーマットとしての理論値(入れ物のサイズ)で、単純に「最小値0001hと最大値FFFFhのレンジ」を示しているだけです。間違っても実際の音楽データがすべて96dBあるワケではありません。

 ではS/N比の方はどうでしょう。
 そもそもデジタルオーディオデータにはレコードやテープのような「ノイズ」は入りようがありません。例えば人工音声なら無音は正確にゼロにできますよね。
 ですので、アナログメディアと同じ考え方ではデータフォーマットとしてのS/N比は定義できません。難しくてよく解っていませんが、最小信号単位に丸められてしまった信号レベルを最小信号レベル=ノイズとみなし、それと最大信号レベルの差をS/N比としているような概念かと思っています。例えば、最小単位1の場合0.5以上~1.5未満は1になってしまいますから、丸められてしまう最大値は1です。
 とするとダイナミックレンジと同じになっちゃいますよね。こちらも、音楽データ自体のS/N比とは別次元の話です。例えばアナログ録音機器のフロアノイズもデジタルデータとして記録されるワケで、アナログ的にはそちらとの比がS/Nになるでしょう。

 猛烈にざっくりですが、我々素人がオーディオ再生について考えるレベルでは、PCMデジタルオーディオ(の仕組みとしての理論値)においては「ビット数×6=ダイナミックレンジ=S/N比」としておいてよいのではと思います。
 ただし、ちゃんと理解している状態では全くありませんので、私的メモレベルのオハナシです。
 いずれにしても、通常言われるアナログ信号・回路の「ダイナミックレンジ」「S/N比」とは意味が異なることに注意が必要だと思います。

 なお、余談ですが、FFT解析によるゲインは「処理利得」なるものが含まれるそうです。難しくてリクツはサッパリですが、4096ポイントFFTした結果だと33dB程度が足されて表示されるそうな。だから24bitだと144dBではなく180dBあたりがノイズフロアに見えるのかな?
 ≪WaveSpectra≫などで「ノイズフロア」などの“絶対値”を話題にする際は気にする必要がありそうです。

S/N比が 74dBの理想的な 12ビット ADCについて4096ポイントのFFTを行った場合、処理利得は10log10(4096/2)=33dB です。したがって、FFT 結果のノイズフロアは 74+33=107dBc となります。
出典:http://www.analog.com/media/jp/training-seminars/tutorials/MT-001_jp.pdf

・ビット深度拡大:ダイナミックレンジ(S/N比)が拡大してるから?
 ハイサンプリングと同じように、「どれだけ小さい音が聴こえるか」「大きな音と小さな音の聴き分けできるか」といった効果で考えない方がいいのかも。
 実効的な解説としては以下などいいかも知れません。
http://ednjapan.com/edn/articles/1205/21/news001.html

 さて、上質なアナログ回路のS/N比は100dBを超えますから、単純スペックとしては16bitじゃ足りないかも知れません。
 が、逆に24bitの144dBはアナログ限界を超えており、実効的には20bitくらいでもいいのでは? と感じています。
 ただ、ハイビットに関してはハイサンプリングとペアな気がしています。サンプリング(時間軸)を細かくするなら必然的にレンジ(振幅軸)も細かくしないと効果が半減する、と。
 ぶっちゃけ、ハイビットの実効的な意味はよく解っていません。
 15/10/30追記:ハイビットの意味、解ったかも知れません。

 ということで、本稿では、特記なき「ハイレゾ」はほぼハイサンプリングのこととして記させていただきます。

・そもそもマルチビットの考え方でいいの?
 実は一番気になってるのはこれ(笑)。
 実質的に世の中のオーディオのほとんどはΔΣ型DACで再生していることを考えると、PCMデータの違いがΔΣ変換された後のデータに違いを与えるのは間違いないので、単純な周波数やレンジの違いではなくその差を聴いている可能性はあるかも知れません。


■基音と倍音から考えるハイレゾの効能

 さて、我々が聴きたいのは普通「音楽」ですから、人工的な高周波数サイン波などではなく「音楽」としての条件で考えていく必要がありそうです。
 以下、「楽器」「音楽」には肉声も含むこととさせていただきます。

・「基音」と「倍音」
 楽器の奏でる音の周波数とは、「その楽器に“特徴的な波形”の繰り返し周期」です。すべての波形は複数周波数のサイン波を無限(*)に含むことで“音色としての波形”を形成しています(フーリエさんがそう言ってます)。

*:理論的には、です。もちろん現実的にはどこかに発音体の限界があるでしょう。

 波形の周波数のサイン波が「基音(基本波)」。
 波形を形成するための整数倍周波数のサイン波群が「倍音(高調波)」。

です(実際には倍音以外の構成要素もあるようですが本稿では割愛します)。
 時間ドメインで考えた時の楽器の“波形”は、周波数ドメイン(すべてサイン波として考える。“波形”の概念はない)ではその周波数の「基音」+無限の整数倍の「倍音」で形成されるということです。

 フーリエさん的に言う「倍音」は、基本的に豊かに含まれないと本来の波形にはならないのですね。音楽的に言う「倍音」はちょっとニュアンスが違うことがあるようですので、区別して考えた方がよさそうです。

・楽器の「基音」最高周波数は何ヘルツ?
 ざっくりですが、下はピアノの30Hzくらいとのこと。上は、

・肉声(ソプラノ歌手)・・・ 2kHz
・ヴァイオリンやピアノなどの楽器・・・4kHz

くらいらしいです。

 4kHzの音を奏でた場合基音は4kHzです。再現可能周波数が20kHzまでのフォーマットなら、フーリエさん的に言うなら5倍までの倍音の合成波形としてデジタルデータ化されていることになります(6倍音以上はカットされている)。
 説明のため楽器が基本波形を奏でるとすると、例えば三角波(奇数倍音しか含まない)の場合、CDフォーマットでは基音と3倍音と5倍音のみっつだけで再現することになります。2496なら11倍音までの6個です。

 つまり、音楽においては、「4kHzくらいまでの基音周波数に対し“倍音をいくつ重ねられるか”でアナログ波形の再現性が違ってくる」ということです。
 通常の楽曲においては「基音」は約4kHzまでであり、それ以上の周波数は「倍音」の領域ということになりますから、検討対象とする“音色としての波形”の周波数は4kHz程度まででよい、ということになります。

 ちなみに、実際にどのくらい倍音が出ているか、ヴァイオリンにつき測定された方がいらっしゃいました。
http://www.sasakivn.com/werkstatt/qa/vnspectram.htm

 楽器の波形の違いを載せている広島大学の資料(音の波と三角関数)です。
http://www.math.sci.hiroshima-u.ac.jp/KOUKAI/text-h18/Sound.pdf

 AudioDesign社社長のBlogにもCDのヴァイオリンソロ部の実際の波形やスペクトルが掲載されていました。
http://audiodesign.co.jp/blog/?p=845


 さて、であれば、ハイレゾの効果を可視化できるのではないでしょうか。
 サンプルレート違いによる波形再現性を確認してみればよいワケです。どんな波形がいいでしょう?

 基本波形と似ていると言われる楽器は次のようです。

・ノコギリ波・・・ヴァイオリン、金管楽器など
・三角波・・・フルート、弱く弾いたピアノなど
・矩形波・・・クラリネットなど

 ヴァイオリンの波形が近しいこと、整数倍の倍音で構成される波形であることから、ノコギリ波でいってみようと思います。周波数は音楽っぽい範囲で厳しめに1200Hzにて。


■基音と倍音の関係を可視化する

・ノコギリ波の周波数成分
 まず、上述した基音と倍音のスペクトルを見ておきます。
 1200Hz/-3dBノコギリ波のスペクトルはこんなカンジです。サンプルレート384kHzのファイルにて。

ノコギリ1200Hz

 次に、フーリエさんの言うことを視覚的に体験してみます。
 波形生成と言えば≪WaveGene 1.50≫。8個の波形を合成できますので、以下の基音と7個の倍音を順番に足していき、サイン波だけでノコギリ波を合成してみました。

1.基音のみ

ノコギリ生成1


2.2倍音を合成 1200Hz+2400Hz

ノコギリ生成2


3.3倍音まで合成 1200Hz+2400Hz+3600Hz

ノコギリ生成3


4.4倍音まで合成 1200Hz+2400Hz+3600Hz+4800Hz

ノコギリ生成4


 途中省略させていただいて

5.8倍音まで合成 1200Hz+2400Hz+3600Hz+4800Hz+6000Hz+7200Hz+8400Hz+9600Hz

ノコギリ生成8


 このあともナイキスト周波数まで倍音の合成は続きます。言い換えると、「48kHzサンプリングなら24kHz(20倍音)まで/96kHzサンプリングなら48kHz(40倍音)まで/192KHzサンプリングなら96kHz(80倍音)まで」しか含まれないことによる“理想に近づききれないという意味での変形”が、それぞれのサンプリングにおいて発生しているということです。
 サンプリング周波数を高めた方がこの変形がより少なくなるのは自明でしょう。

 ですので、

「20kHz以上は聞こえないから」というリクツは、「20kHz以上の倍音がないことによる波形変形は音質差として認識できないから」と言い換えた方が本質的

だと思います。

 「20kHzは聞こえないから」と言われると「そうかもナ~」とも思いますが、「波形変形は認識できないから」と言われると「なにお~」って思っちゃったりします(苦笑)。だいぶ印象違いますね(爆)。

 15/02/28追記:裏取りのため、以下で使うノコギリ波2448ファイルを≪Wavosaur x64 1.1.0.0≫でカットオフ10kHzのLPFしたデータのスペクトルを示します。9倍音(10800Hz)以上はカットされ、8倍音までで合成した波形になっているハズです。

ノコギリ2448 位相反転 LPF10kHz

 2448フォーマットですが、もっと低サンプルレートの波形(倍音合成イメージ)になっています。
 つまり、周波数成分を「足していった場合」と「減らした場合」で同様の結果が得られたということです。
 逆に、アップサンプリングで2448を2496にしても原則2448の波形(倍音合成イメージ)のままであることも確認しました。「アップサンプリングでは合成すべき倍音は増えない」ためです。

 矛盾ないようですね。


■含む倍音数違いによる波形の違いを視覚で確認する

 含んでいる倍音の数が波形再現性の差ということは解りました。では、実際のアナログ波形はサンプリングフォーマットによってどのくらい違うのでしょうか。

・ノコギリ波の再現性をデジタルドメインで可視化する
 準備できるソースは「音楽」か≪WaveGene≫などで生成する「人工波形」です。しかし音楽波形では本稿で考えているような検証はできません。単純な理想波形=人工波形である必要があります。
 が、人工波形はAD変換されたものではないため、そのままだとナイキスト以上をカットするLPF(アンチエイリアシングフィルタ)がかかっていません。
 しかし、実事情に則したソースをAD変換して得ようにも、そもそも「理想ノコギリ波アナログ信号」を間違いなく発生させる術がありません。AD変換時の事情も含んでしまいますし。
 そこで、まずは試しにデジタルドメインでAD変換をシミュレーションしてみることにみます。
 LPFかけて各フォーマットのノコギリ波ファイルを生成して比較してみます。

・ソース・・・≪WaveGene 1.50≫で生成した24384の1200Hz/-3dBノコギリ波
        (WaveGene表示と合わせるため位相は反転させています)
・AD変換シミュレーション(LPF)・・・≪SoX Resampler 0.8.3≫(デフォルト設定)で
                      48kHz,96kHz,192kHzにDownsampling


1.2448

ノコギリ2448


2.2496

ノコギリ2496


3.24192

ノコギリ24192


 …百聞は一見にしかず。これがズバリ「ハイレゾの効能」を示しているのでは?

 上述した考え方を当てはめると、「20kHz以上は聞こえないから要らないと考える」=「2448と2496や24192との波形の差は認識できないと考える」ということです。
 う~ん、“イメージ的”には認識できちゃいそうな気がしますよね。ていうか、これを見ちゃうとたとえ実際には認識できなくても気分的にはハイレゾです(笑)。認識できなくてもリッピングエラー発生はヤなのと同じ感覚ですね(爆)。

 16/02/09追記:元波形は24384といっても≪WaveGene≫で生成したままですから、人工波形でありナイキスト以上の無限周波数成分を含んだままです。
 ちょっと気になりますので、念のため上で24192化したファイル(96kHz以上はカットされている=自然界に存在しえる波形)をさらに2448化してみましたが、上に示す2448と波形に差は見られませんでした。

 しかし、これはあくまでも「フォーマットにパッキングしたデジタルデータ」の可視化です。実際に聞くアナログ信号としてはどうなっているのでしょう。
 いよいよアナログドメインに踏み込んでみます。

・ノコギリ波の再現性をアナログドメインで可視化する
 上記のファイルが実際のDAC出力ではどんなアナログ波形に再現されているかを見てみます。
 オシロスコープで見るのが本当だと思いますけれど持ってませんので、192kHzサンプリングのアナログ→デジタル録音で代用します(デスクトップ型PCがあれば出来ちゃう可能性高いという意味も含めて)。

・PC・・・再生・キャプチャとも自作Z68+Core -7-2600K
・再生デバイス・・・SONY製UDA-1 USB-I/FはM/BオンボードEtronチップ ≪foobar2000 1.3.6≫にて 
・キャプチャデバイス・・・LINE-IN(Realtek ALC889) 16bit192kHz設定 ≪WaveSpectra 1.50≫にて
・設定・・・録音レベル46,エフェクトオフ,APIは録再とも排他WASAPI

 ≪foobar2000≫の各種バージョンは以下の通りです。

foobarバージョンV
 ASIOProxyはfoo_input_sacd_0.7.3同梱の0.7.1.2。
 厳密に言うと本稿時点ではSoX入れてないですけど(笑)。

 192kHzサンプリングなら、なんとか2448と2496は波形が採れると考えました。24192は参考値になるでしょうか。AD処理での波形変形も含まれてしまいますが、すべてのキャプチャでAD時の事情は同じですから差は見られるのではないかと。


1.2448 (アナログキャプチャ)

ノコギリ2448rec


2.2496 (アナログキャプチャ)

ノコギリ2496rec


3.24192 (アナログキャプチャ)

ノコギリ24192rec


 意外なほど再現性あるみたいですね。元ファイルのデジタルスペクトルからの変化はあまり認められませんが、DA変換時にもう一度かかるOSDFの分だけリンギングが増えているようです。

 さらに、Downsamplingせず=LPFかけてない“素の人工波形データ”のアナログ信号はどうなってるかも採取。


1.素のまま2448 (アナログキャプチャ)

2448Rrec.png


2.素のまま2496 (アナログキャプチャ)

2496Rrec.png


3.素のまま24192 (アナログキャプチャ)

24192Rrec.png


 エイリアスノイズ満載の波形のためか、AD変換したと見立てたファイルのアナログ化よりもDACのOSDFでのリンギングが大きくなるようです。
 いずれにしろ、2448,2496,24192の差違は同傾向同程度に発生していると思いますので、比較としては問題ないでしょう。


 個人的にはこれでスッキリしました。

 ただしあくまでも「フォーマットの効能」として、です。それも人工波形において、です。「音楽としてどれだけ効果があるかは別問題」なのは言うまでもありません。
 自然界の音は複数の基本波形が複数の周波数で発音され、その基音と倍音が複雑に絡み合って形成されていますので、実際の音楽再生では何が起きているかこれで解るものではありません。例えばリンギング発生は、多分に人工ノコギリ波の“縦変化”に含まれるインパルス的な特性によるものだと思いますが、音楽波形にはまずない応答でしょう。
 実際の音質はマスタリングのデキで決まっちゃうと思いますし。

 「トランジスタ技術2013年12月号」P.73,74にも同じような実験が掲載されています。そこでは差違理由は「デジタルフィルタのリンギング収束時間」と説明されていますが、本稿では「含まれる倍音の数による波形再現性の違い」という捉え方をしています。前述したサイン波合成の件と同じで、周波数成分を「減らす」処理と見るか「増やす」処理と見るかの違いであって同じ現象です。

 一応ちゃんとしたオーディオ機器の出力をということでUDA-1を用いましたが、PCのLINE-OUTでも同様の結果を得ています。

・ハイサンプリングの意味
 以上より、

 周波数ドメインで言うと「倍音が確保できる」。
 時間(波形)ドメインで言うと「元の波形に近づく」。

と言えるでしょう。

 つまり、「ハイレゾ領域の倍音を含むことによって“理想波形”に近づいていくこと」がハイレゾの効果なのですから、「高域が無いのに高域ではない帯域の再現性が向上」というのは詭弁です。例えば20kHz以上の倍音が入っていないなら、2496であろうと24192であろうと「1200Hzの音楽波形」の再現性はCDと変わりません。

 なお、「倍音」と「イメージングノイズ」は全く別モノです。念のため。

・ハイビット(ビット深度拡大)の意味
 こちらについては、アナログソースの再ADなどにおいて“ちゃんとAD”しているなら、レゾリューションアップと言えるでしょう。

・ダイナミックレンジ(S/N比)拡大と倍音再現
 ところで、実際の音楽における20kHz以上の倍音のレベルはかなり小さくなってるのではないかと思えます。
 とすると、ハイサンプリングする際には同時にダイナミックレンジを拡大しないと意味がないような。
 そういう意味があるなら、ハイサンプリングはハイビット(ビット深度拡大)とセットでないと真価を発揮しないのではないかと思えます。

 前出のAudioDesign社社長のBlogに、高域の倍音はビット数が減っちゃうので歪みが大きいとありました。
http://audiodesign.co.jp/blog/?p=909


 要するに、「倍音合成による波形再現性向上」においてハイサンプリングは“倍音の数”、ハイビットは“特に高周波数域での倍音のカタチ(原理的にはサイン波なので単純モデルにおいては=レベル)”の向上を担っている、ということかも知れません。


■含む倍音数違いによる波形の違いを聴覚で確認する

・ノコギリ波の再現性を試聴する
 ということで、視覚的&リクツ的にはおおむね納得いったのですが、実際に再生音として違いは判るのでしょうか。
 試しに、≪WaveGene 1.50≫で生成したまんま、何も加工していないぴっかぴかの1200Hz-3dBのノコギリ波2448,2496,24192の3種をHD700で聞いてみました。ヴァイオリンのつもりで(笑)。

 …大変微妙ですがなんとか判るような?

 では、楽器の最高周波数である4kHzではどうでしょう? 厳しめに4800Hz/-3dBのノコギリ波を3種生成。倍音は9600,14400,19200,24000,28800…です。2448だと4倍音がギリギリということですね。

 …こちらの方が判る気がします。

 奇数倍音しか含まない三角波などでは倍音数は半減しますので、もっと判りやすくなるかも知れません。

 12kHzなどで行えばもっと判るのかも知れませんが、上述の通り、このような試聴音源の周波数は4kHzあたりまででいいことになると思います。

 本件に限ったことではありませんが、試聴にはプラシーボ的な要因も多分に考えられますので「とりあえずやってみたらそう感じた」の域を出るものではありません(なのでまずリクツで考えています)。
 個人的には、「-3dBのノコギリ波」みたいなかなりハッキリした波形でもハッキリ判らないのですから、無数の基音と倍音が混ざり合って複雑奇っ怪な音楽波形におけるハイサンプリングのメリットは(確かにあるでしょうけれど)ほとんど判らないんじゃないかという気がします。ハイレゾ試聴結果に「さらに自信ない」と記している通りです(苦笑)。


 以上、繰り返しになりますが「理想ノコギリ波」なんて自然界には存在しない音でのオハナシです。
 あくまでもひとつの“とある実験”として。


メインメニューへ

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

ERIへようこそ

らかせ

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

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です
・一応、拍手にコメント(非公開)付けられるようにしてあります
・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください
・ということもありますし、記すまでもないですが無断転載(ファイル含む)はご遠慮ください
・引用の考え方については「007:諸事」をご参照ください
・アフィリエイトはAmazonのみです
・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)

最新記事
カテゴリ
検索フォーム
FC2カウンター