class Diapason::Sound::WaveFileWriter
Attributes
sample_rate[RW]
Public Class Methods
new(sample_rate = 44100)
click to toggle source
# File lib/diapason/sound/wave_file_writer.rb, line 6 def initialize(sample_rate = 44100) @sample_rate = sample_rate.to_f end
Public Instance Methods
buffer(samples)
click to toggle source
# File lib/diapason/sound/wave_file_writer.rb, line 18 def buffer(samples) WaveFile::Buffer.new(samples, format(:float)) end
format(sample_format)
click to toggle source
# File lib/diapason/sound/wave_file_writer.rb, line 22 def format(sample_format) WaveFile::Format.new(:mono, sample_format, sample_rate) end
write_samples(samples, path)
click to toggle source
# File lib/diapason/sound/wave_file_writer.rb, line 10 def write_samples(samples, path) wave_file = WaveFile::Writer.new(path, format(:pcm_16)) do |writer| writer.write(buffer(samples)) end File.new(wave_file.file_name) end