class GoogleSpeech::Chunk

Attributes

chunk_file[RW]
duration[RW]
original_duration[RW]
original_file[RW]
rate[RW]
start_time[RW]

Public Class Methods

new(original_file, original_duration, start_time, duration, rate) click to toggle source
# File lib/google_speech/chunk.rb, line 9
def initialize(original_file, original_duration, start_time, duration, rate)
  FileUtils.mkdir_p(GoogleSpeech::TMP_FILE_DIR) unless File.exists?(GoogleSpeech::TMP_FILE_DIR)

  @original_file     = original_file
  @original_duration = original_duration
  @start_time        = start_time
  @duration          = [duration, (@original_duration - @start_time)].min
  @rate              = rate
  @chunk_file        = Tempfile.new([File.basename(@original_file), '.wav'], GoogleSpeech::TMP_FILE_DIR)
  # puts "@chunk_file: #{@chunk_file.path}"
  Utility.trim_and_encode(@original_file.path, @chunk_file.path, @start_time, @duration, @rate)
end

Public Instance Methods

close_file() click to toggle source
# File lib/google_speech/chunk.rb, line 37
def close_file
  return unless @chunk_file
  @chunk_file.close rescue nil
  @chunk_file.unlink rescue nil
end
data() click to toggle source
# File lib/google_speech/chunk.rb, line 29
def data
  @data ||= @chunk_file.read
end
logger() click to toggle source
# File lib/google_speech/chunk.rb, line 33
def logger
  GoogleSpeech.logger        
end
to_hash() click to toggle source
# File lib/google_speech/chunk.rb, line 22
def to_hash
  {
    :start_time => @start_time,
    :end_time => @start_time + @duration
  }
end