OggVorbisのエンコード方法

Ogg Vorbisはmp3やTwinVQ、AACなどと同じ非可逆音声圧縮フォーマットである。パテントフリーであるという特徴があり、音声圧縮コーデックとしての性能は、特に低ビットレートにおける音質が高く評価されている。

本ページでは、音声データをOgg Vorbis形式に変換する方法やエンコーダの設定などについて紹介する。

1. CDexを用いたCD→Ogg Vorbis変換

1.1. 変換に必要なソフトウェア

*ファイル名はバージョンなどによって異なる.

CDex
(cdex_151.zip)
音楽CDからの音声エンコードまでの作業を一括して行うソフトウェア.
Ogg VorbisのDLLが初めから同梱されている.
英語ソフトウェアだが,次項のLanguageFileを適用することで日本語化できる.
CDexの日本語LanguageFile
(japanese151.zip)
CDexの公式日本語LanguageFileを配布している.
また,CDexの使い方を丁寧に説明している.
Ogg Vorbis DLL
(oggvorbis-dllsaoTuVb4.51.zip)
Ogg VorbisのDLLを配布している.最新のOgg Vorbisでエンコードしたいときなどに利用する.



CDexには既にOgg VorbisのDLLファイルが同梱されているため,
基本的にはCDexのみがあれば音楽CDからOgg Vorbisへのエンコードが可能である.
ただし,最新版のエンコーダを使いたい場合などにはDLLを差し替える必要がある.



1.2. インストール

  • CDex,CDexの日本語LanguageFileをダウンロードする.
  • CDexを適切なフォルダに解凍する.(例 c:\Application\cdex\)
  • CDex用の日本語LanguageFileを解凍し,japanese.cdex.langを,CDexの「lang」フォルダにコピーする.

(DLLを差し替える場合)

  • 所望のDLLをダウンロードする.
  • ファイルを解凍し,DLLファイル群をCDexと同じフォルダにコピーする.


1.3. 設定

  • CDexを起動し,メニューより[Option][Select Language][japanese]を選択する.
  • メニューから[オプション][設定]を選択し,[エンコーダ]タブを開く.

    ![](http://yamaken.tokyo/wp-content/uploads/2019/03/ogg_cdex-300x177.png)

  • 上図にように,エンコーダを「Ogg Vorbis DLL Encoder」とする.
  • 音質設定最適化のバーでVBRのクオリティを調整する.数値が高いほど大容量・高音質となる.

また,音楽CDのアルバム名,曲名,アーティスト名の情報を日本語で取得するための
データベースサーバが公開されているので,これを利用するために以下の設定をしておく.

  • [オプション][設定]の[リモートCDDB]タブを開く.

    ![](http://yamaken.tokyo/wp-content/uploads/2019/03/cdex_cddb-300x187.png)

  • 「サーバーを追加」ボタンを押し,サーバーアドレスとして「freedbtest.dyndns.org」を入力,
    E-mailアドレスの欄に適当なアドレスを入力する.

(注)

CDexの起動の際に
「Failed to load the wnaspi32.dll driver!
Use the "Native NT SCSI library" driver option instead?」
のメッセージ(下図)が出る場合は「はい」を選べばよい.


 1.4. エンコード手順


  • CDexを起動する.
  • 音楽CDをCD-ROMドライブに挿入する.自動的にトラックが読み込まれる.
  • メニューから[CDDB][リモートCDDBから読み込み]を実行する.
    CDDBデータベースに存在するCDであれば,自動的に曲名などのデータが表示される.
  • メニューから[変換][CDをMPEGに]を実行すると,変換処理が始まる.


 2. CDex+OggEncによるCD→Ogg Vorbis変換


 2.1. 変換に必要なソフトウェア


*ファイル名はバージョンなどによって異なる.

CDex
(cdex_151.zip)
音楽CDからの音声エンコードまでの作業を一括して行うソフトウェア.
英語ソフトウェアだが,次項のLanguageFileを適用することで日本語化できる.
CDexの日本語LanguageFile
(japanese151.zip)
CDexの公式日本語LanguageFileを配布している.
OggEnc
(oggenc2.8-aoTuVb4.51generic.zip)
コマンドベースのOgg Vorbisエンコーダ,OggEncを配布している.





 2.2. インストール


  • CDex,CDexの日本語LanguageFile,OggEncをダウンロードする.
  • CDexを適切なフォルダに解凍する.(例 c:\Application\cdex\)
  • CDex用の日本語LanguageFileを解凍し,japanese.cdex.langを,CDexの「lang」フォルダにコピーする.
  • OggEncを適切なフォルダに解凍する.(例 c:\Application\oggenc\)


 2.3. 設定


  • CDexを起動し,メニューより[Option][Select Language][japanese]を選択する.
  • メニューから[オプション][設定]を選択し,[エンコーダ]タブを開く.

    ![](http://yamaken.tokyo/wp-content/uploads/2019/03/cdex_oggenc-300x187.png)

  • 上図にように,エンコーダを「External Encoder」とし,エンコーダパスにoggencのパスを指定する.
  • oggencのオプションを入力する.例:-q 4 -a "%a" -l "%b" -N "%tn" -t "%t" -n "%n - %t .ogg" -o "%2" "%1" OggEncコマンドラインオプション
  • 「拡張子」をoggとする.

 また,音楽CDのアルバム名,曲名,アーティスト名の情報を日本語で取得するための
データベースサーバが公開されているので,これを利用するために以下の設定をしておく.

  • [オプション][設定]の[リモートCDDB]タブを開く.

    ![](http://yamaken.tokyo/wp-content/uploads/2019/03/cdex_cddb-300x187.png)

  • 「サーバーを追加」ボタンを押し,サーバーアドレスとして「freedbtest.dyndns.org」を入力,
    E-mailアドレスの欄に適当なアドレスを入力する.

(注)

CDexの起動の際に
「Failed to load the wnaspi32.dll driver!
Use the "Native NT SCSI library" driver option instead?」
のメッセージ(下図)が出る場合は「はい」を選べばよい.


 2.4. エンコード手順


  • CDexを起動する.
  • 音楽CDをCD-ROMドライブに挿入する.自動的にトラックが読み込まれる.
  • メニューから[CDDB][リモートCDDBから読み込み]を実行する.
    CDDBデータベースに存在するCDであれば,自動的に曲名などのデータが表示される.
  • メニューから[変換][CDをMPEGに]を実行すると,変換処理が始まる.


 3. OggDropXPdによるwav/FLAC→Ogg Vorbis変換


 3.1. 変換に必要なソフトウェア


*ファイル名はバージョンなどによって異なる.

OggDropXPd
(oggdropXPdV1.8.9-aoTuVb5.zip)
簡単かつ高機能なエンコーダ,OggDropXPdを配布している.



 OggDropXPdはwavファイルの他,LPAC,APE,FLAC形式のファイルも入力可能なため,
FLACなどの可逆圧縮で保存してある音声を直接Ogg Vorbisに変換することができる.



 3.2. インストール


  • OggDropXPdをダウンロードする.
  • 適当なフォルダに圧縮ファイルを解凍する.(例 c:\Application\oggdropxpd\)


 3.3. 設定


  • OggDropXPdを起動する.
  • Window内で右クリック[Encoding Option]を開き,クオリティを指定する.

    ![](http://yamaken.tokyo/wp-content/uploads/2019/03/ogg_dropmain.png)

    ![](http://yamaken.tokyo/wp-content/uploads/2019/03/ogg_dropoption-300x258.png)

(FLACファイルを入力する場合)

FLACのタグ情報(タイトル,アーティスト名など)をOgg Vorbisファイルに反映させたい場合には,
右クリック[Tagging, File Renaming, Playlist Creation]を開き,
「Copy Comments/Tags from FLAC input file」にチェックを入れる.

(注)

「libmmd.dllが見つからなかったため、このアプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題は解決される場合があります。」
という表示が現れた場合は,OggDropXPdを配布している上記URLにて
libmmd.dllをダウンロードし,OggDropXPdと同じフォルダにコピーすることで解決する.



 3.4. エンコード手順



魚の絵の所にwav(FLAC)ファイルをドラッグ&ドロップするとエンコードが開始される.
デフォルトでは入力ファイルと同じフォルダにoggファイルが作成されるが,
右クリック[Select Output Directory]で保存先を指定することができる.



 4. 【参考】OggEncによるwav→Ogg Vorbis変換


 4.1. 変換に必要なソフトウェア


*ファイル名はバージョンなどによって異なる.

OggEnc
(oggenc2.8-aoTuVb4.51generic.zip)
コマンドベースのOgg Vorbisエンコーダ,OggEncを配布している.





 4.2. インストール


  • OggEncをダウンロードする.
  • 適当なフォルダに圧縮ファイルを解凍する.(例 c:\Application\oggenc\)


 4.3. エンコード方法



コマンドラインから

oggenc2 [オプション] input.wav

のように実行する.



4.4. OggEnc2.3コマンドラインオプション


( )内はデフォルト値


ヘルプはDOSプロンプトで

oggenc2 -h > oggenc_help.txt

などとすればファイルに出力できる.



基本的な使い方:

oggenc2 [options] input.wav [...]


エンコードオプション

-Q or --quiet 標準エラーに何も出力しない.
-h or --help ヘルプを表示する.
-r or --raw raw PCMモードオプション.入力ファイルは直接PCMデータとして読み込まれる.
-B n or --raw-bits=n raw PCM モードでの量子化ビット数を指定する.(16)
-C n or --raw-chan=n raw PCM モードでのチャンネル数を指定する.(2)
-R n or --raw-rate=n raw PCM モードでのサンプリング周波数を指定する.(44100)
--raw-endianness big endianの場合は1,little endianの場合は0を指定する.(0)CPUがデータにアクセスする際のアドレスの振り方の事をendian(endianness)という.歴史的にMotorolaのCPUはbig endianを採用してきており,IntelのCPUはlittle endianを採用してきている.
-b or --bitrate 平均ビットレートを指定する.(単位はkbps.)-bオプションは推奨されていない.-qオプションを使うことが推奨されている.
-m or --min-bitrate 最小ビットレートを指定する.
-M or --max-bitrate 最大ビットレートを指定する.
-q or --quality 0-10でクオリティーを指定する.0が最も低品質,10が最も高品質.2.75のような細かい指定も可能.-1という指定も可能だが,耐えうる品質ではないかもしれない.
--resample n n[Hz]でサンプリングする.
--downmix ステレオをモノラルにする.ステレオ入力の場合のみのオプション.
--scale n 入力データの音量をn(n=0.00~1.00)倍する.
-s or --serial ストリームのシリアルナンバーを指定する.複数ファイルをエンコードする場合,最初のファイルに続いてシリアルナンバーが1つずつ増える.



ネーミングオプション

-o fn or --output=fn 出力ファイル名を指定する.(入力ファイルが1つの場合のみ.)
-n string or --names=string 出力を指定の書式に従ったファイル名にする.%a(アーティスト名), %t(タイトル), %l(アルバム名), %n(トラック番号), %d(日付)を使用できる.%は「%%」で表す.
-X s or --name-remove=s 指定する文字を-nで指定した書式から除く.利用するファイルシステムで正しいファイル名を生成したいときに使用.(プラットフォームに依存)
-P s or --name-replace=s -Xオプションで除いた文字を本オプションの文字列と置換する.指定した文字列が-Xオプションのものより短かったり,本オプションを指定しなかった場合は,余分な文字列が単純に除かれる.(プラットフォームに依存)
-c c or --comment=c 指定した文字列をコメントとして指定する.複数指定可能.
-d or --date 日付
-N or --tracknum トラック番号
-t or --title タイトル
-l or --album アルバム名
-a or --artist アーティスト名
-G or --genre ジャンル




 複数ファイルを入力したときは,上記5個のオプションを一括して指定できる.
この場合,指定した順番に適用される.
入力ファイルよりも少ない数のタイトルが指定された場合は
警告が出るが,最後に指定したタイトルを残りのファイルにつける.
少ない数のトラック番号が指定された場合は,残りのファイルにはトラック番号がつかない.
その他のオプションにおいては,最後に指定したオプションが残りのファイルに適用される.



 入力ファイルとしては32bit,24bit,16bit,8bitのPCM wav,AIFF,AIFF/C,
32bit浮動小数点のwavファイルを扱うことができ,
モノラルあるいはステレオ(またはより多くのチャンネル) の
各種サンプリング周波数に対応している.
また,このバージョンではFLAC,Monkey's Audio,WAVPACK,LAPC,
,OPTIMFROG,SHORTEN形式のファイルを扱うことが可能である.



 --raw オプションをつけることによってraw PCMを使用することができる.
--raw関連のオプションを指定しない場合,
入力のraw PCMは16bitステレオ、little endianのPCM(ヘッダなしwav)である必要がある.



 入力ファイル名として - を指定することにより,
入力を標準入力から取得することができる.
この場合,-oで出力ファイル名を指定しなければ
出力は標準出力になる.