mruopus.dll は、Ogg Opus 形式の音声ファイルを再生・エンコードするための Windows 用ダイナミックリンクライブラリ (DLL) です。
ゲーム・デスクトップアプリケーション・ツール等への組み込みを想定して設計されており、C ABI (extern "C") による呼び出しに対応しているため、C / C++ をはじめ LoadLibrary による動的ロードが可能な言語から幅広く利用できます。
デコード / 再生に libopus + libopusfile を、エンコードに libopus + libogg を使用し、RFC 3533 / RFC 7845 に準拠した Ogg Opus ストリームを扱います。SIMD 最適化(MMX / SSE2 / AVX2 / AVX512)により高効率な PCM 変換を実現します。
🎵
再生 (OpusPlayer)
ファイルパス / メモリバッファ対応。ループ / A-B リピート / シームレスループ、音量・ミュート・パン制御、フェードイン / アウト(3 カーブ)、再生速度変更(WSOLA / PhaseVocoder)に対応。
🔀
クロスフェード (OpusCrossfade)
2 トラック間のシームレスなクロスフェード切り替え。フェード時間をミリ秒単位で指定。専用スレッドによる線形補間音量制御。
🎮
効果音プール (OpusSePool)
複数の効果音を同時再生するボイスプール。優先度付き割り当てで空きなし時は最低優先度ボイスを置き換え。ボイス単位の音量制御。
🎛️
エンコード (OpusEncoder)
float PCM → Ogg Opus パケット変換。OpusHead + OpusTags ヘッダ生成。Ogg ファイルへの直接書き出し。ビットレート / フレームサイズ / アプリモード設定。
🔊
出力デバイス (PcmOutput)
WASAPI 共有モード(優先)/ 排他モード(オプション)/ WaveOut(フォールバック)。デフォルトデバイス切替時の自動再初期化。
⚡
SIMD 最適化
CPU 自動検出(Scalar / MMX / SSE2 / AVX2 / AVX512)。PCM 音量適用・float→int16 変換の SIMD 高速化。
mruopus_v1.0.0.0/
│
├── README.html / .txt← このファイル(スタート地点)
│
│ ── ドキュメント ────────────────────────────────────────────────
├── html/
│ ├── USAGE.html / .txt← 使い方ガイド(API 早見表・サンプル実行方法)
│ └── LICENSE.html / .txt← ライセンス・サードパーティ表記
│
│ ── 実行用環境 ──────────────────────────────────────────────────
├── bin/
│ ├── mruopus.dll← 本体 DLL(必須)
│ ├── mruopus_sample.exe← ビルド済みサンプル実行ファイル
│ ├── run_sample.bat← 起動バッチ(D&D 対応)
│ ├── bgm.opus← サンプル BGM(Pixel Adventure)
│ ├── se.opus← サンプル SE(Hit)
│ └── next.opus← クロスフェード先 BGM(Pixel Quest)
│
│ ── サンプルプロジェクト ────────────────────────────────────────
└── sample/
├── include/
│ └── OpusDllExports.h← 公開 C API ヘッダ
├── src/
│ └── mruopus_sample.cpp← サンプルソース
└── project/
├── VC2022/← Visual Studio 2022 用
│ ├── mruopus_sample.sln
│ ├── mruopus_sample.vcxproj
│ └── ...
└── VC2026/← Visual Studio 2026 用
├── mruopus_sample.slnx
├── mruopus_sample.vcxproj
└── ...