#!/usr/bin/ruby

require 'pocketsphinx'

config = Pocketsphinx::Decoder.default_config()
config.set_string('-hmm', '../../model/en-us/en-us')
config.set_string('-dict', '../../model/en-us/cmudict-en-us.dict')
config.set_string('-lm', '../../model/en-us/en-us.lm.bin')
decoder = Pocketsphinx::Decoder.new(config)

decoder.start_utt()

open("../../test/data/goforward.raw") {|f|
  while record = f.read(4096)
    decoder.process_raw(record, false, false)
  end
}
        
decoder.end_utt()
puts decoder.hyp().hypstr()

decoder.seg().each { |seg|
    puts "#{seg.word} #{seg.start_frame} #{seg.end_frame}"
}

decoder.nbest().each(10) { |nbest|
    puts nbest.hyp.hypstr();
}