藤本健のDigital Audio Laboratory

第930回

MP3より高音質! YouTube/Discord採用の「Opus」コーデックを試した

音声圧縮フォーマットの「Opus」をご存じだろうか?

YouTubeで採用されている音声フォーマットの1つで、ほかにもゲーム関連などでよく使われるボイスチャットシステム「Discord」や、様々なVoIPソフトウェアで採用されている。エンコードにおけるレイテンシーが他のコーデックに比べ極めて小さく、VoIP用にマッチしているからトーク用途で用いられるのだ。

とはいえ、このOpusはMP3やAACなどと同様、ファイルベースでも扱うことができ、音楽用途としても利用可能だという。では、音質的にみてどの程度のものなのだろう。以前から気になりつつも、しっかり検証したことがなかったので、チェックしてみた。

ロイヤリティフリーOpus。メディアプレーヤーやブラウザで再生可能

OpusはNPO組織の標準化団体であるIETF(インターネット技術特別調査委員会)によって開発された非可逆音声圧縮フォーマットで、基本的にロイヤリティフリーで使うことができるオープンフォーマット。オープンフォーマットという意味ではFLACやOgg Vorbisとも近い存在といえそうだが、音楽ファイルとして使用されているケースはあまりないように思う。

ただfoobar2000では、かなり古くからネイティブ対応していたようだし、VLC media playerでも10年ほど前から対応している。さらに、まったく知らなかったのだが、最新のWindows 11ならば前回紹介したメディアプレーヤーが、それ以前のWindows 11やWindows 10ならGrooveミュージックが対応しているので、拡張子「.opus」のファイルをダブルクリックするだけで再生できるようになっている。

メディアプレーヤー

Windows11の新アプリ「メディアプレーヤー」検証。カーネルミキサー問題も

macOSの場合はダブルクリックするだけで開くわけではないが、ChromeやFirefoxが再生機能を装備しており、ファイルをドラッグ&ドロップするだけで再生することが可能。Safariは対応していないようだが、Chromeなどを入れていれば、簡単に再生することができるし、foobar2000やVLC media playeなどを入れてもOKだ。ブラウザとしてはWindowsの場合、Edgeも対応している。

ChromeやFirefoxで再生できる

では、Opusはどうすればエンコードできるのだろうか?

YouTubeの場合、MP4ファイルなどをアップロードすると、オーディオ部分が自動的にOpusやAACにエンコードされるようになっている。実際、WindowsやMacのChromeで、YouTubeの再生画面でコンテクストメニューから「詳細統計情報」を選択すると、画面左上に各種情報が表示されるが、Codecsとしてopus(251)として表示されていることが確認できる。

詳細統計情報

しかし、拡張子.opusのファイルを生成できるソフトをあまり見かけたことがない。iTunesやその後継であるApple Music Appにもないし、Windows Media Playerにもなく、オールマイティな音声入出力が可能なSound Forge Proなどにも備わっていないのだ。

検索してみたところ、Opus Interactive Audio Codecのサイトでopus-tools 0.2なるものが無料で公開されており、ソースコードのほか、Windows用、macOS用がバイナリーの形で誰でもダウンロードできるようになっていた。

もっとも、GUIはなくコマンドラインで使うソフトであるため、不慣れな人だと使うこと自体に抵抗感がありそうだが、とりあえずWindows版を入手して試してみた。なお、この実験を一通り終えてから気づいたが、foobar2000には、Opusでのエンコード機能が備わっていたので、これを使うのが便利そうではある。

foobar2000は、Opusのエンコード機能を備える

Windowsのコマンドプロンプトを開き、ここからエンコーダーであるopusencを実行する。さまざまなオプションが用意されているが、ここではビットレートだけを指定して試してみた。可変ビットレートと固定ビットレートが選べるが、デフォルトは可変ビットレートなので、そのままにしている。

1分ほどの音楽ファイルをエンコードしてみたところ、AMD Ryzen 9のマシンで実行して1秒もかからないで終了。そのファイルがこちらだ。

【録音サンプル】
opus128.opus(0.83MB)

※編集部注:編集部ではファイル再生の保証はいたしかねます。
再生環境についての個別のご質問にはお答えいたしかねますのでご了承下さい

ChromeやEdge、Firefoxなどであれば、ブラウザ内で再生することができるだろう。違和感なく、かなりキレイに再生できたと思うが、このファイルは128kbpsというビットレート。

このエンコーダーではチャンネルごとに6kbps~256kbpsで設定できるので、6kbps、16kbps、32kbps、64kbps、96kbps、128kbps、192kbps、256kbpsのそれぞれでエンコードしてみた。6kbpsなどとなると、ほかのコーデックではほとんど見かけない小さなファイルとなるが、実際どうなのか。

【録音サンプル】
opus6.opus(0.04MB)

※編集部注:編集部ではファイル再生の保証はいたしかねます。
再生環境についての個別のご質問にはお答えいたしかねますのでご了承下さい

再生してみたところ、さすがに6kbpsでステレオ音楽をエンコードすると音質的に厳しい印象。でも喋り声ならば、それなりに使えるかもしれないと、実際に試したのが以下のデータ。6kbpsだとやや声がかすれた感じにはなるが、十分聴こえる。

【録音サンプル】
opus_voice6.opus(0.01MB)

※編集部注:編集部ではファイル再生の保証はいたしかねます。
再生環境についての個別のご質問にはお答えいたしかねますのでご了承下さい

さらに8kbpsにしてみたところ、ほぼ問題なく聴けるレベルにまで向上した。

【録音サンプル】
opus_voice8.opus(0.01MB)

※編集部注:編集部ではファイル再生の保証はいたしかねます。
再生環境についての個別のご質問にはお答えいたしかねますのでご了承下さい

このように、低ビットレートで大きな威力を発揮するコーデックであることは間違いなさそうだ。

Opusデータを周波数分析してみた

では、ビットレートでエンコードした音を分析するとどうなるのか……。さきほどエンコードした結果を周波数分析ソフトのWaveSpectraを使って表示させてみたのが以下のものだ。

オリジナル(1,411kbps)
Opus 6kbps
Opus 16kbps
Opus 32kbps
Opus 64kbps
Opus 96kbps
Opus 128kbps
Opus 192kbps
Opus 256kbps

実はWaveSpectraの場合、Opusデータを直接読めるわけではないため、先ほどのopus-toolsに入っているデコーダー「opusdec」を利用し、いったんWAVファイルに変換してから読み込ませている。

この周波数分析を見る限り、96kbpsあたりで20kHzまでの音がしっかり出ているのがわかる。ただ、WaveSpectraのグラフだけでは、96kHz以上の違いが見えにくい。

Opusデータをオリジナルと差分比較した

次に、昨年の記事昨年の記事で実験したスペクトル分析した結果のグラフィック的差分で、どのくらい音に違いがあるかを視覚化する手法で比較してみることにした。

方法としては、まずオリジナルのWAVファイルをSteinbergのWaveLabを使ってスペクトログラム表示させたものをスクリーンショットする。さらにOpusでエンコードした結果も同じようにスクリーンショットする。この2つのスクリーンショットを「DiffImg」という画像比較ソフトを用いて差分を画像として作り出す。

手順1:オリジナルのWAVファイルをスペクトログラム表示
手順2:Opusエンコードした結果もスペクトログラム表示
手順3:画像比較ソフト「DiffImg」を使って差分を画像として作る

分が大きければ明るく、差分が少なければ暗い画像になり、よりオリジナルに近い音であるということがわかる。その結果が以下のものだ。

Opus 6kbpsとオリジナルの差分
Opus 32kbpsとオリジナルの差分
Opus 64kbpsとオリジナルの差分
Opus 96kbpsとオリジナルの差分
Opus 128kbpsとオリジナルの差分
Opus 192kbpsとオリジナルの差分
Opus 256kbpsとオリジナルの差分

画像を見ると、96kbps以上でも差分はどんどん減っていき、256kbpsでは真っ暗で、ほぼオリジナルに近いところまで来ているのがわかる。ちなみに、MP3の128kbpsと192kbpsでのWaveSpectraと、スペクトログラム表示の差分結果が以下の画像だ。

MP3 128kbps
MP3 192kbps
MP3 128kbpsとオリジナルの差分
MP3 192kbpsとオリジナルの差分

これを見ると、Opusは少なくともMP3よりは断然高音質な音声圧縮フォーマットであることが見えてくる。ライセンスフリーで使えることだし、もっとOpusが普及してもいいように思うが、音楽もストリーミングが中心となる中、あえて手元に非可逆の圧縮ファイルを手元に置いておくニーズはあまりないのかもしれない。

Apple MusicやSpotifyなどはストリーミングでAACを使っているようだが、ファイルベースで比較してみてOpusとどのくらいの違いがあるのか、次回はAACとの比較をしてみたいと思う。

藤本健

 リクルートに15年勤務した後、2004年に有限会社フラクタル・デザインを設立。リクルート在籍時代からMIDI、オーディオ、レコーディング関連の記事を中心に執筆している。以前にはシーケンスソフトの開発やMIDIインターフェイス、パソコン用音源の開発に携わったこともあるため、現在でも、システム周りの知識は深い。  著書に「コンプリートDTMガイドブック」(リットーミュージック)、「できる初音ミク&鏡音リン・レン 」(インプレスジャパン)、「MASTER OF SONAR」(BNN新社)などがある。またブログ型ニュースサイトDTMステーションを運営するほか、All AboutではDTM・デジタルレコーディング担当ガイドも務めている。Twitterは@kenfujimoto