Hegwin.Me

溯洄从之,道阻且长。溯游从之,宛在水中央。

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

Invoke System TTS in Ruby

我想做一个小程序,我给他一组英语单词,他能随机读出里面的单词。之所以有这么一想法,是因为我在学习英语的时候,想找个单词报听写的app,但是一直找不到合适的,不如自己试试搞一个。

于是就去找找调用TTS(text to speech)的工具了。我在简单调查之后发现,在Linux下面可以使用Festival TTS,而Windows 7系统默认是有一个TTS的模块,我们直接调用系统的TTS就行。

我打算使用 Ruby 调用系统的TTS。

Liunx:

Linux下面可以使用Festival TTS 参考 festivaltts4r

require 'festivaltts4r'
"I love you".to_speech 

Windows:

Windows 7 应该都默认是有一个TTS的,我们直接调用系统的就行。先安装一个gem:

gem install win32-sapi

用的时候很简单:

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

据说Mac自带的TTS非常不错,有机会再试试。

< Back