wavファイルの波形を見てみる

改行区切りテキストで吐き出してExcelでグラフにすると見れる

dump wavfile


ruby dumpWav.rb sound.wav dump.txt
pbcopy < dump.txt

macはpbcopyでファイルをクリップボードに読み込める


dumpWav.rb
http://shokai.org/projects/ruby-wavfile/index.cgi/file/0971a11a4fd6/dumpWav.rb

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'WavFile'

if ARGV.size < 2
  puts 'ruby dumpWav.rb input.wav dump.txt'
  exit 1
end

format, chunks = WavFile::readAll open(ARGV[0])
puts format.to_s
chunks.each{|c|
  puts "chunk - #{c.name} #{c.size}"
  dataChunk = c if c.name == 'data'
}

bit = 's*' if format.bitPerSample == 16 # int16_t
bit = 'c*' if format.bitPerSample == 8 # signed char
wavs = dataChunk.data.unpack(bit) # 16bit or 8bitずつbinaryから読み出し

open(ARGV[1],'w'){|dump|
  wavs.each{|i|
    dump.puts i
    puts i
  }
}
puts wavs.size