Páginas

sexta-feira, 5 de dezembro de 2008

Síntese de voz usando Python

Na apresentação que fiz com o Neno na PythonCampus no dia 6 de novembro [1], mostramos um script para falar para a platéia. A autoria é do Neno, eu apenas pedi para publicar.

Uma pena que só funciona em Windows (depende do comtypes [2]). Para rodar em linux poderíamos usar o eSpeak, o mesmo sintetizador usado pelo Orca.

# -*- coding: utf-8 -*-
import comtypes.client

tts = comtypes.client.CreateObject("sapi.SPVoice")

frase1 = (u"Oi comunidade Python! Este é um exemplo do Python utilizando sintetizador de voz. "
u"É possível desenvolver programas com fala para cegos utilizarem o computador em Python.")
print frase1
tts.Speak(frase1)

v = tts.GetVoices()
totalDeVoz = len(v)

frase2 = u"Este computador tem %d vozes instaladas, são elas:" % totalDeVoz
print frase2
tts.Speak(frase2)

#pega o nome da voz de numero 0
nomeVoz = v[0].GetDescription()
#Lista o nome de todas as vozes instaladas
for i in v:
print i.GetDescription()

#Sintetiza o nome de todas as vozes instaladas
for i in v:
x = tts.Speak(i.GetDescription())



[1] http://lifeatmymind.blogspot.com/2008/11/palestra-na-python-campus.html
[2] http://downloads.sourceforge.net/comtypes/comtypes-0.5.2.win32.exe

Nenhum comentário: