Module: WavTool

Includes:
WaveFile
Included in:
V2av
Defined in:
lib/v2av.rb

Instance Method Summary collapse

Instance Method Details

#ogg_to_wav(oggfile, wavfile = oggfile.sub(/\.ogg$/,'.wav')) ⇒ Object



44
45
46
47
48
49
50
51
52
# File 'lib/v2av.rb', line 44

def ogg_to_wav(oggfile, wavfile=oggfile.sub(/\.ogg$/,'.wav'))
  
  if block_given? then
    yield(oggfile)
  else
  `oggdec #{oggfile}`
  end
  
end

#wav_concat(files, save_file = 'audio.wav') ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/v2av.rb', line 29

def wav_concat(files, save_file='audio.wav')
  
  Writer.new(save_file, Format.new(:stereo, :pcm_16, 22050)) do |writer|

    files.each do |file_name|

      Reader.new(file_name).each_buffer(samples_per_buffer=4096) do |buffer|
        writer.write(buffer)
      end

    end
  end
  
end

#wav_silence(filename, duration: 1) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'lib/v2av.rb', line 18

def wav_silence(filename, duration: 1)

  square_cycle = [0] * 100 * duration
  buffer = Buffer.new(square_cycle, Format.new(:mono, :float, 44100))

  Writer.new(filename, Format.new(:mono, :pcm_16, 22050)) do |writer|
    220.times { writer.write(buffer) }
  end

end