Linux環境で色々な形式の音声ファイルを無圧縮のWAVE形式に変換する

Last modified: 2021-08-26

ここでは、Linux環境において色々な形式の音声ファイルを無圧縮のWAVE形式に変換するための作業についてを扱う。

Audaciousを使用する方法 (GUI)

GUIオーディオプレーヤのAudaciousで再生できる形式のファイルは、以下のようにすることでWAVE形式で書き出すことができる。

設定

設定ダイアログを開き、“オーディオ - 出力の設定 - 出力プラグイン” を “ファイル出力プラグイン” 1にする。

その後、隣にある “設定” ボタンを押して出力プラグインの設定ダイアログを開き、“出力ファイルフォーマット” を “WAV” にする(MP3,Vorbis,FLACも選択可)。

このダイアログには、再生したファイルが書き出されるディレクトリやファイル名に関する設定項目もあるので、好みで設定する。保存先ディレクトリが決まっている場合などに指定するとよい。

書き出し

“ファイル出力プラグイン” (旧FileWriter)が選択されている状態で変換したいファイルをプレイリストに登録して再生する操作を行うと、音が出ない代わりにWAVE形式のファイルが保存されていく。

再びプレーヤとして使うには上の “設定” で出力プラグインを元(PulseAudioなどへの出力の項目)に戻す。

FFmpegを使用する方法 (コマンド)

FFmpegが読み込み可能なコーデックとコンテナ形式のオーディオファイル(動画可)に対して出力ファイルの拡張子を “.wav” とすることでWAVE形式に変換することができる。

$ ffmpeg -i [入力ファイル] [出力ファイル].wav

出力ファイルの拡張子が.wavであればよく、オプションによる細かい指定は必要ない。

Wine上のfoobar2000を使用する方法 (GUI)

Wineにオーディオプレーヤのfoobar2000をインストールして内蔵の “変換” 機能を用いることで、foobar2000が対応する形式(追加コンポーネントによるものも含む)のオーディオファイルをWAVE形式に変換することができる。

インストーラの実行は、場合によってはコマンドでの作業となり、foobar2000自体はGUIの作業となる。

foobar2000を起動したら以下の流れで作業することでWAVE形式への変換処理が行われる。

  1. 変換したいファイルをプレイリストに読み込む
  2. プレイリストビュー内のファイルの項目のコンテキストメニュー “Convert - Quick convert” を選択
  3. ダイアログで “WAV” を選択して “Convert” ボタンを押す
  4. ファイル選択ダイアログで保存場所とファイル名を決めて “保存” を押す

保存先を毎回指定するのはファイル数が多いときに大変なので、以下の流れでプリセットを作成すると便利。

  1. コンテキストメニュー項目 “Convert - …” を選択
  2. “Current settings” で “WAV” が出力形式に選択された状態で “Destination” の文字をクリック
  3. 保存先やそのファイル名に関してを好みで設定し、“Back” を押して戻って “Save<<” を押して好みの名前を付ける

プリセットの作成後はコンテキストメニュー項目 “Convert - [プリセット名]” を選択することで、その設定で変換ができるようになる。

他の方法

他の方法の例として、音声ファイル編集ソフトウェアのAudacityにはFFmpegのライブラリを用いて幅広い形式の音声ファイルをインポートする機能があり、Linuxディストリビューションが提供するパッケージではこの機能が有効化されていることが多い。

ファイルを開いたら、それをWAVE形式で書き出せばよい。

この方法は手動での作業が多く、処理対象のファイルが多い場合には向かない。

これ以外だと

  • FFmpegのGUIフロントエンドのどれかを使う
  • FFmpegを利用してまとめて変換処理を行うシェルスクリプトを書いて実行する

など色々な方法が考えられる。

  • 使用したバージョン
    • Audacious 3.2.3, 4.0.5
    • Audacity 2.4.2
    • FFmpeg 1.2, 4.3.1
    • Wine 1.4.1, 5.0.5
    • foobar2000 1.2.3, 1.6.7

  1. 記事公開時点での名前は “FileWriter” となっていた ↩︎