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を使える環境を用意すれば、出力ファイル名をもっと細かく指定したり、ファイルごとに設定を変えたり、みたいなことが手軽にできそうですよね。
使用するコーデックを変えるとサンプリングレートをもっと上げたりできるのでやってみたのですが、自分の携帯プレイヤーは対応していませんでした。。。
とにかく、これでいつでもどこでも手軽に音楽を楽しめるようになりました♪