Linux Mint で aoTuV をソースコードからコンパイルする

Linux

需要はあまりないとは思いますが、備忘録として書き残しておきます。

端末を開いて「sudo apt install vorbis-tools」とタイプして実行すればすぐに使えるようになりますが、それだとつまらないので、ここでは libvorbis ではなく aoTuV を利用する手順を紹介したいと思います。

環境は Linux Mint 21.2 “Victoria” MATE Edition 64bit です。

aoTuVについて

aoTuV (aoyumi Tuned Vorbis) とは、日本人である蒼弓(あおゆみ)さんがチューニング・開発・配布を行っている Vorbis エンコーダです。公式の Vorbis よりも高音質であることもあり、実際に aoTuV の成果が公式の libvorbis に統合(マージ)されたりもしています。

ここ10年の更新は脆弱性やバグの修正が主であり、音質に関わる変更は行われていないみたいです。ソースコード及びバイナリは、修正BSDライセンス (3条項BSDライセンス) で配布されており、商用・非商用に関係なくライセンス料を支払うことなく使用・配布することが可能です。

このことから、PCゲームを中心に Vorbis が使われていることも多いです。

vorbis toolsのコンパイルに必要なもの(依存関係)をインストールする

libcurl と libao のインストール

端末から Vorbis の音声ファイルを再生するには ogg123 (後述するvorbis toolsに含まれる) が必要ですが、その ogg123 のインストールには libcurl と libao が必要になるので、以下のコマンドを実行します。

$ sudo apt install libcurl4-openssl-dev libao-dev

liboggをソースコードからインストールする

libogg は、oggenc (エンコーダ)をコンパイルするのに必要となります。2023年11月05日現在、最新版は バージョン 1.3.5 です。

$ wget -O libogg-1.3.5.tar.gz https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.gz
$ tar -zxvf libogg-1.3.5.tar.gz
$ cd libogg-1.3.5

$ ./configure 
$ make
$ sudo make install
$ cd

aoTuV (libvorbis) のインストール

libogg と同じように aoTuV (libvorbis) も oggenc のコンパイルに必要です。2023年11月05日現在、最新版は aoTuV Beta 6.03 (2020) です。

$ git clone https://github.com/AO-Yumi/vorbis_aotuv.git
$ cd vorbis_aotuv

$ sudo chmod +x configure
$ ./configure
$ make
$ sudo make install
$ cd

wav だけでなく flac や speex の読み込みにも対応する

通常、oggencが読み込めるファイルは 16bit PCM のwavファイルのみですが、flac や speex といった形式の読み込みにも対応できます。必須ではありませんが、手順を紹介します。

flacのインストール

2023年11月05日現在、最新版は バージョン 1.4.3 です。

$ wget https://ftp.osuosl.org/pub/xiph/releases/flac/flac-1.4.3.tar.xz
$ tar -Jxvf flac-1.4.3.tar.xz
$ cd flac-1.4.3

$ LD_FLAGS="-L/usr/local/lib" ./configure
$ make && make check
$ sudo make install
$ cd

ちなみに ./configure 時に LD_FLAGS=”-L/usr/local/lib” を指定しないと oggenc を実行した際に oggenc: error while loading shared libraries: libFLAC.so.12: cannot open shared object file: No such file or directory というエラーが出ます。これは oggenc が libFLAC.so.12 を見つけられないために起こるエラーです。

speexのインストール

2023年11月05日現在、最新版は バージョン 1.2.1 です。

$ wget http://downloads.xiph.org/releases/speex/speex-1.2.1.tar.gz
$ tar -zxvf speex-1.2.1.tar.gz
$ cd speex-1.2.1

$ ./configure
$ make
$ sudo make install
$ cd

vorbis tools のインストール

vorbis tools とは、ogg形式のファイルを端末上から扱うためのプログラム一式です。

エンコーダーである oggenc やデコーダーである oggdec、ogg形式のファイルを再生する ogg123、oggファイルを分割する vcut、oggファイルの情報を取得する ogginfo などから構成されています。

vorbis tools のコンパイル

2023年11月05日現在、最新版は バージョン 1.4.2 です。

$ git clone https://github.com/xiph/vorbis-tools.git
$ cd vorbis-tools
$ ./configure
$ make
$ sudo make install

$ sudo chmod +x /usr/local/bin/oggenc
$ cd

以上で、コンパイル・インストール作業は完了となります。

動作を確認する

インストールされたディレクトリの確認

以下のコマンドを実行して、ちゃんとインストールされたか確認します。

$ which oggenc

以下の画像のように /usr/local/bin/oggenc と表示されたら、問題なくインストールされています。

oggencを実際に実行する

まず以下のコマンドを実行して、ヘルプ (英語) を表示させてみます。ヘッダー部分に using encoder aoTuV Beta 6.03 (2020) とあり aoTuV を ogg vorbis のエンコーダーとして使っているのが分かります。

$ oggenc -h

音声ファイルをOgg Vorbisに変換する

実際に、音楽ファイルを Ogg Vorbis に変換してみます。コマンド構文は以下の通りです。

$ oggenc [options] [InputFileName]

何もオプションを指定しなければデフォルト値である VBR -q2 (96kbps相当) が自動的に指定されます。以下の例では デスクトップ上の smooooch.flacsmooooch.ogg に変換しデスクトップに出力しています。

$ oggenc ./Desktop/smooooch.flac

Ogg Vorbisファイルの再生

先ほどデスクトップ上に出力したOgg Vorbisファイル「smooooch.ogg」をogg123で端末から再生してみます。

$ ogg123 ./Desktop/smooooch.ogg

公式サイト様や関連サイト様、参考にさせていただいたサイト様

Vorbisの公式サイト

https://xiph.org/vorbis/

aoTuVの公式サイト

aoTuV
aoTuV - Ogg Vorbis Encoder

aoTuVを開発している蒼弓さんのブログ

Aoyumi Notes
蒼弓BLOG

海外の Ogg Vorbis フォーラム (hydrogenaudio)

Ogg Vorbis - General
Ogg Vorbis - General
.Ogg Vorbis aotuv
.Ogg Vorbis aotuv

各種ライブラリのGitHub

GitHub - AO-Yumi/vorbis_aotuv: "aoTuV" is library for encoding and decoding of OggVorbis
"aoTuV" is library for encoding and decoding of OggVorbis - AO-Yumi/vorbis_aotuv
GitHub - xiph/vorbis-tools: Command-line tools for creating and playing Ogg Vorbis files.
Command-line tools for creating and playing Ogg Vorbis files. - xiph/vorbis-tools
GitHub - xiph/flac: Free Lossless Audio Codec
Free Lossless Audio Codec. Contribute to xiph/flac development by creating an account on GitHub.

コメント