ロイヤリティフリーの Opus で、フルボイスを同等品質の MP3 比 約 1/5 に。
Unity 6+ 向けのオーディオデコード・再生プラグイン。
フルボイスのゲームでは、ボイスデータが容量の大半を占めがちです。Opus は IETF 標準 (RFC 6716) のロイヤリティフリー・コーデックで、VBR + DTX により「無音区間をほぼ 0 バイト」に圧縮可能。libopus は BSD ライセンスで、出荷本数や売上に関係なくコーデック使用料は発生しません。OpusPlay は libopus を Unity から呼べる薄い C# ラッパで、async/await ベースのシンプルな API と UPM 配布で「とりあえず入れて使える」状態を目指しています。
そして OpusPlay 本体は GitHub でソースコードを公開しています。ネイティブのビルドスクリプト、CI、PESQ-WB の実測スクリプトまで一式リポジトリに同梱しており、組み込み前に挙動を読んで・改造して・自前ビルドできる構成。商用ライセンス契約後もリポジトリをフォークして社内プロジェクトの監査要件に合わせられます。
圧縮プリセットはすべて PESQ-WB(ITU-T P.862.2、音声品質の MOS 相当指標、1.04〜4.64)で実測したうえで設計。同じ PESQ ライン(≈ 4.3:透明感あり)を達成するのに必要なサイズで MP3 / AAC を上回り、低ビットレート帯では特に差が開きます。
同じ TTS ボイス音源 (100 秒、24kHz mono PCM 4.6MB) を Opus と MP3 / AAC-LC / HE-AAC / Vorbis で複数設定エンコードし、ファイルサイズと PESQ-WB スコアでプロット。左上ほど「小さく・高音質」で優秀です。
同じ TTS ボイス音源 (100 秒、感情起伏の大きいスクリプト) を異なるコーデック・ビットレートで圧縮した結果を、ブラウザ上で直接聴き比べできます。Opus 24k は元の 4.6MB ソースを 256KB まで圧縮しても透明感ラインに届き、MP3 で同等品質を出すには約 4.6 倍のサイズが必要です。
| サンプル | サイズ | PESQ-WB | 再生 |
|---|---|---|---|
|
リファレンス(原音)
|
4.6 MB | — | |
|
Opus 12k VoiceUltra · 限界圧縮
|
144 KB 原音比 3.0% | 3.48 | |
|
Opus 24k VoiceLow · 透明感ライン ★
|
256 KB 原音比 5.4% | 4.30 | |
|
MP3 32k LAME
|
392 KB Opus 12k の 2.72 倍 | 3.73 | |
|
MP3 96k LAME
|
1.1 MB Opus 24k の 4.59 倍 | 4.52 |
Opus サンプルは .webm コンテナにロスレス再パッケージして配信しています(libopus のフレーム自体は無変換、ファイルサイズ表記は元の .opus ストリーム実体ベース)。再生はブラウザネイティブの <audio> 要素のみで、外部スクリプト・解析タグ・Cookie は使用していません。
「容量・品質・実装コスト」のバランスを Opus に任せる。
Opus は IETF 標準 (RFC 6716)、Xiph.Org が patent grant により完全にロイヤリティフリーを宣言。出荷本数・タイトル・プラットフォームに関係なく、コーデック使用料は発生しません。商用ゲームでも追加コストなく Opus を出荷できます。
OpusPlay 本体は GitHub で全ソース公開。C# ラッパ・ネイティブビルドスクリプト・CI・ベンチマークまで一式読めるので、ブラックボックスではなく「中で何をしているか」を確認した上で組み込めます。
Opus は IETF 標準コーデックなので、エンコード側は ffmpeg や opus-tools などのオープンソースツールでフル制御できます。ビットレート / VBR モード / MaxBandwidth / フレーム長 / DTX をプロジェクトに合わせて追い込めば、用途ごとに最適なサイズ・品質バランスが作れます。Unity 専用エンコーダや専用 SDK は不要です。
同じ音声品質 (PESQ-WB ≈ 4.3) を出すのに必要なサイズで MP3 / AAC 比およそ 1/3〜1/5。低ビットレート帯の優位が大きく、フルボイスでも配信サイズに収まります。
セリフ間の無音区間をほぼ 0 バイトに。会話劇・実況・チュートリアルなど「間」の多い音源で特に効きます。
全プリセットを ITU-T P.862.2 準拠の PESQ-WB スコアで計測。VoiceLow (24k) で MOS 相当 4.30、Music (96k) で 4.54 と、数値で品質を担保しています。
iOS / Android ではプラットフォーム提供のハードウェアデコーダを経由し、CPU 負荷をほぼゼロに抑えます。
VoiceLow / VoiceHigh / Music など、ビットレートと帯域をまとめて切り替えるプリセットを用意。
長尺の BGM は AudioClip.PCMReaderCallback 経由のストリーミング再生に対応。メモリ常駐量を抑えられます。
すべての非同期 API が CancellationToken 対応。シーン遷移やキャラ切替でも素直にキャンセルできます。
ファイルパスだけでなく byte[] からの直接ロードに対応。AssetBundle / 暗号化済みカスタム配信からも安全に渡せます。
Unity Package Manager から Git URL で導入可能。manifest.json に 1 行追加するだけで使い始められます。
WAV → ffmpeg エンコード → OpusPlay デコード → PCM 比較を CI で実施。SNR/PSNR で品質劣化を継続的に監視しています。
主要 4 プラットフォームは公式サポート、コンソールは個別対応。
iOS 13 以降 (arm64)。AudioToolbox 経由のハードウェアデコードに対応。
API 24 (Android 7) 以降。arm64-v8a / armeabi-v7a。MediaCodec によるハードウェアデコード。
Windows 10 x64。libopus ソフトウェアデコード。
macOS 11 以降 (Universal: arm64 + x86_64)。Editor / Standalone 両対応。
PlayStation 5 / PlayStation 4 / Nintendo Switch / Xbox Series X|S / Xbox One。各プラットフォーム SDK はユーザー側で用意が必要です。
macOS / Windows の Editor 上での開発確認に対応。実機ビルド前のイテレーションを短縮。
Opus コーデック自体はロイヤリティフリー。プラグイン本体は「個人・インディー利用ライセンス(無料)」と「商用ライセンス(有償)」のデュアルライセンスです。境界は 当該年度の総売上 200 万円(日本円)相当。詳細は LICENSE.md を参照してください。
個人による非商用利用、または当該年度の総売上 200 万円未満のタイトル・組織・個人事業による商用利用は無料。著作権表示と本ライセンス文の同梱、ライセンスを改変しないことが条件です。ソースコードの改変・再配布・派生物の作成も許可。
当該年度の総売上 200 万円以上のタイトル・組織・個人事業による利用、および上記に該当しない法人による利用は商用ライセンスが必要。個別契約となるため、お問い合わせ窓口から個別にご相談ください。
libopus / libopusfile / libogg(いずれも BSD-3-Clause, Xiph.Org Foundation)に依存。各ライブラリの詳細なライセンス条文はリポジトリの native/third_party/ 配下、および同梱バイナリ付属のライセンス表記を参照してください。