ハイレゾ音源

2023年8月22日 (火)

CD音源の高精度アップサンプリングで、ハイレゾ相当のリアル音源を作る。

 CD音源からハイレゾ音質を作り出せないかと過去に何度となく取り組んできましたが、いずれの手法も
「22.05KHz以上の失われた高域の倍音を再現して付加する」と言う考えがベースにありました。
でも、そんなことは必要なかった・・・

CDを高精度に「アップサンプリング→加算→減算→ダウンサンプリング」するだけでハイレゾ相当
のリアル音源( Real sound 勝手に命名(^^;)になることがわかりました。


1、CDからハイレゾ相当のリアル音源を作る。「変換の概念」

_009

 

2、使用するソフトと設定

 Audacity Ver 3.2.5 推奨(プロジェクトのサンプリング周波数の指定が簡単)

 ※2-1、Ver 3.2.5は、現在アーカイブからのダウンロードになります。
   2023/08/16現在  https://www.fosshub.com/Audacity-old.html

 ※2-2、Ver 3.3.3 最新バージョンでも使えますが多用する「プロジェクトのサンプリング周波数」
    の指定が階層の深いところに変わって使いにくいです。日本語表記も変わりました。


 1)Audacityの設定 (Ver3.2.5)

  メニュー 編集→環境設定→品質
  サンプリング
   サンプリング周波数: 44100Hz
   サンプル形式   : 32bit 浮動小数点 ・・・必須
  リアルタイム変換
   サンプリング周波数: 最高品質(最低速)
   ディザリング   : 無し
  高品質変換
   サンプリング周波数: 最高品質(最低速)・・・必須
   ディザリング   : 無し       ・・・必須 

 2)「複製マクロ」の作成

   操作でWAVの増幅(256倍)を行いますが、「エフェクトの増幅」はdB単位で整数倍が
  できないため、トラック1を複数コピーして書き出し時の加算を使って整数倍増幅を行います。
  ここでは、「4回の複製で全16トラック作成」を2回行って16倍x16倍=256倍にするため、
  「4回複製」のマクロを作ります。
  手動で複製コマンドを繰り返してもいいのですが、省力化と複製回数の間違いをなくす
  ために「複製のマクロ」作ります。

  マクロ名:  +0_c4n16 (先頭の+0_ はマクロ欄のトップに置くためのダミー)
  マクロ編集: 複製を4回  (トラック1 をマクロで、全16トラックに複製します)

C4n16_001

 

3、変換作業前の注意
  
  1) 作業中の中間ファイルは絶対に再生しないでください。
   クリップ波形になっているため、再生すると過大な音で耳や再生機器にダメージを与えます。

  2) CD1枚連結のWAVファイル(57:30)を192KHz-24bitに変換するのに必要な時間とSSDの空き容量

    ・変換に掛かる時間 約45分 (i7-2670QM+SATA600のSSD)の場合

    ・SSDの必要な空き容量
      WAVorg/中間ファイル/192KHz-24bit ファイル合計      38GB
      Audacity 一時ファイル(プロジェクト毎にクリアの時の最大)  36GB  ※2-1
                        SSDの必要空き容量の合計   74GB
                            
   ※2-1、CD1枚(57:30)を変換するとき、一時ファイルをクリアしながらでも総書き込み量は、
      112GB で、ファイルと合わせると合計の書き込み量は、150GBになります。
      変換作業はSSDの寿命を縮めます。(SSDを消耗品と割り切らないとできません)

  3)WAV(44.1KHz16bit)音源以外に、非可逆圧縮音源のmp3,m4aなども同様に変換できます。

     前のブログ記事
      m4a,mp3などの非可逆圧縮音源を、WAV(44.1KHz 16bit)音質に簡易復元
      http://r1rawd.cocolog-nifty.com/blog/2023/08/post-bb84e4.html

     を参考に前処理を行い、WAV(44.1KHz16bit)に変換してから行ってください。


4、変換作業の流れ

 CD音源(44.1KHz16bit)の変換例(ファイル名例:44wav.wav)

 1)Audacityを起動して、「ファイル→開く」で、44wav.wav を読み込み


 2)アップサンプリング周波数を 262,144Hz に指定

  画面左下の「プロジェクトのサンプリング周波数」のBOXに、262144 と直接入力
  (262,144Hz は、二進数で割り切れる時間軸 T=1/2^18 (s))
 

 3)「ファイル→書き出し→音声を書き出す」で、32bit float/rf64形式で書き出し(※4-1)

  ファイル名例 44wav_262144f.rf64

   ※4-1、1曲単位で変換するのなら、32bit float/wav形式でも可ですが、CD1枚連結ファイル
     で書き出すことがある場合は4GBを超えるためrf64形式を使用します。


 4)「ファイル→新規」で空の新しいプロジェクトを開く。
   そのあとに、3)書き出し で終わった直前のプロジェクトを終了させる。
    ・複数のプロジェクトが開くのを防止  ・Audacityの一時ファイルの累積を防止


 5)「ファイル→開く」で、44wav_262144f.rf64 を読み込み、トラック1を選択


 6)「ツール→マクロの適用→マクロ(複製4回)」を実行

   トラック1が複製されて下に15トラック並び、全16トラックが作成されます。
 

 7)「ファイル→書き出し→音声を書き出す」で16トラックを加算で16倍の増幅として書き出す。

   ファイル名例 44wav_262144f_n16.rf64


 8)「ファイル→新規」で空の新しいプロジェクトを開く。
   そのあとに、7)書き出し で終わった直前のプロジェクトを終了させる。
    ・複数のプロジェクトが開くのを防止  ・Audacityの一時ファイルの累積を防止


 9)「ファイル→開く」で、44wav_262144f_n16.rf64 を読み込み、トラック1を選択。


 10)「ツール→マクロの適用→マクロ(複製4回)」を実行

   トラック1が複製されて下に15トラック並び、全16トラックが作成されます。
 

 11)「ファイル→書き出し→音声を書き出す」で16トラックを加算。

   16倍x16倍=256倍の増幅として書き出す。

   ファイル名例 44wav_262144f_n256.rf64 


 12)「ファイル→新規」で空の新しいプロジェクトを開く。
   そのあとに、11)書き出し で終わった直前のプロジェクトを終了させる。
    ・複数のプロジェクトが開くのを防止  ・Audacityの一時ファイルの累積を防止


 13)「ファイル→開く」で、44wav_262144f_n256.rf64 を読み込み。


 14)トラック1を選択し「エフェクト→上下を反転」

   この操作で、256倍が-256倍になります。


 15)「ファイル→取り込み→音声」で、44wav_262144f.rf64 をトラック2に読み込み


 16)「ファイル→書き出し→音声を書き出す」で、トラック1と2を加算で書き出す。
 
   この操作で -256倍+1倍 = -255倍 になる。

   ファイル名例 44wav_262144f_-n255.rf64


 17)「ファイル→新規」で空の新しいプロジェクトを開く。
   そのあとに、16)書き出し で終わった直前のプロジェクトを終了させる。
    ・複数のプロジェクトが開くのを防止  ・Audacityの一時ファイルの累積を防止


 18)「ファイル→取り込み→音声」 で、Ctrlを押しながら、
   44wav_262144f_-n255.rf64 と44wav_262144f_n256.rf64 を取り込む

  トラック1、44wav_262144f_-n255.rf64 
  トラック2、44wav_262144f_n256.rf64 


 19)「ファイル→書き出し→音声を書き出す」でトラック1,2を加算(利得1の波形の書き出し)

   ファイル名例 44wav_262144f_n256-n255.rf64


 20)「ファイル→新規」で空の新しいプロジェクトを開く。
   そのあとに、19)書き出し で終わった直前のプロジェクトを終了させる。
    ・複数のプロジェクトが開くのを防止  ・Audacityの一時ファイルの累積を防止


 21)「ファイル→開く」で、44wav_262144f_n256-n255.rf64 を読み込む。

   (注意-1)ここでオリジナルのWAVと相似した波形になっていなければ操作ミスがあります。


 22)リアル音源(WAVファイル)の書き出し。

   指定できる周波数とbit深度の組み合わせ

    1、44.1KHz 16bit
    2、48KHz 16bit (or 24bit) (映像系として使う場合)
    3、96KHz 24bit
    4、192KHz 24bit

    (88.2/176.4KHz 24bit が必要なら同様に書き出してください)

   先に画面左下の「プロジェクトのサンプリング周波数」で周波数を指定し、
  「ファイル→書き出し→WAVファイルとして書き出し」で、bit深度を16 or 24bitに指定。

   書き出しファイル名の例
    44100Hz 16bit  ファイル名例 44wav_Rs-44-16.wav、 
    96000Hz 24bit  ファイル名例 44wav_Rs-96-24.wav、 
    192000Hz 24bit  ファイル名例 44wav_Rs-192-24.wav
  
  複数の周波数で書き出したいときは、周波数とbit深度を再指定して繰り返してください。

  (注意-2)192KHz24bitで書き出したファイルから、96KHz24bitや44.1KHz16bitなどに間接的に
     ダウンサンプリングすると音質が落ちます。
     必ず 44wav_262144f_n256-n255.rf64 から直にダウンサンプリングしてください。

  (注意-3) CD1枚連結WAVファイルの場合、192KHz24bitで書き出せるのは約1時間までです。
     約1時間を超えると書き出し時に「4GBオーバー」の警告が出ますので、ファイル分割
     してください。
    (書き出し時に 44wav_Rs-192-24.rf64(192KHz24bitのrf64形式)で一度書き出してから、
     分割してWAV形式で書き出します)


5、何をしているのか?

   アイデアの発端は「聞こえない高域の倍音成分を付加しなくても、アップサンプリングと
  増幅で16bitデータを高精度で滑らかな24bitデータに水増ししたら音が良くなるのでは?」
  から始まってこんな形にたどり着きました。


  1)アップサンプリング周波数を 262,144Hz にしているのは
    二進数で割り切れる時間軸 T=1/2^n (s)にすると時間軸の演算誤差(割り切れない揺らぎ)
   が無く、アップ/ダウンサンプリング時の音質が向上するのがわかったから。
   262,144Hz (T=1/2^18 (s))は、(n16~n20)よりヒアリングで決定。 

  2)256倍は、16bitの下に空の8bitを挿入して仮想24bitとするため。(と考えた)
   (アップサンプリング後に256倍しているので正確ではないと思うがイメージです(^^;)
   また、-255倍も必要なので、256倍の仮想24bitから1倍の仮想24bitを引き算して
   仮想32bitを作り上下反転で(x-1)にする。
   (仮想32bitは、演算が32bit-floatなので、下位8bitは切り捨てられる。 と思います)
   256倍-255倍 ≒ 1倍 
   正確に1倍にならないのは、-255倍の下位8bitが切り捨てられているためで、このおかげで?
   全体域に渡りハイレゾ相当のリアル音源に聞こえる成分が生成されていると思われる。
   この成分は、音の大きさによって「切り捨ての桁数」が変化するので大きさも変動します。
   (数学的な考察はできないのでイメージでとらえた説明です)

  3)操作でWAVの増幅/減衰を行うのですが、「エフェクトの増幅」を使うとdB単位のため2^n乗
   の整数倍の増幅/減衰(ビットシフト)ができないため音質が劣化する。
   そこで整数倍の増幅/減衰を「複数トラックの加算/減算」で行うことにした。
   手動で複製コマンドを繰り返してもいいのですが、多用するのと複製回数の間違いをなくす
   ために「複製のマクロ」を作って使います。
   複製は、トラック1の音源を増幅する整数倍の数だけコピーして、書き出し→トラック加算で
   増幅します。
   増幅は256倍が必要なため「コピー4回で16トラック」を2回行うことで、16x16=256倍になる。
    マクロで、複製8回を一度に行うとトラック256個の複製が1度に出来ますが加算時間が
   約8倍になります(T256=256加算、T16x2=16加算+16加算=32加算、256/32=8倍)

  4)44.1KHz16bit で書き出した場合でも、262144Hzのリアル音源の全帯域(131072Hz)に渡り、
   リアル音源に聞こえる成分が生成されている(0-22.05KHzにも重畳されている)ため、
   元のCDより音質が向上してハイレゾ音質に近づいています。

 

にほんブログ村 写真ブログ 立体写真へ

 

にほんブログ村 写真ブログ 水中写真へ

| | コメント (0)

2023年8月17日 (木)

m4a,mp3などの非可逆圧縮音源を、WAV(44.1KHz 16bit)音質に簡易復元

 m4a,mp3などの非可逆圧縮音源は、元のWAV(44.1KHz 16bit)より音質が劣化しています。
非可逆圧縮音源の帯域バランスは一般的に「高域は強調され、低域はスカスカ」の傾向になります。
(聴覚の特性に基づいて圧縮しているため、こうなってしまうのでしょうか?)
しかし、そんな圧縮音源でも圧縮前のWAV相当の音質で聞くことができないか? その答えです。

約16KHz以上のカットされた帯域と、マスキングでカットされた周波数成分は復元不可能ですが、
帯域バランスをWAVに近づけることで、圧縮音源くささをなくしました。

※1、聴力検査で約8KHzまでしか聞こえない耳で音質を評価しています。
   20KHzまで聞こえる若い方にはどんなふうに聞こえているんでしょう?

 圧縮音源からWAV相当の音質への簡易復元は簡単な操作なので是非試してみてください。

 

1、使用するソフト

 Audacity Ver 3.2.5 推奨(プロジェクトのサンプリング周波数の指定が簡単)

 ※2、Ver 3.2.5は、現在アーカイブからのダウンロードになります。
   2023/08/16現在  https://www.fosshub.com/Audacity-old.html

 ※3、Ver 3.3.3 最新バージョンでも使えますが多用する(プロジェクトのサンプリング周波数)の
   指定が階層の深いところに変わって使いにくいです。
   エフェクトの日本語表記も変更されています。


 Audacityの設定 (Ver3.2.5)

 1)編集→環境設定→品質
  サンプリング
   サンプリング周波数: 44100Hz
   サンプル形式   : 32bit 浮動小数点 ・・・必須
  リアルタイム変換
   サンプリング周波数: 最高品質(最低速)
   ディザリング   : 無し
  高品質変換
   サンプリング周波数: 最高品質(最低速)・・・必須
   ディザリング   : 無し       ・・・必須 

  ※4、他のソフトでも、下記を満たせば使えると思います。
    ・サンプリング周波数の指定が任意設定できる(f=2^n)
    ・32bit-float 編集ができる
    ・アップ/ダウンサンプリング計算がsinc関数演算
    (他のソフトが使えてもパラメーターの見直しは必要と思います)


2、操作の流れ

   変換フロー (m4a 44.1KHz の例)

   m4a (44.1KHz) → 262144Hz 32bit-float → wav (44.1KHz/16bit)

 

 m4a(44.1Khz)音源の変換例(ファイル名:44m4a.m4a)

 1)44m4a.m4a 読み込み

 2)アップサンプリング周波数を 262,144Hz に指定
  画面左下の(プロジェクトのサンプリング周波数)のBOXに、262144 と直接入力
  262,144Hz は、二進数で割り切れる時間軸 T=1/2^18 (s)  

 3)32bit float/rf64形式で書き出し
  ファイル名例 44m4a_262f.rf64

  ※5、32bit float/wav形式でも可 (CD1枚連結を書き出すと4GBを超えるのでrf64を推奨)

 4)44m4a_262f.rf64 読み込み

 5)ダウンサンプリング周波数 44100Hz を選択 (※6)
  画面左下の(プロジェクトのサンプリング周波数)で44100 を選択。

  ※6,映像から分離したAAC、AC3などの48KHzの非可逆圧縮音源は、wavの書き出し時に
    48KHz/16bit を選択します。
    48KHz系を44.1KHz系に変換(逆も)すると音質が落ちます。

 6)wav/16bit で書き出し(※7)
  ファイル名例:44m4a_262f_44-16.wav

  ※7、44.1KHz16bit以外(例 96/192KHz24bit)で書き出しても、WAV音質にもハイレゾ音質にも
     なりません。劣化するだけです。


 ※8、CD1枚分などの長時間の音源の場合、次の項目に進む前に「新規プロジェクト」を先に
   開いてから、作業の終わったプロジェクトを終了させながら進むと、複数のプロジェクトを
   開かずに済み、audacityの作業ファイルの累積が無くなくなり作業容量の節約ができ、
   操作のレスポンス低下をなくすことができます。
  
 ※9,蛇足ですが、ASIOソフトの「BRAVO-HD Audio CPL」を開いてしまうと、Audacityがまともに
   動作しなくなる(速度低下)現象が出ています。


3、何をしているのか?

  数学的な説明は抜き(できません(^^;)で、下記のイメージの考えで簡易変換を行っています。

   非可逆圧縮音源はwavデータを間引くために関数の形のデータ(イメージでの理解です)に変換
  されていて、WAVに変換すると不連続の点を結んでつながれた「ガタガタ波形」になり、
  その「ガタガタ波形」が音質劣化の原因と考えました。
  (関数なのでbit深度の考えが無く、32bit-floatで復調すると、24bit値をとります)

  そこで、32bit-floatで復調された「ガタガタ波形」の24bitをsinc関数を使ったアップサンプリ
  ングで再計算して滑らかな 262,144Hz/24bitの波形に変換し、その滑らかな波形から再び
  44.1KHz/16bitにダウンサンプリングすることで、圧縮されて残った周波数成分を持った
  滑らかなWAV波形に戻すことができる。

   アップサンプリング周波数を 262,144Hz(二進数で割り切れる時間軸(T=1/2^18_s)に
  することでアップ/ダウン・サンプリング時の時間軸の割り切れない計算誤差をなくして、
  音質の劣化を少なくします。 
  262,144Hzは(2^17~20_Hz)の中からヒアリングで決定。

  ※10、192KHzなどは、T=1/192,000=0.0000052083…(s)と割り切れないため時間軸基準に
    揺らぎを生じて音質を劣化させていると考えられる。 (PC内部の2進数は理解不能です) 

   下図は、実際にmp3(44.1KHz128kbps)でWAV音質に簡易復元した例で、波形の変化(差分)と
  新たに生成された周波数成分です。

_001_h16002

 

   今回の処理は、「圧縮音源をハイレゾ音質相当に変換する」ためのプリ処理で、
  圧縮音源をCD音質相当(wav 44.1KHz16bit)に復元するために開発した。
  次回のブログで「WAV音源をハイレゾ相当に変換」を公開予定です。

 

にほんブログ村 写真ブログ 立体写真へ

 

にほんブログ村 写真ブログ 水中写真へ

| | コメント (0)

2022年1月21日 (金)

foobar2000の高音質設定

 foobar2000を使用している方はすでに高音質設定を実施していると思います。

   参考:foobar2000 高音質設定?(カチュアさん)
      https://kachua.hatenablog.com/entry/2018/09/02/133752

上記の設定の他に音質を向上させる方法があります。
foobar2000を起動したとき、プロセスの優先度が「通常(N)」になっているのを
「高(H)」に変えることで音質が向上します。

1,プロセスの優先度変更
(1)foobar2000起動
(2)タスクマネージャー起動
(3)プロセスを表示
(4)foobar2000 を右クリック
(5)詳細の表示を左クリック
(6)foobar2000.exe にマウスを合わせて右クリック
(7)優先度の設定にマウスを合わせると「標準(N)の設定」になっている
(8)高(H)を左クリック・「優先度の変更」で設定変更
(9)タスクマネージャーを閉じる
(10)ASIOを使っている場合、ASIOのソフト(ドライバー)の表示がタスクマネージャー
 のパネルに出ていれば(無いときもある)それも優先度「高」にする。

2,foobar2000の最小化
(1)再生時にfoobar2000のパネルを最小化して消すと、音質が向上します。

NOTE
1)foobar2000を終了したり、パソコンをシャットダウンすると、優先度「高」
 はリセットされてしまうので再設定が必要です。
2)この方法は他の音楽再生ソフトでも有効です。

| | コメント (0)

2021年11月17日 (水)

映像の音源から生の音を再現するテスト

 風鈴の音の入った映像の音源から、風鈴の生の音を再現するテストを行いました。

(1)オリジナル音源(低ビットレートで音質が劣化している)
  AAC 48Kbps 44.1KHz を、wav 44.1KHz 16bit に変換

(2)生の音再現音源(オリジナル音源をLm1音質補間処理したもの)
  AAC 48Kbps 44.1KHz を wav 44.1KHz 16bit Lm1音源に変換

※ YouTubeアップ時は(1),(2)ともAVI形式の無圧縮音源WAV 44.1KHz 16bit で
 行いましたが、YouTube でwebm(48KHz)又はAAC(44.1KHz)の圧縮音源(音質劣化)
 に再変換されているものを聞いていただいています。
 YouTubeで再変換されてもLm1音源の音質を保てるかどうかもテストしています。
 Lm1音源はCD規格(44.1KHz/16bit)でハイレゾ音源を超える品質を目指しています。

 

 

 

映像、音声の出典:下記をもとにR1が作成。
NHKクリエイティブ・ライブラリー
https://www2.nhk.or.jp/archives/creative/material/view.cgi?m=D0002161138_00000
D0002161138_00000.mp4

 

にほんブログ村 写真ブログ 立体写真へ

 

にほんブログ村 写真ブログ 水中写真へ

| | コメント (0)

2020年12月 3日 (木)

疑似ハイレゾ音源の最新バージョン(2023/8/24現在)

疑似ハイレゾ音源の最新バージョンの紹介記事です。

 下記の記事が、3年ぶりに新規開発した「疑似ハイレゾ音源」の最新バージョンです。


CD音源、m4a,mp3などの圧縮音源から、ハイレゾ相当のリアル音源を作る記事です。

No.29
CD音源の高精度アップサンプリングで、ハイレゾ相当のリアル音源を作る。
2023-08-23
http://r1rawd.cocolog-nifty.com/blog/2023/08/post-08e713.html

No.28
m4a,mp3などの非可逆圧縮音源を、WAV(44.1KHz 16bit)音質に簡易復元
2023-08-17
http://r1rawd.cocolog-nifty.com/blog/2023/08/post-bb84e4.html

 

 「ハイレゾ」カテゴリーの記事が増えてきたので、最新バージョンにたどり着けるように目次を作りました。
 新規開発があれば随時更新していきます。


************************************************************************

 下の記事一覧は、過去の「ハイレゾ音源」カテゴリーの系譜です。

No.1からNo.27は失敗作も含めて進化の過程です。


No.27
CD、mp3をハイレゾ音質に変換 R1HD Remaster
2020-10-20
http://r1rawd.cocolog-nifty.com/blog/2020/10/post-b68b97.html

No.26
Audacityで高品質のダウンサンプリング手法
2019-11-22 00:23:21
http://r1rawd.cocolog-nifty.com/blog/2019/11/post-78dd43.html

No.25
Audacityでモノラルを疑似ステレオにしてみた!
2019-11-11 00:29:36
http://r1rawd.cocolog-nifty.com/blog/2019/11/post-6aba0b.html

No.24
アップサンプリングでハイレゾのちょっと手前の音に復元
2019-11-06 23:38:25
http://r1rawd.cocolog-nifty.com/blog/2019/11/post-4e439f.html

No.23
YouTubeビデオの音声遅延
2019-10-27 05:39:45
http://r1rawd.cocolog-nifty.com/blog/2019/10/post-16106a.html

No.22
mp3を疑似ハイレゾ音源に変換、音に違いは有る/無い?
2019-09-07 15:57:25
http://r1rawd.cocolog-nifty.com/blog/2019/09/post-c2aa3c.html

No.21
CDからスタジオのハイレゾ・マスタリング音源を再現。
2019-04-11 23:30:01
http://r1rawd.cocolog-nifty.com/blog/2019/04/post-4b51ee.html

No.20
ダイナミックヘッドホン ATH-W1000 の改造
2019-03-11 14:52:37
http://r1rawd.cocolog-nifty.com/blog/2019/03/ath-w1000-9de4.html

No.19
エレコム EHP-AHR192 の音質向上改造 Ver.2
2019-03-02 15:38:18
http://r1rawd.cocolog-nifty.com/blog/2019/03/ehp-ahr192ver2-.html

No.18
CD音源をハイレゾに変換しよう! CD-Hi-Res Ver.1
2018-09-21 04:02:28
http://r1rawd.cocolog-nifty.com/blog/2018/09/cdcd-hi-res-ver.html

No.17
CDフォーマットでハイレゾ再生Ver.3
2018-08-21 18:23:08
http://r1rawd.cocolog-nifty.com/blog/2018/08/cdver3-945e.html

No.16
CDフォーマットでハイレゾ再生Ver.2
2018-06-01 22:59:18
http://r1rawd.cocolog-nifty.com/blog/2018/06/cdver2-99f5.html

No.15
究極の「CDフォーマットハイレゾ音源」
2018-05-13 23:51:00
http://r1rawd.cocolog-nifty.com/blog/2018/05/cd-8357.html


No.14
ハイレゾ音源はなぜ音がよく聞こえるのか?
2018-05-10 22:26:52
http://r1rawd.cocolog-nifty.com/blog/2018/05/post-c1c4.html

No.13
なんちゃってハイレゾ音源Ver.5
2018-05-09 03:01:53
http://r1rawd.cocolog-nifty.com/blog/2018/05/ver5-9ba9.html

No.12
エレコム EHP-AHR192 の音質向上改造
2018-04-24 20:49:46
http://r1rawd.cocolog-nifty.com/blog/2018/04/usb-dac-ehp-ahr.html

No.11
私のパソコンは偽ハイレゾ再生だった!
2018-04-09 04:59:37
http://r1rawd.cocolog-nifty.com/blog/2018/04/post-a3c2.html

No.10
これはハイレゾ音源でしょうか?
2018.03.28
http://r1rawd.cocolog-nifty.com/blog/2018/03/post-998a.html

No.9
CDプレイヤーの音質向上(改造)
2017.02.26
http://r1rawd.cocolog-nifty.com/blog/2017/02/cd-1da6.html

No.8
ヘッドホンアンプとヘッドホンATH-W1000改
2017.02.18
http://r1rawd.cocolog-nifty.com/blog/2017/02/ath-w1000-d732.html

No.7
高域補間でハイレゾ音源を作ろう Ver.4
2017.02.03
http://r1rawd.cocolog-nifty.com/blog/2017/02/ver4-7047.html

No.6
192KHz-24bitのハイレゾ音源をもっといい音で聴く
2017.02.03
http://r1rawd.cocolog-nifty.com/blog/2017/02/192khz-24bit-c6.html

No.5
高域補間 N-ハイレゾ音源 Ver.3
2016.10.28
http://r1rawd.cocolog-nifty.com/blog/2016/10/ver3-ca0c.html

No.4
なんちゃってハイレゾ オカルト編
2016.09.27
http://r1rawd.cocolog-nifty.com/blog/2016/09/post-c99b.html

No.3
高域補間 N-ハイレゾ音源 Ver.2
2015.05.15
http://r1rawd.cocolog-nifty.com/blog/2015/05/n-ver2-506b.html

No.2
なんちゃってハイレゾ音源 ~ 高域補間の巻
2015.03.09
http://r1rawd.cocolog-nifty.com/blog/2015/03/post-53e8.html

No.1
アップサンプリングで、なんちゃってハイレゾ音源
2015.02.24
http://r1rawd.cocolog-nifty.com/blog/2015/02/post-3b91.html

 

にほんブログ村 写真ブログ 立体写真へ

 

にほんブログ村 写真ブログ 水中写真へ

| | コメント (0)

2020年10月20日 (火)

CD、mp3をハイレゾ音質に変換 R1HD Remaster

 「ライヴ!岡崎友紀マイ・コンサート」(LP,1974)、この46年前のLPレコードをCD-Rレコーダーで
CDにして聞いていますが、もしハイレゾ音源で復刻盤がでたらどんな音が聞こえるんだろう?
でも、ハイレゾ音源の復刻盤は出る可能性は無いので自分で作っちゃおう! ということで、CDを
ハイレゾ音源に復元する「R1HD Remaster」を開発。

2曲目の「恋のささやき」、Yukiちゃんが目の前にいます!  

「R1HD Remaster」 完成です。


--------------------------------------------------------------------------------------


 記事に進む前に「R1HD Remaster」でハイレゾに変換したサンプルを試聴してみてください。
サンプルは圧縮音源のm4a(95Kbps)で高域は10KHzまでしか出ていな低音質の音源です。
高域抽出のフィルターは(記事にはありませんが)、BPF_8~10KHz を使用しています。
(二次配布可能な音源がこれしかなかったのと、低音質のハイレゾ化で差がわかりやすいです)

1、サンプル音源1 スノー・ロード(ピアノソロ曲) 01:03

  1-1、m4aを、96KHz-24bit にアップサンプリング

  1-2、m4aを、R1HD Remaster で96KHz-24bit にアップサンプリング

2、サンプル音源2 屋根裏のチェロ(チェロとアコースティックギターのアンサンブル)01:01

  2-1、m4aを、96KHz-24bit にアップサンプリング

  2-2、m4aを、R1HD Remaster で96KHz-24bit にアップサンプリング


  ※ リンク先は私のGoogleドライブです。
    画面右上の「ダウンロード」アイコンでダウンロードしてください。
    再生ボタンを押すとエラーが出るかもしれませんが無視してください。
 ファイルは、アップ時にGoogleでウィルス スキャンされています。
   
    サンプル音源:  音楽:NHKクリエイティブ・ライブラリー
             http://www1.nhk.or.jp/archives/creative/

--------------------------------------------------------------------------------------  


目次

1、「R1HD Remaster」とは?
   1-1、「R1HD Remaster」は
   1-2、「R1HD Remaster」変換フローチャート
   1-3、「R1HD Remaster」でハイレゾ化できる音源
   1-4、「R1HD Remaster」で作成できるハイレゾの種類


2、「R1HD Remaster」の作り方。
   2-1,必要なソフトとハードウエア
   2-2,作成前の注意と準備
   2-3,作り方 説明とビデオ

3、「R1HD Remaster」の技術的なこと。
   3-1,48KHz系列の音源復元
   3-2,ハイレゾ成分の生成(スイープ波形のハイレゾ成分生成サンプル)
   3-3,その他

4、開発環境
 


***********************************************************************************

1、「R1HD Remaster」とは?

1-1、「R1HD Remaster」は、

  「R1HD Remaster」は、手持ちのCDやmp3などから「ハイレゾ音源による復刻盤がもしでたなら
  こんな音になる」を目指して開発しました。

   96/192KHz,24bitのハイレゾマスタリング音源からCD変換の過程で非整数倍の44.1KHz/16bitに
  ダウンサンプリングされて劣化した音質の復元を行い、失われた22.05KHz以上のハイレゾ成分
 (倍音)を疑似生成して加えて、ハイレゾマスタリング音源に迫る音質に復元します。

  「R1HD Remaster」の変換操作は、Audacity を使って行います。


1-2、「R1HD Remaster」変換フローチャート

     図1 「R1HD Remaster」変換フローチャート

01__001


1-3、「R1HD Remaster」でハイレゾ化できる音源

    1) CD(44.1KHz/16bit,wav)
      レコード、テープなどを、WAV 44.1KHz/16bit に変換したものもOKです。
      古いレコード、カセットテープなどで15KHz以上の出ていない音源はmp3音源として処理

    2) mp3、AAC、WMA などの44.1KHzの圧縮音源
      Audacityで読み込むことのできる、サンプルレート 44.1KHz ならその他でも可。
      ハイレゾ復元に12~16KHzの帯域を使うので、ビットレートが高いほうが望ましい。
      oggの低圧縮の音源は20KHzまで出るのでCdと同じ変換の方が音がいいです。
      (高ピットレートの音源はスペクトラムを見て15~20KHzが出ていればCDと同じで可)

    ※48KHz音源を変換したい場合は音質は落ちますが44.1KHzに変換してから行ってください。
      48KHz/16bit→48KHz/32bit float→385.8KHz/32bit float→44.1KHz/32bit float
    


1-4、「R1HD Remaster」で作成できるハイレゾの種類

    「R1HD Remaster」のマスター音源 384KHz/32bit float からダウンできる音源となります。

    1) 96KHz/24bit  (32bit or 32bit float も可)
    2) 192KHz/24bit (32bit or 32bit float も可)
    3) 384KHz/24bit (32bit or 32bit float も可)
    4) DSD(※ 384KHz/32bit float(WAV) で書き出しTASCAM Hi-Res EditorでExport) 

    図2 CD(44.1KHz/16bit)をハイレゾ(96KHz/24bit)に変換したときのスペクトラム例
      


02_2

 

***********************************************************************************

2、「R1HD Remaster」の作り方。

2-1,必要なソフトとハードウエア

   1)必要なソフト

    ・Audacity (フリーソフト)  https://www.audacityteam.org/
     音源の編集ソフトです(読み込み、加工、書き出しに使います)
     バージョンは任意 (説明では、2.0.6を使用しています)

    ・CDリッピングソフト
     Windows標準の、Windows Media Player でWAV(無圧縮)形式で取り込みます。 

    ・WaveSpectra (フリーソフト)  https://efu.jp.net/soft/ws/ws.html
     CDのディザリングが「フラット」か「高域持ち上げ(Pow-r系)」かでハイレゾ成分抽出の
     フィルター特性が異なるのでスペクトラムを見て判別しておきます。
     出来上がったハイレゾ音源のスペクトラム確認にも使えます(-180dB表示に設定)
     
    ・ハイレゾ再生ソフト
     お好きなものをお使いください。

     再生にASIOを使わない場合、最高音質で聞くには音源の「ビット数と周波数」の形式を
     再生する音源に手動で合わせてください。
       (Windows10) Windowsの設定→システム→サウンド→デバイスのプロパティ→
        追加のデバイスのプロパティ→詳細→既定の形式
        (44.1KHz/16bit or 96KHz/24bit or 192KHz/24bit など)
     ※ASIO再生なら自動で合わせてくれますが、WASAPIなどは手動設定が必要です。
      USB-DAC等のドライバーソフトで設定できるものもあります。

 

   2)必要なハードウエア

    ・96KHz24bit以上のハイレゾが再生できるパソコンやUSB-DAC、オーディオ機器など。
     ※パソコンでハイレゾ再生可の仕様になっていても実際は内蔵DACが48KHzで、
      ハイレゾをDAC内部でダウンサンプリングして再生している偽対応もあるので注意。

    変換時間短縮のためには(必須ではありません)

    ・動作周波数の高いCPU
     Audacityの動作は1つのスレッドで行われるためマルチコアより高クロックが早い

    ・高速のストレージ(HDD,SSD)
     作業時間は、音源とAudacityのテンポラリファイルの読み書きの時間で決まるので
     作業時間短縮には高速の大容量ストレージがおすすめです。
     (私の環境でCD1枚60分を変換するのに約1時間かかります。)
     
     必要な空き容量は、CD(74分29秒)1枚連結の音源を変換するときの例として
       CD音源、中間ファイル、96KHz24bit書き出しドライブで、42.9GB
       Audacity作業ファイルドライブで 39.2GB
       ※こまめに不要なAudacityシート、中間ファイルを消去すれば節約可。

     SSDの場合、exFAT(アロケーションサイズ4~16KB)を使うとAudacityの作業用ファイル
     の消去(解放)時間が早いです。


2-2,作成前の注意と準備

   注意 【 厳守事項 】

     作業中の中間ファイルにはクリップした最大レベルの音源が含まれているので
    絶対に再生しないでください。
    再生した場合、大音量で耳に障害を与えたり再生機器(スピーカー、ヘッドホン)を
    破壊する恐れがあります。
    出来上がったハイレゾ音源の音出しも、ミスがないか確認するときはボリュームを
    下げてチェックしてください。
       


1)Audacityの設定 

  Audacityの設定 (例 Ver,2.0.6)※使い易いので旧バージョンを使用しています。
 
   a)編集-設定-品質
     サンプリング ・サンプリング周波数:44100Hz
            ・サンプル形式:32-bit float
     高品質変換  ・サンプリング周波数変換:Best Quality(Slowest)
            ・ディザリング:なし
     ディレクトリ ・音源のあるドライブ以外の高速HDD,SSDを推奨


   b)使用する3種類のフィルター特性(下記の3パターンを登録しておきます)
     ・WAV用 HPF 15KHz  0dB-Flat (44.1KHzで作成)
     ・mp3用 BPF 12KHz ~ 16KHz 0dB-Flat (44.1KHzで作成)
     ・ハイレゾ用 HPF 22.5KHz-0dB ~ 192KHz-81dB (192KHzで作成)

     図3 使用する3種類のフィルター特性

03_

 

2) CDからR1HDを作る場合、WaveSpectraで演奏が始まる前の無音時のスペクトラムをみて、
  高域にノイズを入れるタイプのディザリング(Pow-r系など)かどうかのを判別します。

  WAVのディザリング:フラットタイプ (1999年より前のCDに多い?)
    WAV用のフィルターを使います

  WAVのディザリング:pow-r系、UV22HR など高域をノイズで持ち上げるタイプ
    mp3などの圧縮音源用のフィルターを使います。
    このタイプは、15KHz以上の倍音とディザリングノイズの区別ができないため
    WAV用フィルターを使うと高域が強調されてキンキンした音になります。
    そのためディザリングの影響がない12~16KHz帯域の圧縮音源用のフィルターを使います
    (但し音質が落ちます)
    音圧のレベルがディザリングノイズより平均で高いWAVはWAV用フィルターでも可です
    (試してみるしかありません)

  ※mp3などの圧縮音源はスペクトラムのチェックは不要です。

  
   
    図4 ディザリングの種類

04_


*************************************************************************

2-3,作り方 説明とビデオ 


  図5 「R1HD Remaster」の作り方

 

 

 

1)CD音源(① 44-16.wav)の読み込み (以下 mp3などは、CDをmp3と読み替えてください) 

2)RF64形式で、44.1KHz,32bit float で書き出し(② 44-16_44f.RF64)後、1トラック消去
 変換中のファイルはWAVの4GB制限を超えることがあるので4GB超可能なRF64形式で統一します。
 最後に中間ファイルを消去するときも、RF64形式だけ消去する目印にもなります。

3)読み込み (② 44-16_44f.RF64) → 384KHz32bit floatで書き出し(③ 44-16_44f_384f.RF64)

4)続けて、(② 44-16_44f.RF64) を+150dB(+50dBを3回)増幅④
  増幅するときは、「クリッピングを可能にする」にチェックを入れてください。

5)増幅した④にフィルター処理⑤
 ここで音源のタイプにより、フィルター特性(A),(B)を選択します。
  (A)CD (WAV,44.1KHz/16bit)用:  15KHz以上のハイパスフィルター を2回
  (B)mp3などの圧縮音源用  :  12KHz~16KHzのバンドパスフィルターを2回

  ※WAVでディザリングがpow-r系の時は(B)mp3などの圧縮音源の方が好結果です。

6)フィルター処理⑤後に384KHz32bit float で書き出し(⑥ 44-16_44f-wav-384f.RF64)
  (又は、⑥ 44-16_44f-mp3-384f.RF64)
   その後、シート消去

7)新たなシートに、(③ 44-16_44f_384f.RF64) を読み込み(1トラック)

8)2トラックに、(⑥ 44-16_44f-wav-384f.RF64)をドラッグ&ドロップで読み込み(ハイレゾ成分)

9)2トラックにハイレゾ特性カーブのバンドパスフィルター(BPF)処理を2回
  BPF特性 22.5KHz -0dB ~ 192KHz -81dB

  ※「R1HD Remaster」で音質を調整する部分は192KHzの-81dBの値だけです。
   プラス方向(-80,-79dB・・・)は高域が強調されます
   マイナス方向(-82,83dB・・・)は高域が柔らかくなります。
   (ほかのパラメーターをいじると無限ループに嵌ります(^^;

10)2トラックの波形の前後のプチノイズを無音化処理
  曲の前後に短いパルス状のプチノイズが入ることがあります。
  時間軸拡大(1曲なら5回程度)で曲の前後のプチノイズを確認して無音化します。
  (見逃しなどを防ぐためにプチノイズが見えない場合でも0.1秒程度前後無音化処理を
   行ってください)

  ※無音化は「ジェネレーター:無音」で行ってください。
   「編集:特殊な削除・切り取り:無音化、又はツールバーの無音化」を使うと
   なぜだかわかりませんが音が劣化します?

  ※プチノイズは、曲の前後に無音帯がない(短い)、無音部のディザリングノイズ、
   DCバランスがゼロでない、ときに出ます。

11)2トラックを増幅(+3dB)
   アップサンプリング音源とハイレゾ音源のレベルを合わせる

  ※+3dBは放物線の底を探すような値で音楽のジャンルに関係なく+3dB固定でよいと思います。

12)1,2トラックを合成して、R1HD Remaster音源(⑦ R1HD-wav-384f.RF64)として書き出す

13)R1HD Remaster音源(⑦ R1HD-384f.RF64)を読み込み、「解析:スペクトラム」で操作間違い
 がないか波形を見て確認します。
 スムーズにつながっていたらOKなので、ハイレゾとして書き出す

  (⑦ R1HD-wav-384f.RF64) → (⑧ R1HD-wav-384f_96-24.WAV)
  (⑦ R1HD-wav-384f.RF64) → (⑨ R1HD-wav-384f_192-24.WAV)

  ダウンサンプリングは必ず384KHz32bit-floatから行ってください。
     例えば、192KHz/24bitから96KHz/24bitの変換では音質が劣化します。
     DACが32bit、32bit-floatに対応しているなら音質優先でチョイスしてください。
     DSDが必要なら、「TASCAM Hi-Res Editor」などで変換してください。
      ⑦ R1HD-384f.RF64→R1HD-384f.WAV(4GB以下)→TASCAM Hi-Res Editor Export

   CD全曲連結などで、192KHz/24bitでWAVに書き出す場合、最長は4GB以下に治まる
   約60分までです。(96KHz/24bitなら問題なし)
   60分以上の書き出しはRF64形式(foobar2000で再生可)、又はWAVで分割してください。
   (Flac形式は私の環境では音が変わると感じているのでお勧めしません)

14)Audacityシートの削除 (CD1枚連結の場合でHDD使用の時、数分かかることもあります)

15)中間ファイルの削除 (中間ファイルのRF64形式のファイルを削除)

注意:操作の順番を入れ替えたり、中間ファイルを省略したりすると音質が変化するので必ず
   手順通りの操作で行ってください。


************************************************************************

3、「R1HD Remaster」の技術的なこと

 技術的な説明は経験からの推測で、数学的な裏付けはありません(できません(^^;。

3-1、48KHz系列の音源復元
  CD音源(44.1KHz/16bit)を、
   a)処理1:44.1KHz/32bit-float変換でビット拡張(丸目誤差補間とディザリング除去が目的)
   b)処理2:384KHz/32bit-float変換で、48KHz系列の時間軸に疑似復元(時間揺らぎの平均化)

   (※2-1)48/96/192KHzからCDの44.1KHzへのソフトウエアによるダイレクトな変換は
      非整数倍ダウンサンプリングで時間時軸が狂い音質劣化の要因と考えています。
       試しに、192KHz/24bitハイレゾ音源を2種類のダウンサンプリングで音質の比較を
       してみてください。
       a)192KHz/24bit→44.1KHz/16bit
       b)192KHz/24bit→384KHz/32bit float→352.8KHz/32bit float→44.1KHz/16bit
        (※ディザリングは任意ですが、44.1KHz/16bit変換時のみ掛けてください)

       a)は音質が変化していると思います。
       b)はハイレゾ感はありませんが音質は引き継いでいると思います。

3-2、ハイレゾ成分の生成(スイープ波形のハイレゾ成分生成サンプル)

  倍音生成はCD音源から抜き出した15KHz以上の帯域の「微弱な折り返しノイズ?」をもとに、
 22.5~96KHzの疑似倍音を生成しています。

  ※倍音の生成は偶然見つけた方法なので正確なことはよくわかりません。


  図6 スイープ波による疑似倍音生成の様子(ビデオ)

 

    ハイレゾ成分のスペクトラムに昇りと降りの波が出ています?

  
倍音成分のもとに15KHz以上の帯域を使ったのは
 ・15KHzまで伸びてていない倍音はハイレゾ成分には不要と判断
 ・倍音のレベルが大きくて高域まで伸びているヴァイオリンなど(45KHz以上まで伸びている)と、
  倍音は高域まで出ているが減衰が早くレベルが小さいピアノなど(5KHzぐらいで急に減衰し
  てだらだら伸びる)の倍音のレベル変化をハイレゾ成分のレベル変化に追従させるため。
 ・抽出の開始点15KHzはヒアリングで決定。(WAVは、14,16KHzなどの前後では音質が劣化した)

mp3などの圧縮音源は16KHz以上が出ていない場合が多いため、倍音生成の帯域に12~16KHzの帯域を
使っていますので若干音質は落ちますが、圧縮音源からのハイレゾ音源への復元としては成功してい
ると思います。
※mp3からCD音質への復元は無理ですが、ハイレゾ音源への復元は有効だと思います。

倍音の生成は、
  1)処理1:44.1KHz/32bit-float変換でビット拡張
       (16bit丸目誤差補間とディザリングノイズの除去が目的、のつもり?)
  2)処理2:32bit floatの状態で+150dBの増幅(クリップ有で、+50dBを3回)で、増幅して
       見かけのノイズフロアを下げる
       (32bit floatなので音楽信号はクリップしていません)
  3)処理3:倍音生成に不要な15KHz未満をHPF 15KHzフラットで2回行いカット。(wav時)

       mp3などの圧縮音源は、16KHz以上の帯域がほとんどないため、倍音生成のもとを
       12KHz~16KHzフラットのバンドパスフィルター2回で抽出(帯域はヒアリングで決定)
       WAVをmp3に変換して音質比較するとやっぱり音質は落ちますが、ハイレゾ感は再現
       されています。
       
  4)処理4:アップサンプリング(384KHz/32bit-float)でハイレジ成分を生成。
       ハイレゾ成分は処理3で残した15KHz以上の帯域の折り返しノイズなのか?、
       よくわかりませんがヒアリングの結果オーライ、ということで・・・

       ※ハイレゾ成分の生成は「下手な鉄砲も数撃ちゃ当たる」で偶然見つけたものです。

  5)処理5:疑似倍音の抽出と減衰カーブを得るために、バンドパスフィルターを2回。
       BPF(22.5KHz 0dB、192KHz -81dB)

       22.05KHzと22.5KHzの繋ぎ目の無音帯は音質を損なわずにつなぐことができなかった
       のでそのまま残っています(音的には隙間の影響は感知できません)

       ※「R1HD Remaster」で音質を調整する部分は192KHzの-81dBの値だけです。
         プラス方向(-80,-79dB・・・)は高域が強調されます
         マイナス方向(-82,83dB・・・)は高域が柔らかくなります。
         (ほかのパラメーターをいじると無限ループに嵌ります(^^;

        44.1KHz/16bitと96KHz/24bitの2種がある多種の音源でテストした結果、
        「R1HD Remaster」の音質調整はこのパラメーター(-81dB)だけです。
        (他の設定値を音源ごとに変える必要は感じませんでした)

  6)処理6、波形の前後のノイズを除去(無音化)
       音源の前後に無音帯がない場合、sinc関数による演算でできる音漏れが増幅されて
       「プチ」ノイズができるので倍音生成直後に確認/除去(無音化)が必要です。
       「プチ」ノイズができる音源は
         1)ライブ音源などで前後の無音帯が無いか極端に短いもの(CD)
         2)微小ノイズが残っているもの(レコード、テープなどのノイズ)
         3)無音部のディザリングノイズ(pow-r系で無音化処理されていないもの)
         4)DCオフセットがゼロでないもの

  7)処理7、CD音源と倍音のレベルを合わせのために、+3dBの増幅 (固定値)

       +3dBは、音源(楽器の種類、声など)に関係なくバランスの良い標準値です。
       (+3dBは放物線の底(一番いい音?)を求めるような値だと思います)
       音源に合わせて、自分の好みの傾向にならないかとこだわる方は±0.05dB単位で
       調整してみてください。

3-3、その他

   1)開発時のヒアリングは、96KHz/24bit で行っています。

    使用しているUSB-DACは、192KHz/24bit の再生はできるのですが音質的にはなんとか
    音が出ている?状態に感じるので、評価は96KHz/24bitで行いました。
    192KHz/24bitをきちんと再生できる方で音質に問題がある場合は試しに45KHz以上をカット
    した192KHz/24bitハイレゾを作って聞くといい結果が出ると思います。
    ※USB-DACはamazonで1848円で買ったものなので192KHz/24bitはおまけでしょうか(^^;


****************************************************************************

4、開発環境

  1)パソコン: ノートパソコン dynabook T551/T6DB corei7 2670QM (2011年製)

  2)外付けSSD: BUFFALO SSD-PM240U3A-B (exFAT、アロケーションサイズ16KB)
         音楽ファイル、Audacity作業ファイル に使用

  3)USB-DAC: エレコム EHP-AHR192 (改造品)

  4)ヘッドホン: オーディオテクニカ ATH-W1000(改造品)

  5)ハイレゾ再生ソフト: 今回のために高音質プレーヤーを再調査して見つけました。
            これが無かったら細かい音の違いが判らず、「R1HD Remaster」の完成はなかった。

             Wave File Player for Experimental (64bit)
             https://www.wadatokki.co.jp/company/wavefileplayer/

            (併用・Windowsのピークリミッターを無効化するソフト)
             Disable Peak Limiter in Windows Audio Engine Ver1.2
             https://kawamoto.no-ip.org/henteko/myapp.html#dpeaklim

             ※ピークリミッター無効化でWave File Player for Experimental
              の音質がさらに自然さを感じられるように変化をします。

 

  6)波形観測用ソフト: 高速リアルタイム スペクトラムアナライザー WaveSpectra
             https://efu.jp.net/soft/ws/ws.html

 

にほんブログ村 写真ブログ 立体写真へ

 

にほんブログ村 写真ブログ 水中写真へ

| | コメント (0)

2019年11月22日 (金)

Audacityで高品質のダウンサンプリング手法

--------------------------------------------------------
「疑似ハイレゾ音源」の最新バージョンの紹介記事です。

疑似ハイレゾ音源の最新バージョン
http://r1rawd.cocolog-nifty.com/blog/2020/12/post-40adca.html
--------------------------------------------------------

 アマチュアバンドも録音機器の進歩でハイレゾレコーディングが当たり前になってきていて
録音・編集は96/192KHz・24bitのハイレゾで行うが、自主制作のCD作成用に44.1KHz・16bitや
配信用の44.1KHzのmp3などにダウンサンプリングしているのが現状で、まだハイレゾのままで
聞いてもらうニーズは少ないようです。

この時、ハイレゾ音源からのダウンサンプリングは下記の方法で行われていると思います。

  WAV 96KHz・24bit → WAV 44.1KHz・16bit / mp3 44.1KHz 192kbpsぐらい
  WAV 192KHz・24bit → WAV 44.1KHz・16bit / mp3 44.1KHz 192kbpsぐらい

 この方法で出来上がったCDを実際に演奏された方が聞いて、「何か違うなー」 と感じていたら
正解かもしれません。
実は上の方法の1回で44.1KHz/16bitにダウンサンプリングを行うと音質が低下するんです!
ハイレゾ感は22.1KHz以上の音をカットしてしまうので残すことはできませんが、「生の音感」は
ダウンサンプリング時にもうひと手間かけるだけで音質劣化を最低限に押さえる方法があります。

その方法とは、アップサンプリング/ダウンサンプリングを組み合わせて3段階の変換を行うこと。

 ① 96KHz・24bit の場合

   96KHz/24bit → 384KHz/64bit float → 352.8KHz/64bit float → 44.1KHz/16bit

 ② 192KHz・24bit の場合

   192KHz/24bit → 384KHz/64bit float → 352.8KHz/64bit float → 44.1KHz/16bit

   ※Audacityの品質設定:サンプル形式 32bit float、ディザリング矩形 に設定。
    ディザリングの方法は好みで選んでください。


このやり方で行うと、1回のダウンサンプリングで44.1KHz/16bitに落とした時の音質の劣化感

 ・ボーカルが膨らむ ・ギターなどの輝きがなくなる ・ドラムのアタック感がなくなる

などの「生の音感」の劣化が少なくなります。

 実際の波形にもその変化は現れます。
下の図は、192KHz/24bitのハイレゾ音源を、通常と今回の3段階ダウンサンプリングした波形です。
 1ch: 1回のダウンサンプリングで44.1KHz/16bitに変換
 2ch: 今回の3段階のダウンサンプリングで44.1KHz/16bitに変換
    (※1ch,2chの差異はグラフのレンジ(16bitの分機能65,536)では判別できません)
 3ch: 1chから2chを引いた差分で波形(音)に違いがあれば、波形として現れます。
    (※差分が、±1bit であったためグラフレンジに入れるため+84.3dB増幅しています)

Hakei_102

 

 変換方法が違うと波形の大きさに ±1bit の差異を生じており、16bitの波形の分機能65,536
に対して僅か±1bit の差異を耳で知覚できるのは少し驚きです!

 ただ音の好みは人によるので、今回の「3段階でダウンサンプリング」は私が音質が良いと感じた
のであり、1回のダウンサンプリングの方が音がよいという方もいると思います。
テストしてみたところ、YouTubeにアップして再エンコードされた音声でもこの差がわかることが
確認されたので、192KHz/24bitの音源を2種類の方法で44.1KHz/16bitダウンサンプリングした
サンプル曲をアップしたので実際に聞いていただいて比較してみてください。
  (※サンプル曲は著作権の関係で使える音源が無いので、192KHz/24bitの疑似ハイレゾ音源
    を使っています。 ヒアリングではどちらも同じ変化だったので疑似ハイレゾをサンプル
    音源としても問題のないことを確認しています)

Audacityで高品質のダウンサンプリング手法とその音質の比較

 

 

 

 ビデオは
   前半2分が、192KHz/24bit→44.1KHz/16bit
   後半2分が、192KHz/24bit→384KHz/64bit float→352.8KHz/64bit float→44.1KHz/16bit
でダウンサンプリングしたサンプル曲を、YouTubeによるAACへの再エンコード時の音質劣化を
小さくするために、音声を44.1KHz/16bit WAV形式のAVI動画で上げています。


サンプル曲は、「デュオボーカル アッチカ」の自主製作CD 安穏譜より「元気で又逢えたね」
 ※曲の使用についてはアッチカのバンマス佐々木様より快く了解を頂きました。感謝!
  デュオボーカル アッチカ
  https://anrakuji.org/acchika
  https://www.youtube.com/channel/UCBJUkSa3oDOPfJPl3UVHB_A


開発環境

 PC:ノートパソコン dynabook T551/T6DB corei7-2670QM、8GB
 HDD:外付け USB3.0 3TBx2台(データ用、作業ファイル用)(低価格の遅いHDD)
 USB-DAC:エレコム EHP-AHR192GD (改造品)BRAVO-HD ASIO バッファ 5ms
 ヘッドホン:オーディオテクニカ ATH-W1000 (改造品)
 編集ソフト:Audacity 2.0.6 (波形補間が直線補間タイプのソフトはNGです)
       最新バージョンは書き出しメニューが変更で使いづらいです。
 再生ソフト:WaveSpectra V1.51 ASIOで再生 (音楽鑑賞・リファレンス用に使用)
       ボリューム調整やEQ、リサンプリングなどの音質を劣化させる機能が一切ない
       ので高音質再生ができます(音質はUSB-DACに依存)。
       欠点はWAVとRF64形式しか再生できないことですが、4GB越えのハイレゾを
       デコード時に音質劣化するFLACにすることなくRF64形式の非圧縮で高音質の
       まま再生できます。
         高音質設定(CPU負担小) ①FFT サンプルデータ数128,窓関数なし
         ②休止時間 500mms  ③測定モード OFF ④ウィンドウ最小化       
 ヒアリング:8KHzまでしか聞こえない年相応の耳 (^^;

 

R1メモ

1) ダウンサンプリングの組み合わせと音質

  1-1、96KHz/24bit→44.1KHz/16bit                   品質・低
  1-2、96KHz/24bit→88.2KHz/64f→44.1KHz/16bit             ↓
  1-3、96KHz/24bit→192KHz/64f→178.4KHz/64f→44.1KHz/16bit    ↓
  1-4、96KHz/24bit→384KHz/64f→352.8KHz/64f→44.1KHz/16bit  品質・高

  2-1、192KHz/24bit→44.1KGz/16bit                   品質・低
  2-2、192KHz/24bit→178.4KHz/64f→44.1KHz/16bit           ↓
  2-3、192KHz/24bit→384KHz/64f→352.8KHz/64f→44.1KHz/16bit  品質・高

  ※編集にAudacityなどの内部演算32bit floatを使用できる場合は編集後の書き出しで
   96/192KHz・32bit float or 64bit float で中間ファイル書き出してから44.1KHz
   にダウンサンプリング操作を行うとより良い結果が得られると思います。

2) なぜこのような結果になったのか? (ブログ管理人R1の推定です)
 48KHz系列(48/96/192/384KHz)から44.1KHz系列(44.1/88.2/176.4/352.8KHz)に変換する場合
時間軸が整数倍では無いので新たに非整数倍の時間軸に変換されます。
非整数倍の新しい時間軸上に補間で新しく生成されたbit値は
「新たな44.1KHz系の時間軸を中心に48KHz系をsinc関数で重みづけをした平均値」です。
(とイメージで考えています。三角関数で止まっているので数学的な突っ込みは無しです(^^;)
平均値の計算なら、水増し?データ数が多くてbit深度が深いほうが誤差が小さくなるのでは?
とやってみたら結果オーライが今回のブロブネタです。

  ※ここにもヒントがあるので参考にしてみてください。
     CDからスタジオのハイレゾ・マスタリング音源を再現。
     http://r1rawd.cocolog-nifty.com/blog/2019/04/post-4b51ee.html

| | コメント (0)

2019年11月11日 (月)

Audacityでモノラルを疑似ステレオにしてみた!

--------------------------------------------------------
「疑似ハイレゾ音源」の最新バージョンの紹介記事です。

疑似ハイレゾ音源の最新バージョン
http://r1rawd.cocolog-nifty.com/blog/2020/12/post-40adca.html
--------------------------------------------------------

 「風の谷のナウシカ」のDVDを久しぶりに見たのだが、なんと音声がモノラルであった
ことに初めて気が付いた。
音声はステレオという先入観と、モノラルにサラウンド効果をかけているようで今まで
ステレオ風に聞こえていて違和感が全くなかったのだ。 
今日まで気づかなかった私の耳はこんなもんです(^^;

でもなぜ、モノラル!
「風の谷のナウシカ」の映画が製作された1984年はまだステレオに移行の過渡期だったらしい。
モノラルだとわかると、ステレオで聞きたくなるのが人情。

 

 ということで、今回はモノラルの疑似ステレオ化を模索してみました。
試行錯誤の末、何とかステレオらしく聞こえる変換方法が見つかったので公開。

 

1、今回考え付いた、疑似ステレオ化の方法。

 ①疑似ステレオの仕組み

   低音をLch,高音をRch寄りに位相差で疑似的に定位
   遅延でステレオ幅を得る

 ②モノラル音源の加工方法

   Lch = Lch(モノラル)+
      Lchサラウンド(モノラルを加工)→(正相←Low(周波数)High→逆相)
                       +20ms遅延+ゲイン調整

   Rch = Rch(モノラル)+
      Rchサラウンド(モノラルを加工)→(逆相←Low(周波数)High→正相)
                       +20ms遅延+ゲイン調整

 ③ステレオ感の調整パラメーター

   1、正相・逆相のフィルタリングを行うイコライザーカーブ
     中間帯域から離れるほど高音・低音の位相差の強度を強くする。
     中間帯域は明瞭度を保つため、位相を大きくいじらない
   2、遅延時間 20ms前後 (短い=ステレオ幅狭い、長い=ステレオ幅広い)
   3、サラウンド効果のゲイン +5dB前後 (+4=ステレオ感小、+6=ステレオ感大)

 ④使用する音楽編集ソフト

   Audacity (使用しているのはVer.2.0.6)

 

2、実際に疑似ステレオ化した音源のサンプル。

   YouTubeにアップしたので疑似ステレオの効果を聞いてみてください。

 

 

 

  サンプル曲はモノラル音源が得られなかったので、YouTube Audio Libraryから
 ダウンロードした音源(主にクラシック)をモノラル化してから使用しています。

疑似ステレオ化のパラメーター(全曲共通)

  1)イコライザーカーブA(周波数が対数目盛で、0KHz・0dB、22.05KHz・-48dB)
   イコライザーカーブB(周波数が対数目盛で、0KHz・-48dB、22.05KHz・0dB)
  2)遅延時間 20ms
  3)ゲイン +5dB

曲順

1、William_Tell_Overture_by_Rossini.mp3
2、Symphony_No_5_by_Beethoven.mp3
3、Moonlight_Sonata_by_Beethoven.mp3
4、Lost_In_Prayer.mp3
5、Hungarian_Rhapsody_No_2_by_Liszt.mp3
6、Gymnopedie_no1.mp3
7、9th_Symphony_Finale_by_Beethoven.mp3

(クラシックのレパートリーを知らないので適当に選びました)

 

3、疑似ステレオの作り方(説明は、Audacity Ver.2.0.6 を使用)


3-1、サラウンド音源の作り方
 1)ステレオ2ch化されたモノラル音源(44.1KHz)を、トラック1に読み込む
 2)トラック1をコピーして、トラック2にペースト
 3)トラック1にイコライザーカーブA(周波数が対数目盛で、0KHz・0dB、22.05KHz・-48dB)
  イコライザーのカーブは周波数軸が対数目盛りで行ってください
 4)トラック2にイコライザーカーブB(周波数が対数目盛で、0KHz・-48dB、22.05KHz・0dB)
   A,Bとも、減衰側の-48dBを大きく(-24dBなど)するとステレオ感が小さくなります
 5)トラック2の上下を反転
 6)トラック1,2を合成して書き出し→サラウンド音源(sara.wav 44.1KHz・24bit)
  これで、低音側が正相・高音側が逆相のサラウンド音が得られます。

3-2、モノラル音源とサラウンド音源の合成
 1)トラック1にモノラル音源を読み込み
 2)トラック2にサラウンド音源を読み込み
 3)トラック2の先頭に20msの無音を挿入し、最後を20ms削除
   遅延は20msを標準とし、15,10msに小さくするとステレオ幅が狭くなります。
   20msより大きくすると単音などの場合にエコーが掛かったように聞こえる
   場合があるのでヒアリングで最適値を決めてください。
 4)トラック2の左BOXの▼メニューで、ステレオトラックを分離する。
   新しく、左がトラック2、右がトラック3になっている
 5)トラック3の上下を反転させる
 6)トラック2,3の左BOXのゲインスライダーを+5dBにする。
   この段階で再生して音を確認し、ステレオ感を調整するなら+4、+6dBなどに好みで
   調整してください。
 7)トラック1,2,3を合成してステレオチャンネルで書き出します。
   PCでしか再生しないなら、44.1KHz24bit,wavがおすすめです。CD化なら44.1KHz16bit,wavで。

 

 

  疑似ステレオの作り方(Audacityの画面キャプチャービデオ)

 

 

 

  音声部分に、BGMとして実際に疑似ステレオ化した音を入れてあります。

 

3-3、その他

 1)モノラル音源が48KHzの場合、イコライザーカーブA,Bがそのまま使えます。

 2)疑似ステレオ化の中核であるイコライザーA,Bがハイレゾに対応できないので
  疑似ステレオ化できる音源は、44.1KHzと48KHzだけです。

 3)古いSPレコードのモノラル音源は高域がほとんど出ていないので、ステレオ感が低音定位側の
  Lch寄りになりますが、ステレオ感はそこそこ感じられます。 

 4)音質向上のためにアップサンプリングを行うなら下記がおすすめです。

   a)44.1KHz24bit→352.8KHz64bit flot→384KHz64bit float→192KHz24bit

    ※YouTubeにアップしたビデオはYouTubeの再エンコードで44.1KHzにダウンされるので少しでも劣化しないように
     a)の方法で音声を192KHz/24bit/WAV (ブルーレイ用tsファイル)に変換してからでアップしています。


   b)44.1KHz24bit→CDからスタジオのハイレゾ・マスタリング音源を再現
          http://r1rawd.cocolog-nifty.com/blog/2019/04/post-4b51ee.html
     
   c)mp3に書き出すなら、44.1KHz24bit→48KHz320Kbps(48KHzにすると音質が向上します)
    ※私のUSB-DACはクロックが12MHz1系統で44.1/48KHzのマスタークロックを生成していて
     44.1KHz系のジッタが大きくて?44.1KHz系の音質が劣っているためでしょうか?

| | コメント (4)

2019年11月 6日 (水)

アップサンプリングでハイレゾのちょっと手前の音に復元

--------------------------------------------------------
「疑似ハイレゾ音源」の最新バージョンの紹介記事です。

疑似ハイレゾ音源の最新バージョン
http://r1rawd.cocolog-nifty.com/blog/2020/12/post-40adca.html
--------------------------------------------------------

 CDやmp3の音とハイレゾ音源を聞き比べて、やっぱりハイレゾのほうがいい音だと
思う方へのメッセージです。

 CDやmp3音源から疑似的なハイレゾ音源への復元は、少し複雑で手間がかかりますが
できます。

 ※AudacityでCDを疑似ハイレゾ音源に復元するブログの記事です。
   「CDからスタジオのハイレゾ・マスタリング音源を再現。」
    http://r1rawd.cocolog-nifty.com/blog/2019/04/post-4b51ee.html

今回は「しかしこの方法はめんどくさいのでパス」、という方向けに簡易版の方法です。
この方法は簡単にできますが、あくまでもCDの帯域(~22.05KHz)内の復元でハイレゾ成分
(22.05KHz~)は含んでいませんが、元の音に比べて音質が向上します。(と思います)


その方法は、「アップサンプリングを2回に分けて行う」 ことだけです。

CDやmp3(44.1KHz)のアップサンプリング方法

  ①96KHz・24bitにアップサンプリング

    44.1KHz(16bit) → 88.2KHz・24bit → 96KHz・24bit

  ②192KHz・24bitにアップサンプリング

    44.1KHz(16bit) → 178.4KHz・24bit → 192KHz・24bit


(※なぜ2回に分けてアップサンプリングをすると良いのかは、上の記事を参照ください)


さらに音質向上へのヒント

1)最良の変換(ちょっと複雑になります)

 44.1KHz → 352.8KHz・64bit float → 384KHz・64bit float → 96KHz・24bit
 44.1KHz → 352.8KHz・64bit float → 384KHz・64bit float → 192KHz・24bit

2)CD全曲を結合して時間が長い音源などは、Flacで書き出す。(WAVの最大サイズは4GBまで)
(私は非圧縮のRF64フォーマットで書き出し、WaveSpectraのASIO+USBDACで再生しています
 WaveSpectraはりサンプリングや音量調整などの余計な操作を一切行っていないので素の音
 を再生でき、私の常用再生ソフトです。欠点はWAVとRF64しか再生できないこと)

3)使用する音楽編集ソフト
 Audacity をお勧めします。
 必須要件 ・384KHz・64bit floatの操作ができる
      ・アップ/ダウンサンプリングの補間に直線補間方式は不可
      ・ダウンサンプリング時に(お好みで)ディザが使える

| | コメント (0)

2019年10月27日 (日)

YouTubeビデオの音声遅延

--------------------------------------------------------
「疑似ハイレゾ音源」の最新バージョンの紹介記事です。

疑似ハイレゾ音源の最新バージョン
http://r1rawd.cocolog-nifty.com/blog/2020/12/post-40adca.html
--------------------------------------------------------

 最近お気に入りの音楽動画を見ていて「口や目の動き、体の振りと音が合わない?」
と思うことがあり気になったので調べてみました。

 調べ方は、自分で作ったオリジナルビデオとYouTubeにアップロード後に
ダウンロードしたビデオとに、ビデオのフレーム遅れやずれ、音声のずれ
がないかどうか確かめてみました。
2つの動画をAdobe Premiere Elements9のビデオ1/ビデオ2に取り込み比較
してみたところ

 1、ビデオフレームのずれや遅れはない。
 2、音声は、YouTube DLの音声が -13ms遅れていた。

図1:ビデオの仕様

003

図2:pre9によるビデオと音声の確認

_001

図3:Audacityで音声部を拡大して確認

_002

 (注:今回は1280x720mp4動画でテストしています。他形式の
    動画では異なった結果になる可能性もあります。)

 ビデオを見ていて感じた「口や目の動き、体の振りと音が合わない?」の
違和感は -13ms の音声遅れで感じていたのでしょうか?
そこで、YouTube DL動画をビデオと音声に分離(h264、AAC)し、tsMuxerGUI
を使って音声を13ms進めてM2TS動画に再構築してみると、音ずれの違和感
は消えました。(PCで見る分には音声44.1KHzでもWIN10標準で再生できます)

音声の遅延 -13ms (-0.013秒)は知覚できる長さでライブの生々しさを感じる
には無視できない時間だということがわかりました。
YouTubeさんには次のバージョンアップで改善してもらえると嬉しいな~
 
 YouTubeの動画を上の方法で音声遅れを改善することはダウンロードが禁止されて
いるのでできません。
(テストは自分でアップロードしたビデオをログイン画面からDLしているのでok)
後はアップロードされる方が、音声をあらかじめ-13ms進めた動画を作ってアップ
ロードしてもらうしかありませんが動画編集が複雑になることと、将来
YouTubeの改善で音声遅れのない再エンコードをされたときに音声が逆に進み方向
なってしまうことです。
今は、音声遅れを受け入れてYouTubeを見るしかないんですね!
(気にしなければいいだけなんですが、一度わかってしまうと・・・)


R1メモ

 PC内の動画エンコードでもフレームずれや音声遅れが起きます。
2種類の動画編集ソフトでmp4のエンコードで試したところ
 Aソフト:ビデオが1フレーム(1/29.97)遅れるが、音声はずれなし。
 Bソフト:ビデオのずれはないが、音声が-12ms遅れる。
YouTubeにアップする動画を編集・エンコードする時点でもうビデオと音声の
ずれがすでに発生している状態で、これをYouTubeにアップするとさらにビデオ
と音声の同期がずれていきます。
音楽ビデオにこだわるなら、自分の使っている動画編集ソフトの癖を見切って
最終エンコード後にずれのない動画に仕上げる必要があるようです。

 ビデオ編集ソフトはプロ用でない限り、音声は1フレーム単位の移動しかできないので
音声をAudacityなどでms単位であらかじめ編集してから合成などで対応できます。

動画のM2TSファイル出力でいいなら、最終エンコードした動画をビデオと音声に分離し
tsMuxerGUIのGeneral track option Delay(in ms)BOXに調整時間(例 -13)
ms単位をいれて再結合するだけです。
 PCでの再生なら音声44.1KHzでもWIN10標準で再生できますが、ブルーレイや
AVCHD(DVD)にするなら、48KHzのWAVにあらかじめ変換しておきます。
WAV以外のAAC,AC3などの48KHzに変換すると、ここでも音声遅延が起きるのでWAV一択です。
(tsMuxerGUIは、ブルーレイ準拠のビデオ・音声である必要があります。
 HD(1280x720)mp4などは、ビデオはh264 音声はaacなどに分離しておきます。
   分離には、XMedia Recode を使うと簡単にできます。
 (ビデオは形式:H.246 Raw video、音声は形式:AAC 、モードは変換ではなくコピーを使います)

 

R1メモ-2

  ブランクダイバー14カ月目
 帯状疱疹後神経痛はだいぶ軽減してきたので無理すれば潜れるだろう、きっとダイビングが
 楽しくて痛みも忘れて夢中になるだろう・・・ でも、安全ダイビングじゃないので・・・
 おまけに痛みを緩和する薬のリリカを飲んでいるため長時間の車の運転ができないので
 移動もできない・・・
 桜の咲くころまでにはなんとかなれ~

| | コメント (0)

より以前の記事一覧