OpusConverter 0.01を公開

というわけで新作です。opusの記事に絡めてなんとopusの変換プログラムを作ってみました。ADVゲームでopusを使うためにも一気に変換できるプログラムがないとな~というわけですね。プログラムはソフトウェアの部屋で公開しています。

 

変換プログラムはごく単純なもの

ドラッグ&ドロップで変換を開始するものです。動作そのものは某vorbisの変換プログラムを参考にしています。一応変換元としては通常の無圧縮Waveファイルであれば受け付けられるはずです。サウンドチャンネル数もデフォルトは2以下なのですが、変換の方法によってはチャンネル数を保っても大丈夫なのでそちらを使っています。

面倒だったのは変換時のオプションとして何がどう作用するのか日本語として意味が通る形に翻訳した後に有効にするものと無効にするものをどうするか?という問題とopusは基本的に48kHzをサンプリング周波数として使うため、44.1kHzとかなり仲が悪いのですよね。そのためにサンプリング変換ライブラリも同じものを使うことにして・・・。

 

サンプリング周波数変換ライブラリのためにライセンスがGPLに

ライブラリがLGPLのものを使用したため、親プログラムもGPLを使うことにしました。たぶん私が作ったプログラムの中では初めてGPLを採用したプログラムです。コードもちゃんと同梱してあります。が、GPLを使用することを前提にしたので自前のライブラリを使うことができないんですよね。そこまでGPLの影響が及んではしゃれにならない。というわけでこのプログラムのコードは全くの別物として書かれています。私が書いた別のプログラムのコードとは関係はありませんし、さらにはこのために気分が乗ってしまい久しぶりにSTLを一切使わずにプログラムを組んでいます。stringとかvectorとかを使わないで書くのに苦労しました。

 

あとはopusをほかのプログラムで簡単に使用できるようにすることかな

あり得そうなのは吉里吉里のvorbis再生のライブラリのようにプラグインを作って「これで再生できますよ~」といえば多少は使われるかな?という感じです。
まあここまでvorbisが浸透しているのでほとんど見向きもされないでしょうけれどもね・・・。一応128kbps以下であればmp3やvorbisよりも音質がいいですし、基本的に音声圧縮がうまいアルゴリズムを採用していることもあり、たぶん音声パートでは(設定さえ間違えなければ)vorbisよりも有利だと考えています。音楽パートはほぼ互角でしょうか。低遅延の特性もそこまで強みにならないでしょうからね。

あとはリソースをすべて英語にしたものを作って英語に対応したり、変換元を無圧縮Wave以外にも対応するなどいろいろと改良点はありそうですが、そのあたりはまた要望をいただいた上で考えます、ということで。

 


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この記事のトラックバック用URL