foobar2000で「refalac.exe」を使いALACファイルへ変換する方法

foobar2000でALAC変換

「ALAC」はアップル社が開発した音声専用の可逆圧縮オーディオコーデックです。iTunesなどで使用できます。

可逆圧縮なので、この形式でCDからインポート(取り込む)することで音質の劣化無くファイルを50%から60%程圧縮する事が可能になります。アップル製ならばほとんどの製品で採用されているはずです。

さて、音質も維持できてiPodやiPhoneでも再生できるならばこのALACを愛用している方も多いでしょう。
ただ、「iTunesは使いにくい、パソコンではfoobar2000ですべて管理したい!」という方も中にはいるでしょう。

そこで、今回の記事はfoobar2000でALACファイルを再生・変換する方法を紹介します。

広告

ALACとは

Apple Lossless Audio Codec(アップル ロスレス オーディオ コーデック)、略称は「ALAC」です。

名前の通り、米アップル社(Apple Inc.)が開発した可逆圧縮方式のオーディオコーデックです。
可逆圧縮方式を採用しているので、CDからこの形式でインポートすると音質の劣化無く(データをカットせず)圧縮処理をしてくれます。そのため、再生時はCDと同じ音質で再生させることができます。

MP3、AACなどは不可逆圧縮と呼ばれる圧縮方法を採用しています。不可逆圧縮では音声データをカットさせて圧縮させているため音質的には劣化しています。代わりに、無圧縮(WAV,AIFFなど)や可逆圧縮形式より圧縮率に優れ、より容量を抑えることができます。

ALACはオープンソース化された

昔、ALACの仕様は非公開にされていました。そのため、リバースエンジニアリングによってオープンソースのALACデコーダーが開発・公開されていました。ただ、非公式のため安定性などに問題がありました。

しかし、2011年10月にアップルはこのALACをオープンソース化し、Apache License 2.0の下でソースコードを公開しました。これにより、ALACは「使用」「再配布」「改変および派生版の配布」を制限されなくなりました。

オープンソース化されたので、正式にALACデコーダーやエンコーダーを作ることができるようになり、またそれを実装することもできるようになりました。今後、ALACを再生・変換できるソフトウェアやプレイヤーが増えることでしょう。

foobar2000もVersion 1.1.10からALACへ標準対応しました。それ以前のバージョンはリバースエンジニアリングによって作られた非公式のデコーダー「foo_input_alac」が必要ですが、最新版ならばこのデコーダーもいりません。

なので、この記事ではデコーダーの解説はせず「ALACへのエンコード(変換)」のみを解説します。

用語解説

・リバースエンジニアリング:機器の分解・ソフトウェアの動作解析によってその構造を調査すること。
・オープンソース:ソフトウェアの設計図である"ソースコード"をネット上に公開すること。
・Apache License 2.0:ソフトウェアに適用されるライセンス規定のひとつ。このライセンスでは、ユーザーがそのソフトウェアの使用や頒布、修正、派生版の頒布をすることを制限しない。

関連記事

動画・音声データの質に関係する要素について

動画・音声の規格について ~コーデック・コンテナ~

高音質で音楽を聴くため可逆圧縮音源について学ぼう

不可逆圧縮音源の音声波形を見て性質を理解する

広告

「refalac.exe」を使いfoobar2000でALACをエンコードできるようにする

オープンソース化されたので、foobar2000での読み込みに関しては標準でできるようになりました。

もし、Version 1.1.10以前のfoobar2000を使っている場合は、最新版へアップデートするか「foo_input_alac」をインストールしましょう。これでALACを再生できるようになります。

○foobar2000 公式サイト (本体のダウンロードはこちら)
http://www.foobar2000.org/

○ALAC decoder
http://www.foobar2000.org/components/view/foo_input_alac

refalac.exeのダウンロード

ALACに対応したコマンドラインエンコーダーはいくつかありますが、今回は qaac の「refalac.exe」を使います。
(他には「iTunesEncode.exe」「ffmpeg.exe」などがあります。)

qaacの公式サイトへ行き、最新版のエンコーダーをダウンロードしてきます。
ダウンロードするのは「qaac_x.xx.zip」というファイルです。(xはバージョン)

qaacのダウンロード
▲クリックで拡大

zipファイルを解凍すると以下のようなファイルがでてきます。
それぞれ「x64」と「x86」というフォルダの中身です。使用するのは「refalac.exe」または「refalac64.exe」です。
保存場所は任意です。

x64の中身 x84の中身

「x64」と「x86」ですが、これはOSの「64bit(x64)」と「32bit(x86)」を意味していますので、お使いのOSによって使い分けてください。何言っているか分からない場合は、以下の記事をお読みください。「面倒だ!」という方は「x86」の方にある refalac.exe を使用してください。

64bitOSならば「refalac64.exe」、32bitOSならば「refalac.exe」を使用します。

関連記事

同じWindowsのバージョンでも「32bit版」と「64bit版」の2つがあることをご存じでしょうか。 Windowsであれば「Windows10 Home 32bit版」「Windows10 Home 64bit版」のように表記されて[…]

「qaac.exe」と「refalac.exe」の違いですが、refalac.exeの方はALACがオープンソース化され、公開されたコードを参考にして作られたものみたいです。なので、通常は refalac.exe の方を選んでください。

「qaac.exe」を使う場合は Apple Application Support が必要

最近になって知ったので追記。

「qaac.exe」は、正確に言うとエンコーダーというより「AAC / ALAC エンコーダのフロントエンド」であるようで、Apple社製の「Apple Application Support」が必要になります。これはiTunesやQuickTime、Safariなど最近のApple製品に同封されているので、これらがインストールされていない方は一緒にインストールしてください。

単体でインストールしたい場合は、「iTunesSetup.exe」などを「WinRAR」や「7-Zip」などの解凍ソフトで解凍後、「AppleApplicationSupport.msi」を実行すればよいそうです。

「refalac.exe」は本当にエンコーダーなので、こちらを使う場合は「Apple Application Support」は必要ありません。

foobar2000でエンコード設定をする

foobar2000でエンコード設定をします。ここでは「出力形式」のみ、最低限必要な箇所を解説します。
詳細な解説をご希望の場合は以下の記事を参考にどうぞ。

  1. foobar2000を起動します。変換したい音楽を選択状態(複数選択可能)にし、右クリック→「Convert」→「Convert...」とクリックします。(すでにプリセットがある場合は一番下の「...」を選択)

    Convert Convert

    「コンバーターのセットアップ」画面が出ます。ここで「出力形式」の設定をします。
    「新規追加」をした後、エンコーダーの指定で「Custom」を指定すると詳細なエンコード設定ができます。

    コンバーターのセットアップ 新規作成

  2. 「出力形式」は以下の通りに設定します。

    形式設定
    ▲クリックで拡大

    / 解説
    エンコーダー 「refalac.exe」または「refalac64.exe」を指定してください。
    拡張子 ALACの拡張子である「m4a」を指定してください。(※AACと拡張子が同じです。)
    パラメーター

    「-i -s - -o %d」と指定してください。
    各コマンドライン オプションの意味は、英語で書かれているため私には分からず。
    詳細は公式のページにて

    ○Command Line Options · nu774/qaac Wiki · GitHub
    https://github.com/nu774/qaac/wiki/Command-Line-Options

    ○refalac usage · nu774/qaac Wiki · GitHub
    https://github.com/nu774/qaac/wiki/refalac-usage

    恐らく「-i」でチャンクを無視し、「-s」でコンソールメッセージを制御、「-」でfoobar2000がエンコーダーへデータを渡し、「-o」でアウトプットファイルの名前を指定、「%d」でタイトルを格納する、だと思います。

    マルチスレッドで変換しない 最近のバージョンででてきた項目のよう。チェックを入れると変換をマルチスレッドで実行しなくなる、でいいのかな?マルチスレッドでの変換に対応していないエンコーダーへの対処でしょうか。
    フォーマット lossy(非可逆)フォーマットかlossless(可逆)フォーマットかを選択します。ALACは可逆圧縮形式なので「lossless (or hybrid)」を選択します。
    最大ビット数 エンコーダーがサポートしている最高のビット深度を指定するようです。24bitでもエンコードしてくれますが、ほとんどのCD音源は16bitリニアPCMなので分からなければ16bitでも大丈夫でしょう。
    表示 任意で好きな文字列をどうぞ。因みに可変ビットレートで変換される模様。あえて設定するならば、最大値や平均ビットレートなどを入れればいいでしょう。
  3. 最後にプリセット等を登録すればいつでもALACで変換できるようになります。
    「Convert」でエンコードを実行します。エンコード後、ALACファイルが生成されていれば成功です。

まとめ

今回は「refalac.exe」を使用してfoobar2000からALAC形式への変換方法を解説しました。

ALACの仕様が公開されたため、今後このようにALACに対応したプレイヤーやデコーダー・エンコーダーが増えていくことでしょう。ALACが他の形式へ相互変換しやすくなったのも大きいです。

foobar2000で再生できる音楽ならば、どのような形式へも変換可能になるのでとても便利です。
(もちろん、エンコーダーを用意する必要はあります)

「ALACで保存したいけど、foobar2000で音楽を管理して必要なときに変換できるようにしたい」という方はぜひこの方法をお試しください。

広告