#author("2021-08-17T21:50:30+09:00","","") #author("2023-10-20T13:25:58+09:00","","") //本来この解説をfoobar2000のwikiに載せるのは適当ではないかもしれないですが、(かつての私のように上級者になりたい)初心者は必ずfb2kの使い方と同時にコーデックの選択に悩むのでこの項を立てました。 //何か問題点ある場合はさり気なく書き換えていただくか、ページ最下部にコメントを付けて下さい。 #contents *はじめに [#f66db1d0] -foobar2000を初心者が使いはじめる際、ソフトの習得の次に「どのコーデック(フォーマット)を使えばいいのか」という壁にぶつかるでしょう。しかし特に可逆圧縮に関する解説ページは大抵英語で書かれており、体系的な情報を得るのが難しいです。以下では可逆圧縮を中心に一通りの情報を載せました。~ もっと詳しい解説を知りたい方は以下のページが参考になります。 -[[http://wiki.hydrogenaud.io/index.php?title=Lossless_comparison]]:Lossless comparison(Hydrogenaudio) --英語ですが上級者に向けた解説になっています。 -[[http://d.hatena.ne.jp/saitoh_s/20081225]] --日本語で丁寧な解説が付いています。 -[[http://michisugara.jp/archives/2011/foobar2000_playing.html]] --様々な形式でのエンコーダの設定について解説されています。 *可逆圧縮コーデック [#r2c229b4] **可逆圧縮とは(Lossless Compression) [#lossless] CD等に収録されている音楽を元のデータをそのまま保ちながらファイルの圧縮(ランレングス符号化やハフマン符号化等)をする。すなわち音質は元の音(CDならばCDの音質)のままで容量の節約になる。 -ファイル容量を抑えつつ音質が劣化しない。 --可逆圧縮でも劣化が起こるという情報(([[http://secondbest.hatenablog.com/entry/20120704/p1]]等))が流れているが全くのデマである。 -どのくらい圧縮できるかは音の内容による(例えば人の話し声だけならば1/4程度に圧縮できるが、騒がしい音楽やホワイトノイズに近いようなものはあまり圧縮が効かない)。そのため、コーデックの優劣は圧縮率で決まる。 -一般に不可逆圧縮に比べて圧縮率が低い。 -インターネットでの配布やストリーミングには向かない(規格上対応しているコーデックもあるが)。 **WAV(PCM) [#wav] -非圧縮であり、CD音質(44.1kHz,16bits)の場合1411.2kbpsとなる。 -ファイル容量が4GBまでの制限がある。これを回避するにはWAV64という別のコーデックを用いる。 -タグ周りに制約(というより規格の乱立)があり、事実上タグは使えない。~ 参考:[[http://mediamonkey.xn--m8jfw.jp/index.php?FAQ#za29b48b]] [[http://reika788.blog.fc2.com/blog-entry-6.html]] **FLAC(Flee Lossless Audio Codec) [#flac] -Opus等と共にオープンソースで開発されている。サポートしているソフト・機器が他の可逆圧縮コーデックに比べて桁違いに多い。 --以前Apple製品は対応してなかったが、2017年後半にiOSとiTunesで対応した。 -エンコード・デコードはかなり速いが、圧縮率はそこそこである。 -プリセットは10あるが、圧縮率はあまり変わらない。 -上級者にとっては機能的に不十分なところがある。 --APEv2タグが使えない(Vorbis Commentという扱いづらいものを使う)。 --浮動小数点をサポートしておらず、今後もすることはないと公式に明言している。~ 参考:[[https://xiph.org/flac/faq.html#general__samples_fp]] -%%可逆圧縮でも音質は劣化する!と言い張るカルト的な連中のために%%FLACでありながら全く圧縮をしない(WAVファイルをFLACでコンテナした)FLAC Uncompressedというオプションもある。ただし現在foobar2000で読み込みはできるが、書き出しはdBpowerAmpかXrecode 3(共に有償)を使う必要がある。 **TAK(Tom's lossless Audio Kompressor) [#tak] -FLACをベースに開発された新しいコーデックで、(後述の)Monkey's Audioと同等の高い圧縮率でありながらFLAC以上のエンコード・デコードの速さを誇る。 --特にシークは他と比べて異常な速さである。 -GUIのエンコーダ・デコーダがあるので、foobar2000のConvert機能を使わなくても非常に分かりやい。 -エラーに強く、ファイルの欠損は250ミリ秒以内に収まるという。 -APEv2タグが使える。内部cueシートの埋め込みも可能。 -プリセットが15と豊富で、圧縮率と速度の調整を柔軟に変更できる。 -機器の対応はないが、android版・iOS版のfoobar2000で対応する。ソフトも対応が進んできている。 -以前はアップデートによる互換性が問題になったが、現在は安定している。~ 参考:[[http://michisugara.jp/archives/2011/foobar2000_playing.html]] **APE(Monkey's Audio) [#ape] -とにかく圧縮率が高いコーデックで、かなり昔から存在する。 -古参な故サポートしているソフトも多く、一部機器でも再生出来る。 -デコードが遅めで、シークがもたつく時がある。またエラーに弱い。 **WavPack [#wavpack] -昔からオープンソースで開発されている。 -FLACより圧縮率が高く、エンコードもやや早い。(TAKには及ばないが) -エンコーダの機能が豊富で、ハイブリッドモード(不可逆圧縮されたファイルと補正ファイルを作り、前者だけでも再生できるが両者を組み合わせて可逆圧縮として再生できるというもの)や自己解凍機能等がある。 -ハードウェアの対応を謳うが、再生出来る機器は殆ど無い。 **ALAC(Apple Lossless Audio Codec) [#alac] -Apple社が開発したコーデックで、かつてはクローズドソースだったが、2011年にオープンになった。 -機能や圧縮率はFLACとほぼ同等。 -macでは標準的な形式として再生できるが、Windowsではかなりマイナーでありソフトのサポートもそこそこ。 -機器ではApple製品とSony製品(WalkmanやXperia)のみが対応。それ以外は皆無。 --Apple社がFLAC対応に踏み切ったことから、今後は主流ではなくなると思われる。 -標準拡張子がm4aで、AACの拡張子(mp4コンテナ)と同じになってしまうでファイル名だけでは2つの区別がつかない。 -エラー耐性が不十分。 -参考:[[http://michisugara.jp/archives/2013/foobar2000_alac.html]] **TTA(The True Audio) [#tta] -圧縮率を高めつつエンコード・デコード速度を重視したコーデックだったが…TAKの登場により立ち位置を失った(どちらの面でも負けるため)。 -唯一の利点はMatroskaでコンテナ出来ることぐらいであろうか。 --しかし唯一の利点であるMatroskaでコンテナしてしまうと、Matroskaはfoobar2000と相性が悪いため正常に再生できない事が多い。またcueシートも制約がかかる。 参考:[[http://foobar2000.xrea.jp/index.php?foobar2000%E3%81%A8cue%E3%82%B7%E3%83%BC%E3%83%88#ne4d4aac]] [[参考>foobar2000とcueシート#ne4d4aac]] -こちらもハードウェアの対応を謳うが、再生出来る機器は殆ど無い。 **可逆圧縮のまとめ [#ed73c07f] 自分に合うものがわからない人はとりあえず以下の二つから選ぶのをおすすめする。 -パソコン以外の機器(スマホ)でも再生したい⇒FLAC --%%Apple信者であればALACでもいいだろう。%%今後はApple社もFLACの流れになると思われる。 -圧縮率と速度のバランスをとりながら、パソコンで再生できればいい。⇒TAK *不可逆圧縮コーデック [#b3ad9460] **不可逆圧縮とは(Lossy Compression) [#lossy] 人間には聞こえにくい高い周波数(16kHz~18kHz以上)をカットしたり、知覚心理学に基づく知覚符号化を行ったりして大幅に圧縮をする。ハードディスクの容量がまだ小さかった時代には重宝されたが、現在ではインターネットでの音楽配信に使われることが多い。 -可逆圧縮に比べて非常に圧縮できる。 -音楽データを改変するので音質が劣化する。 -ユーザーが目標のビットレートを指定するので予めファイル容量が計算できる(プリセット形式であってもおおよそ計算可能)。そのためコーデックの優劣は同じビットレートでの音質で決まる。 --MP3やAACのような国際規格として定められているものは様々なエンコーダが存在し、同じコーデック・ビットレートであってもエンコーダによって音質が異なる。 **MP3 [#mp3] -言わずと知れた不可逆圧縮の先駆けとも言えるコーデック。現在これを再生できない機器はまずない。 -通常LAMEというエンコーダが使われる。2017年10月には実に5年ぶりの更新がされた(3.99→3.100)。 --かつてよく使われた午後のこ~だはLAME 3.88の派生版で、ここでの成果(SIMD命令の最適化等)は後のLAMEに反映されている。 -比較的音質が悪いと言われるが、現在では320kbpsでCDとの区別が難しいほどの音質を誇る。 **AAC(Advanced Audio Coding) [#aac] -現在主流のコーデックで、音声つきの動画をエンコードするとどのソフトでも既定ではこれになる。またbluetoothのコーデックにも採用されている。 -基本的にMP3を上回る性能を持ちながら殆どの機器で対応しているので、分からないときはとりあえずAACにすれば間違いない。 -たくさんのエンコーダがあり、同じビットレートであっても全く音質が違ったりする。Nero AACやlibfaac(ffmpeg内蔵のやつ)がよく用いられるが、音質重視ならばqaacを使う。~ 参考:[[http://d.hatena.ne.jp/kamedo2/20120102/1325523424]] --しかしqaacを使うにはパソコンにiTunesをインストールする必要がある(エンコーダ単体では動かない)。iTunesをインストールしなくてもインストーラから必要なDLLを抽出してエンコーダ単体で動かすこともできるが、非常にハードルが高い(x86とx64の区別が必要になったりXPやVistaで動かすには旧バージョンをダウンロードする必要がある等)。~ 参考:[[https://web.archive.org/web/20200530061127/https://ch.nicovideo.jp/suwatoh/blomaga/ar728531]] -低ビットレート向けにHE-AACv1やv2も存在するが、音楽ファイルで使うことはないだろう。 **Vorbis [#vorbis] -商業利用等ではライセンス料が必要なMP3やAACに対抗すべく、フリーな動画・音声フォーマットの開発しているoggプロジェクトの一つでSpeexの後継。現在はOpusへ開発が移行している。 -性能的には(q)aacに匹敵する。 **Opus [#opus] -Vorbisと同じくoggプロジェクトの一つで、2012年発表というかなり新しいコーデック。現在YouTubeでも採用されている。 -もともとはVoIPやテレビ電話等の通話用コーデックとして開発された。そのため以下の特徴がある。 --音楽に適したコーデックと人の声に適したコーデックを組み合わせており、例えば数十kbpsしかないファイルであっても人の声がはっきり聞き取れる。 --非常に遅延が少ない(既定値22.5ミリ秒)。 -しかも96kbps以上の高ビットレートであれば非常に音質が高く、圧倒的な音質の良さを誇る。~ 参考:[[https://qiita.com/keiya/items/70ed223c85e72b6bfdda]] / [[https://ja.wikipedia.org/wiki/Opus_(%E9%9F%B3%E5%A3%B0%E5%9C%A7%E7%B8%AE)]] -ただしサンプリング周波数が44.1kHzのものは48kHzに変換されてしまう。~ 参考:[[https://wiki.xiph.org/OpusFAQ#How_do_I_use_44.1_kHz_or_some_other_sampling_rate_not_directly_supported_by_Opus.3F]] -Opusには仕様としてヘッダーやR128タグにゲインの変更を記録する事ができる(というか標準では記録される)のだが、この音量の適用が"should"や"must"であったり、ReplayGainとは基準音圧が違うため競合したり、そもそも仕様上はReplayGain等の機能との併用が"should not(非推奨)"であったりという問題がある。現状ではこれといった解決策はなく、各人の使い方による。~ 参考:[[https://qiita.com/obsolete-standard/items/cbde7257ab2e8c39a265]] **WMA(Windows Media Audio) [#wma] -Microsoft社が開発したコーデックで、大抵は動画コーデックのWMVと一緒に使われる(というかWMVコンテナはWMV+WMAの組み合わせしか出来ない。)。 -古参なため、クローズドソースの割には機器の対応が多い(MP3非対応でWMAが使えるICレコーダーなんかも多かった)。 -音質は悪くないがAACに及ばす中途半端な上、Windows以外ではあまり相性が良くないのであまり普及してない。 --ただし他のコーデックにはないDRM(Digital Rights Management:著作権保護)機能があるため、かつてはダウンロード販売の主力の形式だった(今は殆どFLACもしくはWAVに置き換わった)。 -派生規格としてWMA Pro(アルゴリズムを一新),WMA Lossless(可逆圧縮),WMA Voice(人の声に最適化)があるが、互換性は全く無い上に殆ど使われない。 -公式のエンコーダを使う場合はExpression Encoderというソフトを使う必要がある。 --グラフィック・Webデザイン用ソフトの統合パッケージなので容量がでかい。 --もともとGUIのソフトで、コマンドラインで使うにはSDKを用いなければならず、難易度が非常に高い上にかなり苦労する。ffmpegを使うのが一番手っ取り早いだろう。~ 参考:[[http://ysa256.blogspot.jp/2012/03/expresion-encorder-4.html]] **不可逆圧縮まとめ [#of4b7062] 自分に合うものがわからない人はとりあえず以下の二つから選ぶのをおすすめする。 -とにかく音質と容量を優先したい→Opus(128kbpsもあれば十分) -対応機器で困ることがないようにしたい→AAC(192kbpsにすればおそらく不満はなくなる) 不明点があればHydrogenaudioで尋ねるとよい%%(投げやり)%%。 ---- RIGHT:累計閲覧数:&counter; RIGHT:本日閲覧数:&counter(today); RIGHT:昨日閲覧数:&counter(yesterday); //やっぱり閲覧数が分かると励みになりますね(^^)