広告 MP3、AAC音質関連

サウンドアプリ「XLD」でコマンドラインからハイレゾ音源をAAC変換する

スポンサーリンク

 

多機能で音質的に優れているサウンドフォーマット変換・アプリのXLD(X Lossless Decoder)は、通常のGUI版の他に、OSXのターミナルからサウンドファイルを変換できるコマンドライン版(CLI)があります。 

コマンドライン版を使ってハイレゾ音源からAAC変換を行う方法をご紹介します。 

過去記事にある様に、ハイレゾ音源を高音質でAAC変換する時は、先ず高域減衰を防ぐためにハイレゾ音源(ex 192khz)を48khzにダウンサンプリング変換した後にAAC変換する必要があります。

そこで、コマンドライン版を使ってハイレゾ音源を、ダウンサンプリング変換する手順AAC変換する手順について説明します。

ターミナルについて・メモ

ターミナルは、Mac(OSX)に標準装備されているアプリで、ターミナルウインドウに、コマンドラインを入力すると、命令に従って処理・実行を行うことができます。

詳しくはWikipedia「ターミナル (macOS)」をクリックしてご参照ください。

 

XLDのCLI(コマンドライン)版を使うために

XLDサイトページのダウンロードから「xld-20201123.dmg [local mirror]」をクリックするとダウンロードサイトに遷移してダウンロードが始まります。 ダウンロードしたdmgをクリックすると、CLI版のXLDが入っているCLIフォルダーが現れますので、このCLIフォルダーを適当な場所に置きます。 CLI版の使用ができるか確認のため、ターミナルにフルパスで、例えば /〜/CLI/xld -h と打ち込んでXLD・CLI版のヘルプが表示されればOKです。(2020/11/29:追記)

 

XLD・コマンドラインの基本形

ターミナルへ入力する「XLDのコマンドライン」の基本形は、XLDのHPに記載されている説明から試行錯誤を繰り返した結果、以下になりました。 

注意ポイント

  • ファイルはフルパス表記で、 ␣ はスペースを示します。
  • ディレクトリ(フォルダ)名やファイル名にスペース(空白)を入れない
    ファイル名等に空白があると、XLDのコマンドラインは空白区切りになっていて、エラーになりますので、空白をアンダーバーなどで埋める必要があります、

 

 

このコマンドラインは、「音源元ファイルの test_XLD.wavaac に変換されたファイル test_XLD.m4aXLD_Folder に入れる」と言う命令になりなります。【 後述する、事前にaacのオプション設定(ex.320kbps etc)が必要です。】

ポイント

同様に、-f の後をaifに指定しますと、test_XLD.wavが aiff に変換されます。(aiffのオプション設定が48khzなら48khzでダウンサンプリングされます。)また、音源元ファイルは、flacやaiffなどもOKです。

上記の命令をターミナルで実行しますと、ターミナル画面に表示されるプログレスバーが100%になると変換が完了し 指定した XLD_Folder フォルダーに、変換された test_XLD.m4a が生成されます。

--------- [ OSX ターミナル画面 ] ---------

 

ハイレゾ音源を48khzにダウンサンプリングする手順

ハイレゾ音源をサンプルレートを48khz(or44.1khz)でAACに変換する場合、高域(20khz付近)で減衰します。 この高域減衰を防止するためには、事前にハイレゾ音源を48khzにダウンサンプリングした後にAAC変換する必要があります。 以下は、コマンドラインから、ハイレゾ音源(test_XLD.wav:192khz)を48khzのaiffファイルにダウンサンプリングを行う手順です。


  • AIFFのオプション事前設定

    XLDの環境設定から、環境設定 > 一般 からAIFFのオプション(サンプルレート48khz or44.1khz)を設定します。

    blank


  • コマンドライン

    以下の例はWavファイルをAiff に変換するコマンドラインです。 元ファイルはFlacやAiffでもOKです。(注記:ファルの拡張子はaiffですが、コマンドラインのフォーマット指定はaif になります)

    /~/XLD␣-o␣ /~/XLD_Folder␣ /~/test_XLD.wav␣-f␣aif


  • ターミナルで実行

    コマンドラインをターミナルで実行すると、表示が100%で変換が完了(done.)します。

    |====================| 100% (Track 1/1)
    done.

    変換生成先のXLD_Folderを見ると、test_XLD.aiff (48khz)が生成されています。


 

48khzにダウンサンプリングされた aiff ファイルをAAC変換する手順

ダウンサンプリング生成された、aiff ファイル(/~/XLD_Folder/test_XLD.aiff)を aac に変換する手順です。


  • AACのオプション事前設定

    XLDの環境設定から、環境設定 > 一般 からAACのオプションを設定します。

    オプションは、以下で設定
    モード:CBR、
    エンコーダの精度:最高
    サンプルレート:48khz(又は44.1khz)
    ビットレート:320kbps

    blank


  • コマンドライン

    48khzにダウンサンプリングされた aiff ファイルは、XLD_Folder内に在りますので以下の様になります。

    /~/XLD␣-o␣ /~/XLD_Folder␣ /~/XLD_Folder/test_XLD.aiff␣-f␣aac


  • ターミナルで実行

    このコマンドラインをターミナルで実行すると、表示が100%で変換が完了しXLD_Folder内にtest_XLD.m4a(=aac)ファイルが生成されています。

    Encoder option: CBR 320kbps
    |====================| 100% (Track 1/1)


 

コマンドラインでAAC変換した音質特性を確認する

1khz -20db歪率確認

歪率確認のため、正弦波 1khz -20dbで記録したWAV(24bit 192khz)ファイルを、上記手順で変換したAACファイルの歪率を確認してみました。 (歪率測定はWaveSpectraで、aacファイルをwavにデコードしたファイルで測定しています)

48khz AAC歪率 44.1khz AAC歪率 参考 (CD :16bit 44.1khz)歪率
0.00066%(THD+N) 0.00029%(THD+N) 0.01535%(THD+N)

ポイント

理由は不明ですが、AACエンコードオプションで44.1khzの方が歪率的に優れていました。 また、参考値のCD歪率と比較すると、AACエンコードの方が優位です。 この理由は、CDが16bitの為に量子化ノイズが大きいためです。(詳しくはここをクリック)

 

高域減衰の確認

高域減衰確認のため、17khzから20.5khzまで0.5khzおきに、-20dbの正弦波を記録したWAV(24bit 192khz)ファイルを、上記手順で変換したAACファイルのスペクトル波形を確認してみました。 (スペクトル測定はWaveSpectraで、aacファイルをwavにデコードしたファイルで測定しています)

赤の点線で示されている様に、-20.01db〜-20.00dbに収まっており、20.5khzまで高域減衰無くフラットな特性を示していました。

 

以上、XLD・コマンドラインの使い方の紹介でした。 次回は使い勝手を改善するため、ダウンサンプリングとAACエンコードの2つのコマンドライン操作を一発でAAC変換できる様にOSXのAutomator にトライしてみたいと思います。

 

 

 

スポンサーリンク

 

スポンサーリンク