wavファイルのヘッダを読み込む
参考
readHeader.rb
#!/usr/bin/env ruby if ARGV.size < 1 puts 'ruby readHeader.rb input.wav' exit 1 end File.open(ARGV.first){|file| file.binmode puts riff = file.read(4) puts data_size = file.read(4).unpack('V').first puts wave = file.read(4) if riff != 'RIFF' or wave != 'WAVE' puts 'not wave file' exit 1 end while !file.eof? id = file.read(4) chunk_size = file.read(4).unpack('V').first data = file.read(chunk_size) puts "chunk id: #{id}, size: #{chunk_size}" end }
実行
ruby readHeader.rb ~/test.wav
結果
RIFF 51858468 WAVE chunk id: fmt , size: 16 chunk id: data, size: 51858432