wavとmp3を相互に変換するスクリプトです。

FFmpegで変換するのでインストールします。Macの場合は、Homebrewで入れるのが簡単。

% brew install ffmpeg
#!/usr/bin/env ruby
 
def usage
  $stderr.puts "usage: wavmp3 file [file ...]"
  exit 1
end
 
usage if ARGV.size < 1
 
ARGV.each do |f|
  /(\..+?)$/ =~ f 
  next if $1.nil?
  case $1.downcase
  when ".mp3"
    d =f.sub(/\..+?$/, ".wav")
    system %!ffmpeg -i "#{f}" -vn -ac 2 -ar 44100 -acodec pcm_s16le -f wav "#{d}"!
  when ".wav"    
    d =f.sub(/\..+?$/, ".mp3")
    system %!ffmpeg -i "#{f}" -vn -ac 2 -ar 44100 -ab 192k -acodec libmp3lame -f mp3 "#{d}"!
  end
end

パスが通っているディレクトへスクリプトを置きchmod +x して、

% wavmp3.rb foo.wav # foo.mp3が生成される
$ wavmp3.rb bar.mp3 # bar.wavが生成される

のように使います。

mp3の音源をDAWで使うため、wavに変換したいケースがあるのですが、ffmpegのパラメタを覚えてられないのでスクリプト化して、ここへメモしとく。