« 西之島の火口 3D立体写真 2020年9月5日 | トップページ | 西之島 2020/10/08 01:06:11 UTC Landsat8 »

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

 

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

 

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

|

« 西之島の火口 3D立体写真 2020年9月5日 | トップページ | 西之島 2020/10/08 01:06:11 UTC Landsat8 »

ハイレゾ音源」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 西之島の火口 3D立体写真 2020年9月5日 | トップページ | 西之島 2020/10/08 01:06:11 UTC Landsat8 »