Hegwin.Me

Time doth transfix the flourish set on youth. And delves the parallels in beauty's brow.

Invoke System TTS in Ruby

利用Ruby调用TTS进行文本发声阅读

I want to make a small app where I give him a set of English words and he can randomly read out the words inside. The reason why I have such an idea is that when I was learning English, I wanted to find a word dictation app, but I couldn't find the right one, so I might as well try to get one myself.

So I went looking for a tool to call TTS (text to speech). After a brief investigation, I found that Festival TTS is available in Linux, and Windows 7 has a TTS module by default, so we can call the system's TTS directly.

I'm going to use Ruby to call the system TTS.

Liunx.

Festival TTS can be used under Linux Reference festivaltts4r

require 'festivaltts4r'
"I love you".to_speech 

Windows.

Windows 7 should have a TTS by default, so let's just call the system one directly. First install a gem:

gem install win32-sapi

It's easy to use:

require "win32/sapi5"
include Win32
v = SpVoice.newv.Speak("Let's go for lunch") 

It is said that Mac comes with a very good TTS, try again when you have a chance.

< Back