Opusとは
新しい音声コーデックで、IETF標準であり、WebRTCの実装で利用される。レイテンシが非常に低くでき、VoIP用途にも利用できるが、一般的な音楽ファイルにも有用な高性能コーデック。YouTubeにも採用されている。
ほとんどの人は96kbpsのOpusとオリジナルの区別をつけることが難しいのではないか?
Cf. http://d.hatena.ne.jp/kamedo2/20150721/1437496134 ※ 画像出展
比較
- 44.1kHz、モノラルで比較
- (モノラルなので、joint stereoなどの性能比較は含まないものとなる。以下で記載されているビットレートを大体2倍すればステレオの場合として考えられる。)
- 以下に載せるOpusは全部モノラル/48kbps近辺のビットレートになっている。
- スペクトログラムでコーデックを比較するのは良くないのはわかっているが、視覚的にわかりやすいのでこの比較を行う。
- 実際には二重盲検法、ABXテストしたほうがいいが、時間と根気が必要なのでパット見でわかる便利さは重要だと思う。
- X軸が時間、Y軸が周波数、色の濃さがZ軸であり、黒いほど音がないことを示す。
低ビットレート比較
ステレオ換算で96kbps程度。
- めうめうぺったんたん!! (ひなビタ) 0:17〜0:27
- FLAC 16bit 44.1kHz (オリジナル)
- シンセが鳴りまくる場面
- MP3 LAME ABR 60 (57kbps)
- MP3は比較対象中一番ビットレート高いのに、さすがに厳しい
- Ogg xiph.org oggenc q0.5 (53kbps)
- Oggは低ビットレートに強いと前々から言われていたし、割とリーズナブルな結果。
- AAC XLD(QuickTIme) CVBR 48kbps (49kbps)
- このビットレートではLC-AACはあまり強くないようだ。
-
Opus xiph.org opusenc VBR 46kbps (48kbps)
- 綺麗なスペクトログラム。Opus、強すぎる
- FLAC 16bit 44.1kHz (オリジナル)
中ビットレート比較
ステレオ換算で128kbps(Ogg)〜165kbps(MP3) vs Opus 96kbpsの比較
-
Hello, Goodbye (The Beatles) 0:55〜1:05
-
金の波 千の波 (新居昭乃) 0:55〜1:05
高ビットレート比較
ステレオ換算で192kbps(Ogg)〜225kbps(MP3) vs Opus 96kbpsの比較
- ホントノトコロ (名瀬ゆかな) 1〜11秒
- FLAC 16bit 44.1kHz (オリジナル)
- オリジナルファイル(可逆圧縮、基準)
- MP3 LAME VBR V1 (117kbps)
- 16kHz付近以上を犠牲にして可聴域の音質を高めている。可聴域の解像度はスペクトログラムでオリジナルとの違いがわからず良好。
- Ogg xiph.org oggenc q6 (101kbps)
- 20k以上の超音波領域を削っている。可聴域にはところどころ黒点が見える。
-
Opus xiph.org opusenc VBR 48kbps (52kbps)
- 他のコーデックよりかなり低い48kbps(ステレオで約96kbps)で、この解像度を誇る。6.6秒の18k付近で原音の線が間延びしているように見える。Opusは、このビットレートの16k以上はアーチファクトが現れると思われる。
- FLAC 16bit 44.1kHz (オリジナル)
- さよならを教えて (MELL)
さすがにOpusと他のコーデックのビットレートに差がありすぎて、Opusで若干情報の欠落が見えるが、オリジナルと聞き分けはつかない。96kbps(モノラル48kbps)で試してみよう。
コード
flac -f -d -o "/tmp/$1.wav" "$1.flac"
sox "/tmp/$1.wav" "/tmp/$1-mono.wav" trim 55 10 remix -
sox "/tmp/$1-mono.wav" -n spectrogram -x 1200 -o "${1}_flac.png"
oggenc -q4.000000 "/tmp/$1-mono.wav" -o "/tmp/$1.ogg" && sox "/tmp/$1.ogg" -n spectrogram -x 1200 -o "${1}_ogg.png"
opusenc --bitrate 48 --vbr "/tmp/$1-mono.wav" - | opusdec --quiet - "/tmp/$1.opus.wav" && sox "/tmp/$1.opus.wav" -n spectrogram -x 1200 -o "${1}_opus.png"
lame -m m -V4 "/tmp/$1-mono.wav" - | mpg123 -w "/tmp/$1-mp3.wav" - && sox "/tmp/$1-mp3.wav" -n spectrogram -x 1200 -o "${1}_mp3.png"
rm "/tmp/$1.wav" "/tmp/$1-mono.wav" "/tmp/$1.ogg" "/tmp/$1.opus.wav" "/tmp/$1-mp3.wav"
Opusまとめ
- VBRが基本、CBRは無駄で使う必要はない。
- なお、libopus 1.1.1 VBRでは、オルゴールの音になると異常にビットレートを使うので注意
- (今回は書いてないけど)ボイスだけなら48kbpsもあれば原音と区別つかないはず。24kbpsでも割と問題ない。
- ボイスのエンコードにはSkypeが開発したSILKが利用される
- ビットレート(ステレオの場合)
- たぶん打ち込み系、ポップス、ロック等は96kbpsくらいで割と良い
- 96kbpsに於いては16kHz以上の原音再現度はそれほど高くない
- ただし人間が聴いて分からない、気にならないレベル
- 96kbpsに於いては16kHz以上の原音再現度はそれほど高くない
- 静かな曲は128kbpsくらいはあってもいいかもしれない
- YouTubeでは、最近は Opus 160kbps を多くの動画で採用している
- ぶっちゃけ、それ以上を割り当てたりしても、無音が多かったりすると、同じ音源のFLACの場合のほうが小さくなったりすることもある。どれほど多くてもVBR 160kbpsで良く、256kbpsあればオーバーキル気味。
- それ以上はどのコーデックにしても人間の耳で聞き分けることは不可能(断言)
- たぶん打ち込み系、ポップス、ロック等は96kbpsくらいで割と良い
- ハイレゾとOpus 128kbpsがABXテストで聴き分けられたら、ぜひ自慢してください!たぶんできませんが。
視覚的にもっとわかりやすくした解説「音声コーデック 音質比較 AAC vs MP3 vs Opus vs Vorbis」
- (関連) なぜハイレゾは「バカげている」のか
- 高すぎるサンプリングレートが無意味な理由です。
- http://qiita.com/keiya/items/c994c200e8b38b6c7935