2015年2月21日土曜日

EACやそのケーススタディ wav,ape,tak,tta,flac,+cue FLACに決めました。ubuntu/mintの楽曲管理

FLACで行こう::可逆圧縮ファイル・パーフェクトマニュアル(への道のり)


  • FLACで決まった。アップルもサポートした。
  • 可逆圧縮戦国時代もいちおうの結果を見た。FLACが制覇。
  • SONYは自社フォーマットを捨てた。


(3年ほど検討に検討を重ねた自分の結論::長い序文なので、読み飛ばしてください)

ひとつのファイルで楽曲管理/FLACで決まり

当初は、アルバム単位の単一ファイルで楽曲管理すると楽かなと思いたち、ubuntu/mintで試行してきました。Windowsは圧倒的にこの点リア充なので楽ちんですね。自身の結論からいうとよほどのニッチなニーズさえ持たなければ可逆圧縮音声ファイルの取扱では、特にLinuxで困ることはないってことがわかりました。むしろLinuxの利便性のほうが自分のなかでは上回ります。ニッチなニーズというのはどうしてもWindowsアプリケーションを使いたいというようなものです。そこまで無理して使わなくてもいいのではないか、と。


以下は数年に渡る検討のあーでもない、こーでもないを記録したものです。そうとう以前に中間総括としては(自分は主力フォーマットはFLACで決定しました)になっていましたので問題は特にありません。

当初はCD/PCMレベルのWAV,FLAC(44.1kHz/16bit)を主たる議論の対象にしていましたが、ハイレゾ含めて、FLACで決まりました。ピュアオーディオ志向の方はいろいろ深いものがあるのでしょうが、ここではカジュアルオーディオなので、FLACの利便性に軍配が上がります。

 何が正解なのだろう:FLACに決めました。次の節へ


「ひとつのwav + cue 」が便利なのかな?! 悩み中です。ちなみに、一定の年齢層以下であればアルバム単位という視聴概念が希薄です。圧縮フォーマットとしてflacは次世代標準になりそうな勢いですが、圧縮していないwavも扱いは楽(そのままだし)なのは当然。タグも埋め込まないわけではありませんし。cueが埋め込みできることもわかっていますが、それは除外します。mkaも除外します。


タグの問題を考慮すればflacがいちばんよさそうです(良いです。とりあえず自分のところではトラブルが一度も起きていない)。id3タグの混乱はまだ続いているわけですしね。FLACに決めました、その2

そもそもストレージが安くなってきているので、母艦では圧縮保存しなくてもいいのでは?という考えが浮かぶのも不思議ではありません。もちろん展開にCPUパワーくわないほうがいいのではないかという観点も一定程度はだいじでしょう。FLACに決めました、その3

ただ、この考えはあっけなくハイレゾFLACの前には否定されます。なにせハイレゾFLACはそれだけでも巨大です。圧縮なしの状態だとSSDがいくらあっても足りなくなるかもしれません。購入費も大変です。仕様上32bitを除外すれば、FLACに決めました。32bitは自分でどうこうする範囲ではなくて、特定ターゲットに向けた販売のためのフォーマット(高品質のためのとはいわないところが素直じゃない)ともいってもいいわけで。

――圧縮率の高さでいえばAPEは優秀とはいえ、WAVに比べてたとえば30%減程度ですね。他のフォーマットと比較しても誤差レベルの差です。flacはWindows10で標準サポートされたのでそれを契機にWindowsのみならずLinux系でもアプリケーション環境が充実していくと思われます(もともと対応しているので変化する点が特にない)。ついでにいえば、当社調べでAPEもFLACもTTAも圧縮効率は誤差レベルです(繰り返します)。議論しても仕方がないです。今後大手が採用し、幅広いユーザーが利用する可能性がないもの(個人的断言)を使っても仕方ないので、FLAC以外はめんどくさいだけ。FLACです。

考慮すべきは、汎用性。壊れないか。バージョン違いで復元できないなどのトラブルはないか。それも含め、今後の標準化しだいではないかと思います。――FLACに決めました。FLACが標準になります。Appleの世界は特別なので議論から除外。


結論からいえば、flac の方がAPEなどの他のフォーマットよりコンビニエンスと断言してもいいのではないかといいうことになります。以下、詳細は時間がないため、アウトラインのみ整理してみました。スケルトンです。FLACに決めました

本論開始::事前作業として、EACをダウンロード、設定


(Exact Audio Copy本家より落とすより、CNET経由がいいかと個人的には思います。adwareがはいっている気がする。気のせいかも)

今日現在の最新安定版であるWINE 1.8で、EAC1.1がうまく動作します。ubuntuでもこのクラスの性能の取り込みソフトウェアはありますが、 これが楽かも。

インストール(簡単なので略)

取り込み(吸い出し) のために、日本人アーティスト、曲名、本人名日本語という条件のCDを使います。マルチバイト、ワイドキャラクターの文字列が含まれるってことですね。英語CDで試しても仕方がないので。インストール作業はWindows初心者用記事をググってください。というか、そのままで何も考えなくてもいい気がしますけれど。

(リッピング作業、省略:Windows初心者向けサイトをみてください。丁寧なページがいくつかあります)

完了すると3つのファイルが出来上がっています。
  1. log 文字コード : UTF-16 ※取り込んだ時点でエラーがでなければ特に確認の必要はない。
  2. cue文字コード : アスキー、Shift_JIS
  3. wav バイナリ・CDイメージ
(タグ付け、曲名ファイル化をしないのであれば、GUI、ドラッグ&ドロップで、WAV化できますけどね。あはは。そうなんですよね。カンタンなんです) これで以下の準備ができました。その前にチェック作業です。

Cueシートの文字コードは確認しよう。UTF-8推奨


一般に、正常取り込みの場合ログはみないですよね。飛ばします。

少なくとも、CueはUTF-8にエンコードを共通にしておくと何かとはかどります。たとえば、再生ソフトのAudaciousやCDemuは、CUEがシフトJISだと動作が正常ではありません。最新版のFLACONは、ShiftJISに対応していただけたようです(ロシア語完全対応のついでともいう)。日本語がSJISでも通るようになりました。これでかなり使い勝手が向上しました。ただ、統一しておくほうが楽です。
考えたくなければ、UTF-8にしておく。Windows下で使う場合もUTF-8のままで問題ありません。
改行コードは、LFにしなくても、だいじょうぶ。Winから使う場合とLinuxから使う場合を共通化したいのなら、UTF-8必須です。というか、クリエイター側がUTF-8でしか扱いづらい文字を使う時代に変わってきています。

この注意さえ守ればどんな環境でも母艦セット:Cue+WAV(flac)が空気のように扱えるはずです。文字コードはWindowsでも問題が出る場合もあるみたいですね。(しらんけど) UTF-8にとにかく統一しましょう。たぶんそれがハッピーかと思います。


nkf -g *.cue  文字コード調べる
nkf -w --overwrite *.cue UTF-8で上書き。
上書きしなくても、*.utf-8.cue にしておけばいいです。

次の行は確認してください。これはFLACではなくて、WAVです。アプリによっては、そのあたりを自動的に処理してくれますが、合わせておくほうがよいですね。また、フォーマットによっては、Cueシートを圧縮ファイルに埋め込むことができ、1ファイル管理も可能ですがそれは本稿では触れません。

実際にEACを使ってみる


上原れなさんのアルバムがamazonから届いたところなので。具体でいきましょう。

FILE "上原れな - Emergence.wav" WAVE
のWAV形式をFLACにしてみます。
flac *.wav
flac 1.3.0, Copyright (C) 2000-2009, 2011-2013  Josh Coalson & Xiph.Org Foundation
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.
上原れな - Emergence.wav: wrote 479090446 bytes, ratio=0.698

FLACが古いですね。ま、いっか。

FLACにしたので、Cueの頭の方 この場合は、7行目のFILEではじまる行に修正が必要です。具体的には、
FILE "上原れな - Emergence.flac" WAVE
にしておきます。日本語がはいっても構いません。赤いところだけ。

     1    REM GENRE JPop
     2    REM DATE 2014
     3    REM DISCID DA0F340E
     4    REM COMMENT "UTF-8 Cue"
     5    PERFORMER "上原れな"
     6    TITLE "Emergence"
     7    FILE "上原れな - Emergence.wav" WAVE  <<実ファイルと一致させる。WAVの場合。
     8      TRACK 01 AUDIO
     9        TITLE "届かない恋'13"
    10        PERFORMER "上原れな"
    11        INDEX 01 00:00:00

    72      TRACK 14 AUDIO
    73        TITLE "さよならのこと"
    74        PERFORMER "上原れな"
    75        INDEX 00 59:32:52
    76        INDEX 01 59:34:69

freedbで正確ですね。感謝です。Gracenoteでなくてもってかんじかも。

問題がでるようなら、WAVのままハンドリングしていくのもありです。30%圧縮なので大差ないんじゃないの?!って見方もできますよね。本稿を描き起こした時期よりSSD価格は1/3以下になってますから、圧縮しなくてもいいんじゃない、ってわけです。これを「Cue/WAV(またはFLAC)」のふたつのセットを母艦セットと便宜的に名づけて以下に続きます。

WAVファイルにした1アルバムをいじってみる。

  •  別稿を書くほどではないですが、Nativeでなくても、Exact Audio Copyは、Wineでの利用も開発者が想定しているようなので(未確認)、慣れているひとはEACを利用してしまえばいいのではないでしょうか。
  • EACというコトバは、圧縮されたCUEシート付き楽曲ライブラリの形式を意味しますね。世界でも事実上標準の略語になったかんじです。

wav + cue の応用例――すべてGUI。GUIにこだわって。

1) トラック毎にwavに分割する。GUI。


キューシートをクリック(または右クリック)、K3bを起動、イメージファイルでBurn。トラック単位でCueシートに基づいた楽曲名付きwavが完成します。(完成したら、それを元に、flacなり、mp3なりの変換もできます。)。特に必要性なし。

また、flaconでもちゃんとEACを読み込んで分割できます。おすすめです。多少開発に協力させていただいています。

2)視聴。クリック(または右クリック)してアルバムとして聴く


A)キューシートをクリック(または右クリック)、Audaciousを起動、好きなトラックを聴く。先頭から聴くのももちろん自由。曲情報が正確に反映されるのでおすすめ。クレメンタインも対応しています。


B)ファイルマネジャー nemo/cajaで、楽曲ファイルにマウスを重ねる。笑) 便利なんだが時々びっくりしませんか? 設定次第ですが。

C)その他いろいろ.......。わたしのおすすめのdeadbeefは、WAVをクリックして開かないとだめみたい。 そしてカレントにあるCUEシートを自動的にアルバム形式で読み込むのが仕様っぽい。ちょっと戸惑いました。

3) アルバム単位で仮想CDドライブとしてマウントする。


gcdemuをインストール。cueファイルをloadします。音楽CDドライブとしてマウントされます。が、このドライブに対してAudiciosを起動しても楽曲情報(Cue楽曲名情報)は反映されないので、2-Aがおすすめです。Audacious―― 軽いアプリケーションです。音質は?!かな。

4)再度、リッピングしてみる。ファイルフォーマットの変更

A)Asunder

うまく動きませんでした。wavでよければ、1 で対応済です。1年と2ヶ月まえの瞬間の結果。とても性能が向上しているアプリケーションでけっこうおすすめです。追記、あれ、うまくいかない。

B)SoundConverter

サウンド変換です。flac、ogg などに変換できるようです。WAV TO FLAC、OGG で10分の曲変換に要するのは数秒といったところでしょうか。大抵のニーズには対応できそうです。

アップコンバート、リサンプルもできるようです。やってみました。擬似ハイレゾです。偽レゾとかいわれているものですね。これは、SoX使ったほうがいいです。記事にしましたので、左上の検索窓でSoX。プレイヤーでリアルタイム変換しながらってのもありますので、好みに応じてどうぞ。

5)wav+cueからバックアップしてみる。

無意味ですが、gcdemuでマウントされた状態から、braseroを起動。CD/DVD/BDドライブにブランクディスクを入れて焼く。(メディア代がもったいないのでメニューが出たところまで検証)

6)WAVをflacにする。ついでにWAVを削除してHDD容量を確保する

以下、フロントエンドの必要性がないほど、コマンド・ライン、ターミナル上での作業が簡単です。これを読めばよくあるWindows用シェアウェアなんか買う気になれないでしょう。ほとんどのコマンド・ツールはクロスプラットフォームなので、MAC OSX、MS Windows、Linux、BSDなどで動作しますので共通です。あえて説明しない汎用フォーマット相互変換器であるffmpeg などが動かない環境はほぼないはずですし。ffmpegだけでぜんぶやっちゃえる場合もあるかと思います。MKAコンテナもマイナーと見たのでの対象外です。


WAV からflacに。GUIよりも、コマンドで処理するのがあほほど簡単です。拍子抜け。
flac *.wav
です。カレントの全曲がWAV からflacになります。オリジナルは消しません。新たに生成します。厳密ではないですが、30%-40%ほどファイルサイズが小さくなると思います。ここでエラーがでなかったことを確認して、カレントのcueシートを書き換えて、元のWAVを削除します。

cueシートをwav からflacに変更。置換します。一行書き換えます。4文字書き換え。
以下が不安なら、cueのバックアップをとった上でお好みエディターでどうぞ。

cueシート食わせて、一発で修正する。汎用です。
perl -pe  's/.wav\" WAVE/.flac\" WAVE/g' target.cue

これでいけると思います。試験していません。gがあるのは、個別分割ファイルを1cueにするというflaconオプションに対応してみただけです。深い意味はありません。便利なのか不便なのかよくわかりません。

おまけ0:いろいろいれる、いろんなフォーマットに相互変換してみる。(何の意味もないが実験。完全に戻るのか試験)


(flaconいれると依存関係で、デコーダーの類もいろいろまとめて入ってくれたりするので楽でいいかもしれません。PPAから)

FLAC


flacをwavにする。デコード
flac 08.flac -d

APE

どこかの会社のハイレゾ再生機が採用していた気がする。と思っていたら2017年秋のSony Walkmanでは対応するんですね。前から?! ふーん。dsdとflac,wavだけでいいのに。クラシック聴く人にニーズがあるのかな?! 知りません。

wavをapeにする。
mac 08.wav 08.ape -c1000

apeをwavにする。デコード
mac 08.ape 08.wav -d
コマンド名がmacなのは収まりが悪いので、自分の場合、apeというエイリアスにしています。

TTA

wavをttaにする。
tta -e 08.wav  08.tta

ttaをwavにする。デコード
tta -d 08.tta  08.wav

TAK 、ソースコードの扱いがよくわからない。めんどくさい。

wavをtakにする。
takc -e 08.wav  08.tak

takをwavにする。デコード。Wineコマンドラインの場合と、ffmpeg/avconv でコンバートする場合の2例。
takc -d 08.tak  08.wav

ffmpeg -i 08.tak 08.wav
avconv -i 08.tak 08.wav

takcは、WINEで。このようにWindowsコマンドラインツールでも、
パスを通して、実行パーミッションを付与し、exeをとったシンボリックリンクを張っておけば、
あたかもネィティブアプリのように実行できます。という発見。活用例。

その他フォーマットもffmpegでも変換できますが、TAKではファイルサイズが変わってしまうことに気がついてしましました。いまんところ調べるつもりはないですが、無圧縮WAVへの書き戻しには本来のツールを使ったほうがいいかと思います。というか、takc.exeではヘッダがおかしいのかも。ヘッダが違いますね。
Wave meta data missing みたいになるので。WINE使わずに、takはffmpegで変換するほうがいいのかもしれませんね。ただし速度はWINEのほうが25%程度速く処理できます。 またフォーマットとしてのtakはもう終焉を迎えています。

2017年9月追記::いじわるなので最後に書きます。ffmpegで万能です。笑)

いずれのフォーマットも意識的に横並びにあつかってみましたが、事実上開発が止まっていたり、ほとんど変化がなかったします。だから、FLACに決めました。

FLAC音楽サイト増えました。SONY、オンキョーなどが販売もし、あー、めんどくさいので……


FLACになります。FLACで決まりました。
Windows10は標準(2016年7月)。アンドロイドも標準
Linuxも標準(たぶん)。appleも2017年9月に対応。

自分はこう決めたのでした(10年はこれでいきます)。ちなみに、マルチメディアフォーマットとして関連付けられていますので、どのフォーマットのファイルでもクリックで再生できますね。いずれせによ可逆形式であればWAVに戻せますから。そこがいいところ。

終わり::2017年秋追記 FLACで決まりました。アップル陥落。2025年ぐらいまで独自路線でいってほしかった。ネタにできなくなった。  

おまけ1:DLNA/uPnP"なんか"で宅内配信する。


cueシートを使った音楽鑑賞の場合は、サーバーは、Universal Media Server がおすすめです(日本語は化けると思いますけど)。それ以外のファイル、通常用途では、miniDLNAが私のおすすめです。Windowsでの配信は、SONY MediaGOがおすすめ。スマホをリモコンみたいにして、TVやChromecastなどのレンダラーを再生するっていう場合なんかですかね。そうなるとminidlanaがベンリだったり、ひとによってはClementineがいいし、kodiでもいいかと思います。

もちろんポートさえ変えれば、サーバーになるものは同時に起動できますから、適当に調整してください。

もっとも、楽曲程度ならスマホなりタブレットなりに転送しておくのが現実的には使いやすいと思います。プレイヤーアプリの質など気になることも増えてきますので。TVやゲーム機の場合はトランスコード機能をかませないとうまくない場合が多いかもしれません。5年以上前のテレビだとDLNA対応していてもそのあたりは弱いはず。

また、最新型の4Kテレビだとコーデックやら処理速度やら充実しているのかもしれません。ソニーの今年でるモデルが欲しいかも。


UMSはおまけとして、一部、PPAなどからインストールする必要はあるものの、すべてubuntu環境/ほぼGUIで説明が完結できました。めでたし、めでたし。コマンドラインなしです(の部分のみ説明したっていうのもあります ^^;)。

結言::しつこい

ここまで書いて、やっぱ、flacで管理が一番楽、将来性もあるのかな、と。Linux系標準フォーマットという声もあるし(どこに?!)、対応していないのは、Appleぐらいなもので、そのうち勢いに負けて、iTunesでもサポートすると思うけど。MSはWindows10で夏の予定みたいですね。

先達が整理されたページとしては以下がフォーマット変換などの参考になるかと思います。こちらを見たので、本稿ではGUIにこだわってみました。ずいぶんとubuntu/mintの環境も進化しているところは進化しているようですよ。実感しました。ほとんどGUIでできちゃいます。

 

以下、不必要:記録として残します。

おまけ2:Monkey's Audio インストール

http://doc.ubuntu-fr.org/ape フランス語

sudo xdg-open /etc/apt/sources.list
を開いて、
deb http://www.deb-multimedia.org sid main
の行を足して保存。
sudo apt-get updateしてsudo apt-get install monkeys-audio
導入。
もう一度(ここ大事)、
sudo xdg-open /etc/apt/sources.list
sudo apt-get update
を開いて、先ほど追加した行を削除(deb http://www.deb-multimedia.org sid main)。

https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media/+build/5803789

PPA登録するか、バイナリを2つダウンロードし、dpkgインストールするかです。flaconが3.99なので少しこまったことになるかもしれません。flacconを導入した後、4.11でいけるかと思います。
などとして使います。オプションは後に付けます。macという名前は個人的に収まりがわるいので、エイリアス ape にしました。

モンキーオーディオを導入する。16.04LTS
sudo add-apt-repository ppa:mc3man/xerus-media
sudo apt update && sudo apt install monkeys-audio

おまけ3:flac/lame/tta エンコーダ、デコーダのインストール


ttaバイナリ

http://sourceforge.net/projects/tta/files/tta/ttaenc-linux/

最新版。解凍、sudo cp ttaenc /usr/bin
sudo apt-get install flac
sudo apt-get install lame
ヨーロッパで人気みたいなwavpackだけは試しませんでした。よくわからないTAKも試しました。ですからこれで主要フォーマットは網羅できたと思います。flacで十分なんですけどね。flacでいいや。flacが趨勢ってことで。

0 件のコメント:

コメントを投稿