アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

wavをwmaに変換

こんにちは、牧野です。今回はtechネタでいいのが思いつかなかったので、日常ブログです。

先日、携帯音楽プレイヤーで聴くためにリニアPCMのwavファイルをwmaに変換しました。
ちなみに、今使っているプレイヤーはwmaとmp3くらいにしか対応していません。。。

今回、変換に使用したソフトは「Windows Media エンコーダー」です。

Microsoftのホームページでダウンロードできます。
http://www.microsoft.com/japan/windows/windowsmedia/download/default.aspx

このソフト、無料で使えて、ビットレート等を細かく指定できるなど意外と(^^;高機能で、なかなかいいです。
しかも、コマンドラインで使用することもできます。
GUIだと1つずつファイルを指定して変換していく必要があるのですが、コマンドラインだとディレクトリ指定で変換できます。

コマンドラインでの使い方を簡単に紹介すると



cscript "C:\Program Files\Windows Media Components\Encoder\WMCmd.vbs" (オプションいろいろ)


cscriptの直後は、エンコーダーがインストールされているフォルダ内のWMCmd.vbsを指定します。

主なオプション


-input 入力ファイル、または入力ファイルがあるディレクトリ
-output 出力ファイル、または出力ファイルがあるディレクトリ
-a_codec 圧縮に使用するコーデック。デフォルトではWindows Media Audio 9
-a_mode 使用するオーディオエンコーディングのモード
  0: 1-pass 固定ビットレート
  1: 2-pass 固定ビットレート
  2: 品質ベースの可変ビットレート
  3: ビットレートベースの可変ビットレート(2-pass)
  4: ビットレートベースのピーク指定可変ビットレート(2-pass)
-a_setting ビットレート、サンプリングレート、チャンネル数を指定


2-passは一度全体を分析してから圧縮するらしいです。
他にもいろいろオプションがあり、



cscript "C:\Program Files\Windows Media Components\Encoder\WMCmd.vbs"


や、マニュアルで確認できます。

実際のコマンド例は次のような感じです。



cscript "C:\Program Files\Windows Media Components\Encoder\WMCmd.vbs" -a_mode 1 -a_setting 192_48_2 -input C:\test_pcm -output C:\test_wma


このコマンドを実行すると、test_pcmディレクトリにあるファイルがビットレート192kbps、サンプリングレート48kHz、2チャンネルのwmaファイルに変換され、test_wmaディレクトリに保存されます。



ちょっとひと工夫して、例えばphpを使える環境を用意すれば、出力ファイル名をもっと細かく指定したり、ファイルごとに設定を変えたり、みたいなことが手軽にできそうですよね。

使用するコーデックを変えるとサンプリングレートをもっと上げたりできるのでやってみたのですが、自分の携帯プレイヤーは対応していませんでした。。。

とにかく、これでいつでもどこでも手軽に音楽を楽しめるようになりました♪