class DuoSplitter::Models::Section
Attributes
audio_path[RW]
number[R]
Public Class Methods
new(number:)
click to toggle source
# File lib/duo_splitter/models/section.rb, line 10 def initialize(number:) @number = number @sentences = load_sentences end
Public Instance Methods
sentences(intro: true)
click to toggle source
# File lib/duo_splitter/models/section.rb, line 15 def sentences(intro: true) @sentences.reject {|sentence| !intro && sentence.intro? } end
Private Instance Methods
load_sentences()
click to toggle source
# File lib/duo_splitter/models/section.rb, line 21 def load_sentences label_path = DATA_DIR.join(format('labels/%02<number>d.txt', number: number)) records = label_path.readlines.map {|line| line.chomp.split(/\t/) } records.unshift(%w[0 0 0]) records.each_cons(2).map do |current_record, next_record| sentence_number = current_record.last.to_i start_pos = current_record.first end_pos = next_record.first Sentence.new(number: sentence_number, start_pos: start_pos, end_pos: end_pos, section: self) end end