CD音質を凌ぐ?「ハイレゾ音源のAAC変換」を行うために(その3:Apple社 afconvertのコマンドラインを使う)

スポンサーリンク

 

CD音質を凌ぐか?「ハイレゾ音源のAAC変換」シリーズの第3弾です。

Apple Degital Mastersのドロップレットツール」のAAC変換はApple社 Afconvertのコマンドラインを使っています。 今回はこれに倣って、afconvertのコマンドラインツールとAutomatorを使ったAAC変換にチャレンジしてみました。

「Apple Degital Masters のドロップレットツール」以前の記事で紹介した通り高音質でAAC変換できますが、不満な点として以下があります。

  1. サンプルレートが192khzのハイレゾ音源をAAC変換すると高域減衰が生じること(仕様上は、96khzまでになっています)
  2. AAC変換のビットレートは256Kbpsのみで、320kbpaは対応不可になっていること
  3. ハイレゾ音源ファイルの対応フォーマットがwave( 又はAIFF)ファイルのみでFLACファイルが使えないこと

以上の「Apple Degital Masters のドロップレットツール」の不満足な点を改善すべく afconvertのコマンドラインとAutomator を使って、出来ればCD音質を凌ぐハイレゾ音源のAAC変換に挑戦してみました。

OSXユーザーでハイレゾを高音質でAAC変換したいと思っている方は是非この記事を参考にしてみてください。

 

スポンサーリンク

 

Afconvertのコマンドラインについて

Afconvertはmac osx に標準で搭載されているオーディオファイルのフォーマットを変換することが出来るコマンドラインツールです。 通常はターミナルから実行できます。

例えば、waveファイル「test_XLD.WAV」をCBRでビットレートを320kbpsでAAC変換に変換したい場合のコマンドラインは、以下になり、同じディレクトリに「test_XLD.m4a」としてAACファイルが生成されます。 (名前を指定したファイルを生成したい場合は、フルパスで【ファイル名.m4a 】を追記します。)

afconvert -d aac -s 0 -b 320000 /〜/test_XLD.WAV

注記:

  • -s オプション:CBRの場合は0、ABRの場合は1、VBR_constrainedの場合は2、VBRの場合は3を指定します。
  • -d オプション:データー形式 -b オプション:ビットレートの指定
  • その他、オプションで変換品質等を指定できます。

なお、afconvertのヘルプを見るには、ターミナルに「afconvert -hf」「afconvert -h」を打ち込みます。

コマンドラインについて、参考にさせて頂いたURL

 

高音質「AAC変換」に向けたAfconvertのコマンドラインについて

高音質でAAC変換を行うためには、高域減衰を防ぐため、ハイレゾ音源をダウンサンプリング(48khzにAIFF変換)した後、AAC変換する2つのコマンドラインが必要です。


  • step.1 ダウンサンプリング用のコマンドライン

    afconvert -d BEI24@48000 --quality 127 -r 127 --src-complexity bats -f AIFF [変換元ファイル名(フルパス)]

    • このコマンドラインは、変換元のファイル名で指定されたファイル(WAVE、FLAC、etc)をサンプルレートをAIFFフォーマットで48khzにダウンサンプリングします。 (ダウンサンプリングする意味は、ハイレゾファイルを直接AAC変換すると高域減衰が生じるために、AAC変換する前にダウンサンプリング処理しておくことが必要です)
    • オプションは、「Apple Degital Mastersのドロップレットツール」のソースコードから見倣ったもので、ダウンサンプリング後で、高域減衰が生じませんでした。 BEI24は、ビッグエンディアンで24bitを指定し@で目的のサンプルレート(hz)を指定しています。

  • step.2 AAC変換用のコマンドライン

    afconvert -d aac -f m4af -q 127 -s 0 -u pgcm 2 -b 320000 [ダウンサンプリンされたグファイル名(フルパス)]

    • このコマンドラインは、ダウンサンプリンされたグファイル名で指定されたファイル(AIFF)をAAC変換します。
    • オプションは、「Apple Degital Mastersのドロップレットツール」のソースコードから見倣ったものです。 -q 127の意味は、codec_quality: 0-127 最大127を指定しています。 -s の意味は0でCBRを指定しています。(1 で ABR, 2 で VBR_constrained, 3 で VBR) -b 320000は、ビットレート320kbpsを指定しています。

ポイント

ターミナルからAfconvertのコマンドラインを入力してAAC変換を2ステップで行うのは至難の技です。 これを自動化するためにOSXのAutomatorを使います。

 

Automator(ワークフロー・アプリ)の作成

今回作成するワークフロー・アプリは、OSXのAutomatorを使ったハイレゾ音源をAAC変換する方法(サウンドアプリXLDコマンドライン使用)で作成したワークフローを基本にしてモディファイしています。 基本のAutomatorワークフローファイルを複製し、アプリの名前を「Afconvert convert Hi_reso to AAC .app」として必要箇所を変更しています。

ここでは、ワークフローパーツの「シェルスクリプトを実行」(以下)のコード部分についてのみの紹介です。

ハイライトされている14、17行がAfconvertのコマンドラインになります。

 

Automator AAC変換アプリの配布

Afconvert convert Hi_reso to AAC .app

Down Loadボタンをクリックすると、Afconvert_Hi_reso_to_AAC.app.zipがダウンロードできます。 

Apple OSXユーザの方は、ダウンロードした「Afconvert_Hi_reso_to_AAC.app.zip」を解凍後、appファイルをクリックすればAfconvert_Hi_reso_to_AAC.appが起動し、選択したハイレゾファイル(複数選択可)を選択するとAACファイルに変換できます。 

また、このアプリの変更を行いたければ、Automatorアプリを起動してから、「Afconvert_Hi_reso_to_AAC.app」ファイルを開けば、ワークフローを編集することができます。

  • シェルスクリプトプログラムは、Afconvertのコマンドラインによる、基本的処理(ダウンサンプリングとAAC変換)のみで、エラー処理等は含んでいませんのでご注意ください。
  • 当アプリのご使用に際しては自己責任でお願いします。 アプリの使用によって、生じたいかなる損害も、補償いたしかねますことをご承知おきください。

 

スポンサーリンク

 

Afconvert_Hi_reso_to_AAC.appアプリ仕様(マトメ)

スペック比較

specAfconvert convert Hi_reso
to AAC .app
Apple Degital MastersXLD convert Hi_reso
to ACC.app
変換元ファイル形式
WAVE、FLAC、etc
WAVE、AIFF
WAVE、FLAC、etc
変換元
対応フォーマット
サンプルレート:
 192khz〜48khz
ビット深度:24bit
サンプルレート:
 96khz のみ
ビット深度:24bit
サンプルレート:
 192khz〜48khz
ビット深度:24bit
AAC:ビットレート320kbps256kbps320kbps
AAC:サンプルレート48khz(44.1khz)44.1khz48khz(44.1khz)
その他タグ情報の引継ぎ:☓タグ情報の引継ぎ:☓タグ情報の引継ぎ:○
オプションはコマンドラインで
指定できる
ーーオプションは環境設定から指定
する必要アリ
参照リンクーーここをクリックここをクリック

ポイント

XLDのコマンドラインは環境設定から予め音質オプションを設定する必要がありますが、afconvert はコマンドラインに音質オプションを直接指定することが出来るメリットがあります。 一方、afcinvertは、タグ情報の引継がないのが難点です。

 

ピュアー音源による音質評価

テストファイル(24bit 192khz wave)を「Afconvert_Hi_reso_to_AAC.app」でAACに変換したファイルの周波数特性(F特)と歪率(THD+N)を確認しました。

 

1,周波数特性(F特)の確認

AAC 48khz用 F特テスト音源(Wave 24bit 192khz)から「Afconvert_Hi_reso_to_AAC.app」で変換したAACファイルのF特は以下の通りです。 参考・比較のため、AAC 44.1khz用 F特テスト音源(Wave 24bit 96khz)から「Apple Degital Mastersのドロッレットツール」で変換したAACファイルも載せています。 

+ F特の測定方法 > ここをクリック


  • step.1

    • F特を調べるために、F特・テストファイルをWindowsの信号発生ソフト・WaveGeneで発生させます。
    • AAC 48khz用 F特テスト音源の仕様: (WaveGene設定は下の設定画面参照)
      AACのサンプルレート(サンプリング周波数=fs)が48khzの場合、エイリアシングフィルターのカットオフ周波数(fc)は、fc=fs/2から、fc=24khz 近傍のF特を調べるべく23khzを起点にして23.4khzから0.1khz刻みで24khz(fc)までのピークレベルが均一(-20db)なsin8波を発生(5秒間)させる仕様にしました。
    • AAC 44.1khz用 F特テスト音源の仕様:
      AACのサンプルレートが44.1khzの場は、同じ様に、fc=22.05khz 近傍のF特を調べるべく21khzを起点にして21.5khzから0.1khz刻みで22.1khz(fc)までのピークレベルが均一(-20db)なsin8波を発生(5秒間)させる仕様にしました。
    • AAC変換前のF特・テスト音源のフォーマットは、ハイレゾのサンプルレートを変えて 24bit Wavファイルを作成します。(下の設定画面は、fsを192khzに設定)

    WaveGeneの設定画面


  • step.2

    • F特・テストファイルを変換アプリでAACファイルに変換します。

  • step.3

    AACに変換した後の評価用音源・sin 8波の波高値を測定測定するために、Windowsの高速リアルタイム スペクトラムアナライザー WaveSpectra(以下WS)ソフトを使いますが対応ファイル形式がWave専用ですので、AACに変換されたファイルをWavフォーマットに変換する必要があります。

    Wavファイルに変換するには、Apple Degital Mastersのドロップレットツールを使って変換しました。 AACのサンプルレートが48khzの場合はAudio to WAVE 48K Droplet.appに44.1hzの場合は Audio to WAVE 44.1K Droplet.appにドロップにしますと自動的に同じフォルダーにWavファイルが出力されます。 詳しい変換方法は、「Apple Digital MastersのAAC音質(その1)」をご参照ください。 Waveに変換するアプリは、Windows用のFoober2000でもOKです。


  • step.4

    最後に、サウンドアプリでAACに変換した時のF特グラフを作成します。

    F特グラフ化 作成ポイント

    WSでピークレベルを測定しグラフ化する手順

    1. Step.3で、AACファイル(m4a)からWavに変換したファイルをWSのWindowにドロップし再生ボタンを押すとスペクトルが描画されます。
    2. ストップボタンを押して再生を途中で停止させると、静止したスペクトルが描画されます。
    3. スペクトルのピーク部分(8箇所)にポインターのカーソルを合わせるとWS画面左のCursor枠に周波数とレベル値(db)が表示されるので、その値を読み取り-20dbからの減衰量を求めエクセル等でF特のグラフを作成します。


「Afconvert_Hi_reso_to_AAC.app」でF特・テストファイルをAACに変換したスペクトル(各周波数のピークポイントのレベルを読み込み、F特グラフを作成しています。)

----------

「Apple Degital Mastersのドロッレットツール」でF特・テストファイルをAACに変換したスペクトル(各周波数のピークポイントのレベルを読み込み、F特グラフを作成しています。)

----------

F特の測定方法を閉じる

F特・ポイント

「Afconvert_Hi_reso_to_AAC.app」は、サンプルレートが48khzですので、24khz(fc=48khz/2)でハイカットされます。 F特の結果は、23.6khzまでフラットで、23.8khz付近から減衰が始まっていることが確認できました。 

一方のApple Degital Mastersのドロップレットルール」は、サンプルレートが44.1khzですので、22.05khz(fc=44.1khz/2)でハイカットされます。 F特の結果は、21.7khzまでフラットで、21.8khz付近から減衰が始まっていることが確認できました。

F特的には、当然サンプルレートが48khzの「Afconvert_Hi_reso_to_AAC.app」の方が優位となります。

 

2,歪率(THD+N)の確認

歪率確認のため、代表的な1khz正弦波( -3db -20db -60db)で記録した歪率・テストファイル(24bit 192khz wave)を、「Afconvert_Hi_reso_to_AAC.app」で変換したAACファイル(48khzの場合と44.1khz)の歪率を確認してみました。 参考として、「Apple Degital Mastersのドロッレットツール」の歪率も合わせて比較しています。 (歪率測定は下段の 「+歪率の測定方法 > ここをクリック」で参照してください。)

1khz sin
レベル
Afconvert convert Hi_reso
to AAC .app
Apple Degital Mastersの
ドロッレットツール
参考 (CD :16bit 44.1khz)
歪率
-3db0.00285%(THD+N)0.00544%(THD+N)0.00206%(THD+N) 
-20db0.00058%(THD+N)0.00544%(THD+N)0.01535%(THD+N)
-60db0.00751%(THD+N)0.01045%(THD+N)1.52535%(THD+N)

+ 歪率の測定方法 > ここをクリック


  • step.1 1khz sin波の歪率・テストファイル生成

    WindowsソフトのWaveGeneを使って以下の様に1khzで信号レベル「-☓☓dbFS」を設定しビット深度24bit fs=192khz wavファイルを出力します。 「Apple Degital Mastersのドロッレットツール」の場合は fs=96khz wave にします。((注記:下の設定画像は16bitになっていますが、24bitで設定します。

    WaveGeneの設定画面( 1khz sin -90dbFSを設定している)


  • step.2 AAC変換

    Step.1 で作成した1khz Wavファイルを「Afconvert_Hi_reso_to_AAC.app」でAACファイルに変換します。 


  • step.3 歪率の測定

    歪率を測定するために、WindowsソフトのWaveGeneの姉妹ソフトであるWaveSpectra(WS)を使用させて頂きました。

    WSは、対応フォーマットがWavのみにため、Step.2 で作成したAACファイルをWavファイルに変換させる必要があります。 今回は、Apple Degital Mastersのドロップレットツールを使ってWavに変換しました。 windows用のfoober2000でもOKです。

    測定手順ポイント

    測定手順は非常に簡単で、AACからWavに変換したファイルをWaveSpectraにドラッグ&ドロップします。 再生ボタンを押して約2秒程(-☓☓dbFSファイルの長さは5秒なので半分位経過して安定する点)のところで、pauseボタンを押しTHD+Nの値を読み取ります。 

    歪率測定窓にTHD(上段)とTHD+N(下段)が表示されます。 THD+Nとは、total harmonic distortion + Noiseの略で、全高調波歪にノイズを加えた基本波成分の比(%)です。

    (FFT条件)サイズは32768でHanning窓です。 


歪率の測定方法を閉じる

歪率・ポイント

「Afconvert_Hi_reso_to_AAC.app」で変換したAACファイルが歪率的に優れていました。 

この要因は、下に示すAACに変換後の sin 1khz -20db のスペクトルを見ると、Fig-2のスペクトルは1khzを中心にスプリアス状のノイズが見られます。 このノイズの為に「Apple Degital Mastersのドロッレットツール」の歪率が悪化していると考えられます。

一方の「Afconvert_Hi_reso_to_AAC.app」は、Fig-1に示される様にスプリアス状のノイズが少なく、全体的にCD歪率と同等以下になっていることが判りました。

sin 1khz -20db のスペクトル

「Afconvert_Hi_reso_to_AAC.app」でAACに変換したスペクトル

----Fig-1------

「Apple Degital Mastersのドロッレットツール」でAACに変換したスペクトル

-----Fig-2-----

 

リアル音源による音質評価(Apple Degital Mastersとの比較)

過去記事の「Apple Digital MastersのAAC音質(その1)」で使用した音源ファイルを使って、「Afconvert_Hi_reso_to_AAC.app」で変換したAACファイルとの比較を行ってみます。 基準音源をe-onkyoから購入したハイレゾ(Flac 24bit 96khz)で評価します。

音源:1962年に録音されたカラヤン指揮・ベートーベン「交響曲 第8番 第2楽章」です。

  1. e-onkyoから購入したハイレゾファイル(基準):ベートーヴェン 交響曲全集_31_Beethoven Symphony No.8 In F, Op.93 - 2. Allegretto scherzando[SACD Stereo].flac
  2. iTunesから購入したApple Degital Mastersファイル:4-06 交響曲 第8番 へ長調 作品93_ 第2楽章_ Allegretto scherzando (SACD Stereo).m4a
  3. e-onkyoハイレゾ音源を今回作成したアプリ「Afconvert_Hi_reso_to_AAC.app」で変換したAACファイル
ファイル
諸元
フォーマットファイルサイズ圧縮率
e-onkyo
ハイレゾ
FLAC
24bit 96khz
77.9 MB基準
Apple Degital MastersAAC(m4a)
256kbps 44.1khz
8.7 MB11.2 %
Afconvert_Hi_reso_
to_AAC.app
AAC(m4a)
320kbps 48khz
9.6 MB12.3 %

 

1.スペクトルの比較

スペクトル測定条件・ポイント

夫々のファイルをAudacityに取り込み周波数分析(スペクトル)を行います。 e-onkyoのハイレゾファイル(基準)のサンプルレートが96khzですので同じ土俵でスペクトルを表示させるために、評価するAACファイルは、96khzのサンプルレートに合わせる必要があります。 AudacityにAACファイルを取り込んだ後、 トラック > 再サンプリング96khzにアップサンプリングを行っておきます。

周波数分析の条件は以下の通りで、分析した後分析データをテキストファイルに書き出してグラフ化し比較を行います。

周波数分析の条件】

  • 関数窓:hanning 大きさ:16384ポイント
  • 解析対象パート:始点から109.2秒間(トラック全体を選択して 解析 > スペクトル表示
  • 周波数分析データをテキストファイルに書出しグラフ化

リアル音源 のスペクトル

全体スペクトル

----------

高域部分拡大・スペクトル

----------

e-onkyoハイレゾ基準・差分スペクトル

--- Fig-3 ----

リアル音源・スペクトル解説

  • e-onkyoから購入したハイレゾ音源(24bit 96khz Flac)は、25khz以上の高域までスペクトルが延びいることが判ります。 一方、iTunesから購入した「Apple Degital Masters」と「Afconvert_Hi_reso_to_AAC.app」の場合は、ピュアー音源のF特よりも若干低い周波数から高域が減衰していました。 (この原因は良く分かりませんが、WaveSpectraAudacityのFFTの違いによるものかも知れません)
  • Fig-3 のe-onkyoハイレゾ基準にした、差分スペクトルを見ますと、カットオフ周波数以内で「Apple Degital Masters 」及び 「Afconvert_Hi_reso_to_AAC.app」とも ±0.5db以内の誤差で、聴感上は判別不能なレベルでは無いかと思われました。

 

2.各音源の試聴比較

 

各音源は、HDDプレーヤ:Sony HAP-Z1ES に取り込み、「我が家の "B級オーディオ"」で試聴比較しました。

本来は、HAP-Z1ESのデコーダの差を無くすために、各音源をApple Degital MastersのドロッレットツールでWave形式に統一した後、試聴すべきところですが、今回は、ファイル形式そのままでの試聴です。

プラシーボ効果があるかも知れませんが、僅かにe-onkyoハイレゾ音源の方がストリングスのディーテイルと深みを感じ、Afconvert_Hi_reso_to_AAC.appのAAC は同等でしたが、Apple Degital MastersのAACは音色がワームで鮮度が若干落ちる感じでした。 どちらにしても僅差です。

独断と偏見での聴感・順位

e-onkyoハイレゾAfconvert_Hi_reso_to_AAC.appのAACApple Degital MastersのAAC 

 

Afconvert_Hi_reso_to_AAC.appのAAC マトメ

Apple社のAfconvertを使った「Afconvert_Hi_reso_to_AAC.app」のAACは、以上の評価結果から、本家のApple Degital MastersのAAC音質を超えて、更にCD音質を凌ぐ?AAC変換が出来ると言えるのではないでしょうか? 

ただし、Afconvert・コマンドラインは、ハイレゾ音源のタグ情報を引き継げないと言う問題があります。 一方の XLD・コマンドラインでは、音質オプションをXLDの環境設定を行う必要があるものの、ハイレゾ音源のタグ情報を引き継げるメリットがあり、どちらを使うか悩むところです。

最後に、同一音源のレコードからハイレゾ録音(24bit 192khz FLAC )したファイルを「Afconvert_Hi_reso_to_AAC.app」でAAC変換したサウンドを聴いてみてください。

♫ ベートーベン 交響曲第8番 2楽章(Karajan BPO)

 

以上、Apple社 afconvertのコマンドラインを使った「CD音質を凌ぐか?シリーズ」第3弾 でした。

 

こちらもCHECK
CD音質を凌ぐか?シリーズ

 

スポンサーリンク

〜〜〜〜〜〜〜〜〜〜〜

オススメ記事

レコードのハイレゾ化
オススメ記事

LPレコードのハイレゾ化のススメ(ハイレゾ録音のヒント集)

  レコードのハイレゾ録音へのヒント(Tips)   ハイレゾ録音のヒントになればと、 今までのレコードのハイレゾ録音を通して、思いつくまま必要と思われることを書き留めましたのでご ...

MCカートリッジとMMカートリッジの音質比較

eonkyoからDL購入したハイレゾファイルを基準音源にして、基準音源と同一録音のレコードをMCカートリッジとMMカートリッジでハイレコした音源の音質比較を試みました。 MCカートリッジは、オルトフォ ...

DENON MCカートリッジ DL103Rのクロストーク「 原理編」

今更ながら、「我が家のB級プレーヤ」に取り付けた「DL103Rカートリッジのクロストーク(セパレーション)をテストレコード(AD-1 2面のバンド4:基準レベル、1kHz、3.54cm/sec(尖頭値 ...

テストレコード(AD-1)で出来ること

年代モノのレコードプレーヤTRIO(KP-51F)を使ってレコードのハイレゾ録音を行っていますが、このプレーヤの実力を知るためにテストレコード(AD-1)使って定性的な特性を調べ、断片的な記事を投稿し ...

レコードをハイレゾ化するならDSDかPCMか?

ことの 発 端 ことの発端は、あるハイレゾDLサイトから、チャイコのバイオリンコンチェルトをPCM(Flacファイル 192Khz、24Bit)で購入しました。WAVファイルも平行販売されています。 ...

CD音質関連 その他
オススメ記事

アナログ・レコードのここがダメ「CD音質と比較して」

これまでの当ブログ記事(テストレコードなどのブログ)の知見を通して、アナログ・レコードが音質的に不利な点が多々見つかりました。 アナログレコードの音質を好ましく思っている一人で、本当はあまり言いたくは ...

CDフォーマットのここがダメ「ハイレゾと比較して」

CDフォーマットのサンプリング周波数は44.1khzでビット深度は16bitです。 特にビット深度は録音レベルが低下するに伴い音質に問題が生じます。 CDの開発時点では先端技術で市場を席巻しましたが昨 ...

Sony HAP-Z1ESのDSEE機能/確認

「HAP-Z1ESのDSEEとDSDリマスタリングエンジンの効果検証」(以前のブログ記事)は、 実際のLPレコードからハイレゾ化したリアルサウンドでDSEEを評価したものでした。 今回は、正弦波の組 ...

Apple Digital MastersのAAC音質(その1)

2019年7月付けの「Apple Digital Masters テクノロジー概要」によれば、iTunesやApple Musicで配信される楽曲は、「Apple Digital Masters テク ...

Post Snippets Pluginで出来ること(小技・事例集)

 WordPressで記事を書いているビジュアルエディタ派の方でPost Snippets Plugin(以下PSPに略します)を使わずにいませんか? または、PSPをインストールしているのにも関わら ...

スポンサーリンク

© 2020 ハイレコのブログ Powered by AFFINGER5