Python: converta fala em texto e texto em fala
O reconhecimento de fala é um recurso importante em diversos aplicativos utilizados como automação residencial, inteligência artificial, etc. Este artigo tem como objetivo fornecer uma introdução sobre como utilizar a biblioteca SpeechRecognition
e pyttsx3
do Python.
Instalação necessária:
- Módulo Python Speech Recognition:
pip install reconhecimento de fala
- PyAudio: Use o seguinte comando para usuários Linux
sudo apt-get install python3-pyaudio
Os usuários do Windows podem instalar o pyaudio executando o seguinte comando em um terminal
pip instalar pyaudio
- Módulo Python pyttsx3:
pip install pyttsx3
Entrada de fala usando um microfone e tradução de fala para texto
- Permitir ajuste para ruído ambiente: Como o ruído ambiente varia, devemos permitir que o programa um segundo ou mais para ajustar o limite de energia da gravação para que seja ajustado de acordo com o nível de ruído externo.
- Tradução de voz para texto: isso é feito com a ajuda do Google Speech Recognition. Isso requer uma conexão ativa com a Internet para funcionar. No entanto, existem certos sistemas de reconhecimento offline, como o PocketSphinx, mas têm um processo de instalação muito rigoroso que requer várias dependências. O reconhecimento de voz do Google é um dos mais fáceis de usar.
Tradução de fala em texto:
Primeiro, precisamos importar a biblioteca e então inicializá-la usando a init()
função. Esta função pode receber 2 argumentos.
init (string driverName, debug bool)
- drivername: [Nome do driver disponível] sapi5 no Windows | nsss no MacOS
- debug: para habilitar ou desabilitar a saída de depuração
Após a inicialização, faremos o programa falar o texto usando a say()
função.
Este método também pode receber 2 argumentos.
diga (texto Unicode, string de nome)
- texto: qualquer texto que você deseja ouvir.
- nome: Para definir um nome para este discurso. (opcional)
Finalmente, para executar a fala, usamos runAndWait()
Todos os textos say() não serão ditos a menos que o intérprete encontre runAndWait()
.
Abaixo está a implementação.
import
speech_recognition as sr
import
pyttsx3
r
=
sr.Recognizer()
def
SpeakText(command):
engine
=
pyttsx3.init()
engine.say(command)
engine.runAndWait()
while
(
1
):
try
:
with sr.Microphone() as source2:
r.adjust_for_ambient_noise(source2, duration
=
0.2
)
audio2
=
r.listen(source2)
MyText
=
r.recognize_google(audio2)
MyText
=
MyText.lower()
(
"Did you say "
+
MyText)
SpeakText(MyText)
except
sr.RequestError as e:
(
"Could not request results; {0}"
.
format
(e))
except
sr.UnknownValueError:
(
"unknown error occured"
)
Entrada: fala de voz (Olá amigo, tudo bem) Resultado: Você disse oi amigo, como vai você?[se for IE 9]>
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva