広告 MP3、AAC音質関連

FFmpegコマンドラインを組込んだMacOS ・Automatorを使ってハイレゾ音源をAAC変換する

スポンサーリンク

 

前回記事でFFmpegコマンドラインをハイレゾ・ピュアー音源を使ってAAC変換の音質を評価しました。

FFmpegコマンドラインは付属のNative AACエンコーダーでハイレゾファイル【1khz sin -20db Wav(24bit、192khz)】をAACに変換(48khz 320kbps)したところ、歪率がTHD+Nで0.00056%と良好で、他のXLDコマンドライン等と違って、192khzハイレゾ音源をダイレクトに48kHz・AACに変換しても殆ど高域減衰が生じ無いことが確かめられました。

そこで、いちいちターミナルを開いてコマンドラインを打ち込むのも面倒ですので以前作成したAutomatorアプリをFFmpegコマンドライン用に修正したAAC変換アプリを作成してみました。 

合わせて、リアル・ハイレゾ音源をAAC変換した時の音質比較を行いました。 比較対象は、以前作成した2種類のXLDとAfconvertコマンドラインを組み込んだAutomatorAAC変換アプリ(下記参照)です。 なお、比較基準のリアル・ハイレゾ音源は、e-onkyoから購入したカラヤン指揮ベートーベン交響曲8番2楽章(24bit、96khz flacファイル)です。

 

 

FFmpegコマンドライン組込・Aoutometor ワークフローアプリ作成(要点)

Aoutometor ワークフローアプリの基本的な作成方法はここをクリックして参照ください。 

今回のワークフローアプリの名前を「FFmpeg to ACC.app 」としてワークフローアプリの要点となる「シェルスクリプトを実行」用のコードを以下に示します。 

シェルスクリプトコード

ポイント

18行目:AAC変換用のFFmpegコマンドラインになります。(FFmpegコマンドラインの詳細はここをクリック

21行目:AACに変換されたファイル名に「FFmpeg_chg」を追記しています。

なお、今回のワークフローの内容を詳しく知りたい場合やワークフローの修正を行う場合は、後段に示しますzipファイルをダウンロードして解凍後、Automatorアプリを起動して ファイル > 開く からダウンロードしたワークフローアプリを指定すれば、Automatorワークフローが参照できます。

 

作成したワークフローアプリ「FFmpeg to ACC.app 」を使う

FFmpeg to ACC_V20210831.app Down Load

今回作成したワークフローアプリ(FFmpeg to ACC_V20210831.app)をzipファイルとしてアップしましたので、DownLoadボタンを押してzipファイルをダウンロードし解凍します。 

FFmpeg to ACC_V20210831.appをクリックして起動すれば、ハイレゾ音源のAAC変換が行えます。

アプリDLと使用上の注意ポイント

  • 事前にFFmpegの公式ダウンロードページから リンゴマーク > Static builds for macOS 64-bit > ffmpeg-NNNNN-gXXXXXXXXXX .7z をクリックして圧縮ファイルをダウンロードします。 ダウンロードしたフィルを解凍するとFFmpeg.appが現れるので、 FFmpeg.appファイルをMACのアプリケーションフォルダーに設置しておきます。 (詳しくは、前回記事を参照)
  • 今回のAutomatorの「FFmpeg to ACC.app」アプリをクリックすると「Appleに登録されていないアプリケーションを開こうとすると、警告ダイアログが表示されます。」 この場合はControlキーを押しながらアプリケーションアイコンをクリックして、ショートカットメニューから「開く」を選択します。 「開く」をクリックします。 アプリケーションはセキュリティ設定の例外として保存され、今後は登録済みのアプリケーションと同様に、ダブルクリックすることで開くことができるようになります。(参照URL:https://support.apple.com/ja-jp/guide/mac-help/mh40616/mac)
  • このアプリは、エラー処理等は含んでいませんのでご注意ください。 例えば、ファイル名にドット「 . 」が含まれていると拡張子と誤認してエラーになります。
  • アプリの使用によって、生じたいかなる損害も、補償いたしかねますことをご承知おきください。

 

コマンドラインを組み込んだAutomatorアプリの特徴(3種類)

以下の3種類のAAC変換 Automatorは、ビットレート:320kbps、サンプルレート:48khz に設定しています。

  1. FFmpeg to ACC_V20210831.app
    FFmpegのNativeAACエンコーダが高域減衰を殆ど生じないので、元ファイルからダイレクトにAAC変換を行っています。 このため、ダウンサンプリングプロセスが無い分、処理時間が少なくなります。
  2. XLD convert Hi_reso to ACC.app
    AACエンコーダに高域減衰が生じるので、元ファイルを一旦48khzまでダウンサンプリングした後、AAC変換を行っています。 XLDコマンドラインのオプション設定はMacOSのXLDアプリと連携する必要があります。 (参照リンク:ここをクリック
  3. Afconvert_Hi_reso_to_AAC.app
    AACエンコーダに高域減衰が生じるので、元ファイルを一旦48khzまでダウンサンプリングした後、AAC変換を行っています。 (参照リンク:ここをクリック

 

ハイレゾ・リアル音源をAAC変換した時の音質等の比較(結果)

ハイレゾ・リファレンス音源

e-onkyoからFlac(24bit 96khz)で購入した、「ベートーヴェン 交響曲全集_31_Beethoven Symphony No8 In F, Op93 - 2」のflacファイルをリファレンス音源にしました。

音質評価方法

3種類のAutomatorアプリでハイレゾ・リファレンス音源(e-onkyo Flacファイル)をAAC変換し、AACファイル(48khz)をAoudacityに取り込みます。 リファレンス音源のサンプリング周波数は96khzですので、取り込んだAACファイルを96khzに合わせるためリサンプリングした後、周波数分析(スペクトル)します。 周波数分析したテキストデータを書き出し、Numbersに取り込んでグラフ化しました。 更に、我が家のB級オーディオで試聴・比較も行いました。

 

1. 全体スペクトル比較

A部拡大で、FFmpegのノイズフロアーが-150dbで他のエンコーダ(-180db程度)より高くなっています。 但し、このノイズフロアー(-150db)は、聴感上の影響は無いと思われます。

 

2. ハイレゾリアル音源との差分スペクトル比較

blank

このグラフは、e-onkyo Flacオリジナルのスペクトルを基準にして、夫々のAACファイルのスペクトルの差分を現しています。 つまり基準からの減衰量でF特と等価です。

これから、-3dbを切る点のCut Off 周波数を調べると、僅差ながらFFmpegが 22.5khzで最も低くなっています。 これは、元ファイルからダイレクトにAAC変換を行ってる為かもしれません。 なお、CDのナイキスト周波数(22.05khz)より優位ですので聴感上問題とはならないレベルと思います。

 

3. 試聴・比較

我が家のB級オーディオ(再生プレーヤはHAP-Z1ES)で、e-onkyo Flacハイレゾ音源と3種類のAutomatorアプリでAAC変換したファイルの試聴です。 駄耳のため正確な評価出来ないのが本当のところですが敢えて音質比較を試みました。

当初、3種類のAutomatorアプリで生成されたAACファイルは、ピュアー音源の歪率や周波数特性(F特)から聴感上、e-onkyo Flacハイレゾ音源との音質差は殆ど無いと想定していました。

ところが想定とは違い、実際に4種類の音源を聴くと、e-onkyo Flac音源が最も好ましく聴こえ、弦の音質も安定して聴こえてしまいました。 

念のため、HAP-Z1ESのDSEEやDSDマスタリングの設定を確認したら、右のiPhoneのHAP-Z1ES設定画面の様に、設定が「ON」になっていました。 そこで、この2つの設定を「OFF」にして試聴たところ、今度は当初想定した通り、e-onkyo Flac音源と3種類のAAC音源の音質差は感じなく同等になりました。 

ことほど左様に、歪率やF特の性能が良好であるAAC音源(不可逆圧縮音源)なら、HAP-Z1ESのDSEEやDSDマスタリングは却って悪影響を及ぼし、高域補完等は行わないのが得策と思えました。 この点は、以前の記事「sony HAP-Z1ES「DSEE」の真実 」で詳しく述べていますのでご参照ください。(ここをクリック

 

4. ファイル圧縮率とタグ情報・比較

AACファイルの圧縮率は、夫々のAACエンコーダともファイルサイズの差は殆ど無く、圧縮率は12%程度でした。

元ファイルのタグ情報の引継ぎは、Tag Editor Freeアプリを使ってe-onkyo Flacオリジナルのタグ情報がAAC変換した時に引き継がれているかを見たものです。

この結果から、XLDは完全にサムネール画像含めてタグ情報が引き継がれています。 FFmpegは、サムネール画像以外のタグ情報が引き継がれています。 Afconvertは、タグ情報の引き継ぎがありません。

 

FFmpegコマンドラインを組込んだAutomatorアプリの順位付け

ここで、3種類のAutomator・AAC変換アプリの順位付けを試みました。

  1. 3種類のAutomator・AAC変換アプリの音質は同等で、歪率面、F特面からCD音質を凌ぐものと思われる。
  2. FFmpegは、他のAutomatorアプリと違い、ハイレゾ音源をダイレクトにAAC変換できるのでダウンサンプリングのプロセスが不要なため、AAC変換の処理時間が少ない。
  3. FFmpegのタグ情報の引継ぎは、サムネイルを除いてタグ情報が引継がれるのでAfconvertよりも優位。 一方、XLDは、サムネイル含めてタグ情報が全て引き継がれるメリットがあるも、オプション設定がMacOSのXLDアプリと連携する必要がある。

以上から、3種類のAutomator・AAC変換アプリの音質は同等なので、音質以外の使い勝手やパフォーマンスを考慮した独断と偏見での順位付は、

XLD ≧ FFmpeg > Afconvert

 

注意ポイント

NativeAACは、ビットレートが192Kbps付近から劣化量が増大すると言う問題点が浮かび上がりました。 ビットレートを256kbps以上に設定する必要があります。 詳しくは下の記事を参照してください。(2023/1/20追記)

劣化量
Pink-noiseでビットレートと劣化量の関係を調べてみました。

AAC変換する時にビットレートを低く(オプション)設定すると劣化量がどの程度に増加するものなのか?ネットで調べても具体例が無く、その特性を知りたくなりました。  そこで、今回はFFmpegAACエンコ ...

 

以上、「FFmpegコマンドラインを組込んだAutomatorを使ったAAC変換」の評価結果でした。 ハイレゾ音源からAAC変換する時の有力な選択肢の一つだと思います。

FFmpeg組込みAutomatorの改善

サムネール(Artwork)画像を引き継ぐFFmpegショートカットAppを新たに作成しました!(2022/9/9追記)

 

 

「5つの視点」での評価ランキング

 

 

スポンサーリンク

 

スポンサーリンク