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 SpeechRecognitione pyttsx3do 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() 
    print("Did you say "+MyText) 
            SpeakText(MyText) 
              
    except sr.RequestError as e: 
        print("Could not request results; {0}".format(e)) 
          
    except sr.UnknownValueError: 
        print("unknown error occured") 
Entrada: fala de voz (Olá amigo, tudo bem)
Resultado: Você disse oi amigo, como vai você?
[se for IE 9]>