#synthDrivers/cevio.py
#A part of NonVisual Desktop Access (NVDA)
#Copyright (C) 2006-2011 NVDA Contributors <http://www.nvda-project.org/>
#Copyright (C) 2014 Takuya Nishimoto
#This file is covered by the GNU General Public License.
#See the file COPYING for more details.
import string
from sapi5 import SynthDriver, constants
import speech
from logHandler import log
class SynthDriver(SynthDriver):
name="cevio"
description="CeVIO"
supportedSettings=(SynthDriver.VoiceSetting(),SynthDriver.RateSetting())
def speak(self,speechSequence):
textList=[]
for item in speechSequence:
if isinstance(item,basestring):
textList.append(item)
elif isinstance(item,speech.SpeechCommand):
log.debugWarning("Unsupported speech command: %s"%item)
else:
log.error("Unknown speech: %s"%item)
text="".join(textList)
for t in string.split(text):
if t:
self.tts.Speak(t,constants.SVSFlagsAsync)
CeVIO CreativeStudio S 試用版
http://cevio.jp/downloads/
CeVIO の SAPI5 エンジンはピッチ制御コマンドに対応していないらしく、 未対応のコマンドを読み上げてしまっているようです。 SAPI5 の機能を限定した CeVIO ドライバーを作ってみました。
あまり実用的に使えそうな気がしないので、 この作業はこれ以上深入りしないつもりですが、 cevio.py のソースをここに記録しておきます。