class Glaemscribe::API::TTS

Constants

TTS_ENGINE_PATH
TTS_MODULE_PATH

Public Class Methods

ipa(text, voice, has_raw_mode) click to toggle source
# File lib/api/tts.rb, line 36
def self.ipa(text, voice, has_raw_mode)
  load_engine if !@context
  @context.eval("var esp = new Glaemscribe.TTS(); esp.synthesize_ipa(#{text.inspect},{voice:'#{voice}', has_raw_mode: #{has_raw_mode}})")
end
load_engine() click to toggle source
# File lib/api/tts.rb, line 13
      def self.load_engine
        return if @context
        
        @context                    = ::MiniRacer::Context.new
        
        @context.attach 'console.log',  proc{|o| puts o}
        @context.attach 'print',        proc{|o| puts o}
        
        espeak_lib                  = File.open(TTS_ENGINE_PATH,"rb").read
        @context.eval(espeak_lib)

        tts_module                  = File.open(TTS_MODULE_PATH,"rb").read    
        @context.eval(tts_module)

        @voice_list = @context.eval("Glaemscribe.TTS.voice_list()")
#        puts "TTS Engine loaded."
      end
loaded?() click to toggle source
# File lib/api/tts.rb, line 9
def self.loaded?
  !@context.nil?
end
option_name_to_voice(option_name) click to toggle source
# File lib/api/tts.rb, line 46
def self.option_name_to_voice(option_name)
  option_name.downcase.gsub(/^espeak_voice_/,'').gsub('_','-')
end
voice_list() click to toggle source
# File lib/api/tts.rb, line 31
def self.voice_list
  load_engine if !@context
  @voice_list
end
wav(text, voice, has_raw_mode) click to toggle source
# File lib/api/tts.rb, line 41
def self.wav(text, voice, has_raw_mode)
  load_engine if !@context
  @context.eval("var esp = new Glaemscribe.TTS(); esp.synthesize_wav(#{text.inspect},{voice:'#{voice}', has_raw_mode: #{has_raw_mode}})")
end