class GoogleSpeech::ChunkFactory

break wav audio into short files

Attributes

chunk_duration[RW]
original_file[RW]
overlap[RW]
rate[RW]

Public Class Methods

new(original_file, chunk_duration, overlap, rate) click to toggle source
# File lib/google_speech/chunk_factory.rb, line 8
def initialize(original_file, chunk_duration, overlap, rate)
  @chunk_duration    = chunk_duration
  @original_file     = original_file
  @overlap           = overlap
  @rate              = rate
  @original_duration = GoogleSpeech::Utility.audio_file_duration(@original_file.path)
end

Public Instance Methods

each() { |chunk| ... } click to toggle source

return temp file for each chunk

# File lib/google_speech/chunk_factory.rb, line 17
def each
  pos = 0
  while(pos < @original_duration) do
    chunk = nil
    begin
      chunk = Chunk.new(@original_file, @original_duration, pos, (@chunk_duration + @overlap), @rate)
      yield chunk
      pos = pos + [chunk.duration, @chunk_duration].min
    ensure
      chunk.close_file if chunk
    end
  end
end
logger() click to toggle source
# File lib/google_speech/chunk_factory.rb, line 31
def logger
  GoogleSpeech.logger
end