miyapiのひとりごと

blogこと始め。コンピュータと映画、そしてお酒の好きなmiyapiが気ままに書きつづる日記。。。

コマンドラインでサクっとmp3, wav変換(Linux)

2007-07-08 09:50:59 | Weblog
結論から書くと、これだけ。時間の無い人はどうぞ。。

【 wav を mp3 に変換 】
$ gogo -b 64 hoge.wav hoge.mp3

【 mp3 を wav に変換 】
$ mpg123 -w hoge.wav hoge.mp3

いったい、どういうことなの?っていうと。。。

先日、知人からMDに入ってる曲を mp3 に変換するように頼まれ
て、ちょっとだけ苦労しました。

エイ、面倒だと、手元のmp3プレーヤーで直接 MD から録音して
みたのですが、できあがったファイルのサイズは大きすぎ、なんとか
小さくする必要がありました。

そこで、一旦 wav に戻し、再度小さなビットレートで mp3 に
変換する、という方法をとることにしました。

で、今回は Linux のコマンドラインで mp3 と wav を相互に変換
するのって、どうやればいいの?っていうお話です。

mp3 を wav に変換するには、mpg123 が使いやすいです。

このコマンドは mp3 を再生したり、サウンドのrawデータを標準出力に
書き出したり、wav ファイルを作成したりできます。

mpg123 の ソースは sourceforge から入手できます。

http://sourceforge.net/projects/mpg123/

ちなみに、小生の環境では httpget.c の 739行目 に書いてある以下の
コメントを削除しなければ、うまくコンパイルできませんでした。
う~ん、なんでだろ?

/* #define ACCEPT_HEAD "Accept: audio/mpeg, audio/x-mpegurl, */*rn" */

無事、コンパイルできたら mp3 のファイルを再生してみます。
ちゃんと音が出れば OK。

$ mpg123 hoge.mp3

High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
version 0.62; written and copyright by Michael Hipp and others
free software (LGPL/GPL) without any warranty but with best wishes

Playing MPEG stream 1 of 1: hoge.mp3 ...
MPEG 1.0 layer III, 128 kbits/s, 44100 Hz joint-stereo

mp3 のファイルを wav に変換するオプションは -w です。

【 mp3 を wav に変換 】
$ mpg123 -w hoge.wav hoge.mp3

一方、wav を mp3 に変換するのには、mp3エンコーダが必要です。
小生は 「午後のこーだー」を使いました。 win な環境では定番
ですが、Linux 版のソースも下記のページから配布されています。

http://homepage2.nifty.com/kei-i/

コンパイルしたら、さっそく実行です。
USAGE を見ると、ビットレートの指定は -b オプションです。

[miyapi@Dayan tmp]$ gogo
GOGO-no-coda ver. 3.13 ( May. 20 2004 ) is a mp3 encoder based on lame 3.88,
which is distributed under LGPL on http://www.mp3dev.org/mp3/ .
See http://member.nifty.ne.jp/~pen/ ,
http://homepage1.nifty.com/herumi/gogo_e.html .
USAGE
gogo [options] input.wav [output.mp3]
if input.wav is `stdin' then GOGO reads from stdin.
-b [kbps] bitrate

なので、wav から ビットレートを指定して mp3 に変換するには、
以下のようにやればOKです。ビットレートを 64Kbips にすれば、
とりあえず聞ける音質で、サイズもお手頃なものになります。

【 wav を mp3 に変換 】
$ gogo -b 64 hoge.wav hoge.mp3

今どき、コマンドでこんなことをする人は居ないと思いますが、
上記のような方法を知っていると、複数のファイルをまとめて
処理したい時に、簡単なシェルスクリプトで一発変換でき、
とっても便利です。

れっつとらいりなっくす!

最新の画像もっと見る

コメントを投稿