再生編ではハイレゾ音源の形式は複数あって、再生ソフトによってはすべてのファイル形式が再生できない場合があることを書いています。形式が異なるなら、ファイルを変換してみれば良いじゃん、と思った方もいるのではないでしょうか。
しかしながら、調査の結果ハイレゾ音源の相互変換は一筋縄じゃないことが判りました。
ハイレゾ音源を相互変換できるソフトは?
あるリニアPCMファイルがあって、それをそれぞれのファイル形式に圧縮したとします。
それぞれのファイル形式は、可逆圧縮形式ですので以下の式が成り立ちます。
1. FLACを伸長したデータ = PCMファイルと同じ
2. ALACを伸長したデータ = PCMファイルと同じ
3. WMA Losslessを伸長したデータ = PCMファイルと同じ
1 = 2 = 3になるため、元の音源データの音質は FLAC = ALAC = WMA Losslessという事になります。
音質が変わらないのであれば、直接変換してしまうのが楽に決まっています。
それでは、どんなソフトでハイレゾ音源ファイルの直接変換が可能なのでしょうか。
調査では、96kHz/24bitの音源を相互変換し、ダウンサンプリングされずに変換でき、問題なく再生できるか確かめました。
表の判例:
○ :変換OK、再生OK
未:機能として未対応
×:不具合あり
【AudioGateの変換可否】
AuidoGate | 変換先ファイル形式 | |||
ALAC | FLAC | WMA Lossless | ||
変換元 ファイル形式 |
ALAC | – | ○ | ○ |
FLAC | 未 | – | ○ | |
WMA Lossless | 未 | ○ | – |
※ALACへの変換が対応していませんが、まずまずの対応状況です。
【MediCoderの変換可否】
MediaCoder | 変換先ファイル形式 | |||
ALAC | FLAC | WMA Lossless | ||
変換元 ファイル形式 |
ALAC | – | ○ | 未 |
FLAC | × | – | 未 | |
WMA Lossless | 未 | 未 | – |
※FLACからALACへの変換でノイズのみの音になってしまいました。不可逆形式には弱いようです。
【iTunesの変換可否】
iTunes | 変換先ファイル形式 | |||
ALAC | FLAC | WMA Lossless | ||
変換元 ファイル形式 |
ALAC | – | 未 | 未 |
FLAC | 未 | – | 未 | |
WMA Lossless | × | 未 | – |
※WMA LosslessからALACへの変換はダウンサンプリングされてしまいました。
【xrecodeIIの変換可否】
xrecodeII | 変換先ファイル形式 | |||
ALAC | FLAC | WMA Lossless | ||
変換元 ファイル形式 |
ALAC | – | ○ | ○ |
FLAC | ○ | – | ○ | |
WMA Lossless | ○ | ○ | – |
※全部OKでした。ALACへの変換には注意が必要です。(後述)
xrecodeIIは、96kHz/24bitのハイレゾ音源の相互変換に対応していることが判りました。
xrecodeIIは有料ソフトですが、実質フリーで利用できるので、これを使えばひとまずは困らないといった感じでしょうか。
ALACをエンコードする場合のxrecodeIIの設定
xrecodeIIでハイレゾ音源ファイルをALACに変換する場合、内蔵エンコーダだとダウンサンプリングされてしまうため、qaacを導入する必要があります。
qaacを導入した際の、xrecodeIIの設定は以下のようになります。
ALACのエンコード設定画面を開き、「外部実行ファイル(qaac.exe)」を選択し「設定」をクリックします。
qaac.exeの位置を指定し、「24ビットオーディオ対応」にチェックを入れます。
コメント
今日始めてFlac=>Alacの為に、xrecode?を使ってみたのですが、
ALAC設定を「内部の処理」にしたところ、
ダウンサンプリングがされなかったので情報を共有致します。
ALAC設定にて外部実行ファイルに、
(qaac2.18.zipから適当なフォルダに解凍したqaac.exe相当ファイル、)refalac64.exeを指定。
テストボタンを押したところエラー発生。
「外部エンコーダの設定に誤りがあります」
変換を実行したところ、エラーにて処理が中断。
ステータス内容は以下の通りでした。
「TBASSEncEncoder.DoOutput failed (-45). 」
最終的に手段が他に見つからなかったためダメ元で
ALAC設定を「内部の処理」にしたところ、今回の結果を得ました。
参考までに、以上になります。
qaac2.32のrefalac64.exeを使用して変換に成功しました。
ほかのバージョンは試していません。