her.esy.fun/src/Scratch/en/blog/2010-10-14-Fun-with-wav/code/wavsum.rb
2021-04-18 12:23:24 +02:00

12 lines
362 B
Ruby

data = ARGF.read
keys = %w[id totallength wavefmt format
pcm channels frequency bytes_per_second
bytes_by_capture bits_per_sample
data bytes_in_data sum
]
values = data.unpack 'Z4 i Z8 i s s i i s s Z4 i s*'
sum = values.drop(12).map(&:abs).inject(:+)
keys.zip(values.take(12) << sum) {|k, v|
puts "#{k.ljust 17}: #{v}"
}