Índice:

Reconhecimento de fala usando a API de fala do Google e Python: 4 etapas
Reconhecimento de fala usando a API de fala do Google e Python: 4 etapas

Vídeo: Reconhecimento de fala usando a API de fala do Google e Python: 4 etapas

Vídeo: Reconhecimento de fala usando a API de fala do Google e Python: 4 etapas
Vídeo: Reconhecimento de Fala 4 - Python A biblioteca Speech Recognition Python 2024, Novembro
Anonim
Reconhecimento de fala usando a API de fala do Google e Python
Reconhecimento de fala usando a API de fala do Google e Python

Reconhecimento de fala

O Reconhecimento de Fala é uma parte do Processamento de Linguagem Natural, que é um subcampo da Inteligência Artificial. Para simplificar, o reconhecimento de voz é a capacidade de um software de computador de identificar palavras e frases na linguagem falada e convertê-las em texto legível por humanos. É usado em várias aplicações, como sistemas de assistente de voz, automação residencial, chatbots baseados em voz, robô de interação por voz, inteligência artificial e etc.

Existem diferentes APIs (Interface de Programação de Aplicativo) para reconhecimento de fala. Eles oferecem serviços gratuitos ou pagos. Estes são:

  • CMU Sphinx
  • Reconhecimento de voz do Google
  • API Google Cloud Speech
  • Wit.ai
  • Reconhecimento de voz do Microsoft Bing
  • API Houndify
  • IBM Speech To Text
  • Detecção de Hotword Snowboy

Estaremos usando o Google Speech Recognition aqui, pois não requer nenhuma chave de API. Este tutorial tem como objetivo fornecer uma introdução sobre como usar a biblioteca de reconhecimento de voz do Google em Python com a ajuda de um microfone externo como o ReSpeaker USB 4-Mic Array do Seeed Studio. Embora não seja obrigatório o uso de microfone externo, até mesmo o microfone embutido do laptop pode ser usado.

Etapa 1: ReSpeaker USB 4-Mic Array

ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array

O ReSpeaker USB Mic é um dispositivo de microfone quádruplo projetado para aplicações de IA e voz, desenvolvido pelo Seeed Studio. Possui 4 microfones omnidirecionais integrados de alto desempenho projetados para captar sua voz de qualquer lugar da sala e 12 indicadores LED RGB programáveis. O microfone ReSpeaker USB é compatível com os sistemas operacionais Linux, macOS e Windows. detalhes podem ser encontrados aqui.

O ReSpeaker USB Mic vem em uma bela embalagem contendo os seguintes itens:

  • Um guia do usuário
  • ReSpeaker USB Mic Array
  • Micro USB para cabo USB

Então, estamos prontos para começar.

Etapa 2: instalar as bibliotecas necessárias

Para este tutorial, assumirei que você está usando Python 3.x.

Vamos instalar as bibliotecas:

pip3 instalar SpeechRecognition

Para macOS, primeiro você precisa instalar o PortAudio com Homebrew e, em seguida, instalar o PyAudio com pip3:

brew install portaudio

Executamos o comando abaixo para instalar o pyaudio

pip3 instalar pyaudio

Para Linux, você pode instalar o PyAudio com apt:

sudo apt-get install python-pyaudio python3-pyaudio

Para Windows, você pode instalar o PyAudio com pip:

pip install pyaudio

Crie um novo arquivo python

nano get_index.py

Cole em get_index.py abaixo do snippet de código:

importar pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') para i no intervalo (0, numdevices): if (p.get_device_info_by_host_api_device_indexhan (0, i).getCnels '))> 0: print ("Input Device id", i, "-", p.get_device_info_by_host_api_device_index (0, i).get (' name '))

Execute o seguinte comando:

python3 get_index.py

No meu caso, o comando fornece a seguinte saída para a tela:

Dispositivo de entrada id 1 - ReSpeaker 4 Mic Array (UAC1.0)

Dispositivo de entrada id 2 - Microfone MacBook Air

Altere device_index para o número do índice de acordo com sua escolha no snippet de código abaixo.

importar speech_recognition como sr

r = sr. Recognizer () speech = sr. Microphone (device_index = 1) com voz como fonte: print ("diga algo!…") audio = r.adjust_for_ambient_noise (fonte) audio = r.listen (fonte) try: recog = r.recognize_google (audio, language = 'en-US') print ("Você disse:" + recog) exceto sr. UnknownValueError: print ("O reconhecimento de fala do Google não entendeu áudio") exceto sr. RequestError como e: print ("Não foi possível solicitar resultados do serviço Google Speech Recognition; {0}". Formato (e))

O índice do dispositivo foi escolhido como 1 porque o ReSpeaker 4 Mic Array será a fonte principal.

Etapa 3: conversão de texto em voz em Python com biblioteca Pyttsx3

Existem várias APIs disponíveis para converter texto em fala em python. Uma dessas APIs é o pyttsx3, que é o melhor pacote de texto para fala disponível na minha opinião. Este pacote funciona em Windows, Mac e Linux. Verifique a documentação oficial para ver como isso é feito.

Instale o pacote Use pip para instalar o pacote.

pip install pyttsx3

Se você estiver no Windows, precisará de um pacote adicional, pypiwin32, do qual será necessário acessar a API de fala nativa do Windows.

pip install pypiwin32

Converter texto em fala python scriptBelow é o snippet de código de texto em fala usando pyttsx3:

importar pyttsx3

engine = pyttsx3.init ()

engine.setProperty ('rate', 150) # Velocidade por cento

engine.setProperty ('volume', 0.9) # Volume 0-1

engine.say ("Olá, mundo!")

engine.runAndWait ()

Etapa 4: Juntando tudo: Criando reconhecimento de fala com Python usando a API de reconhecimento de fala do Google e a biblioteca Pyttsx3

O código a seguir é responsável por reconhecer a fala humana usando o Google Speech Recognition e por converter o texto em fala usando a biblioteca pyttsx3.

importar speech_recognition como sr

import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0,9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) com fala como fonte: audio = r.adjust_for_ambient_noise (fonte) audio = r.listen (fonte) try: recog = r.recognize_google (audio, language = 'en-US') print ("Você disse:" + recog) engine.say (" Você disse: "+ recog) engine.runAndWait () except sr. UnknownValueError: engine.say (" O Google Speech Recognition não conseguiu entender o áudio ") engine.runAndWait () exceto sr. RequestError como e: engine.say (" Não foi possível solicitar resultados do serviço de reconhecimento de fala do Google; {0} ". format (e)) engine.runAndWait ()

Ele imprime a saída no terminal. Além disso, também será convertido em fala.

Você disse: Londres é a capital da Grã-Bretanha

Espero que agora você tenha um melhor entendimento de como o reconhecimento de fala funciona em geral e, o mais importante, como implementar isso usando a API de reconhecimento de fala do Google com Python.

Se você tiver alguma dúvida ou feedback? Deixe um comentário abaixo. Fique ligado!

Recomendado: