Reconhecimento de fala Python: como traduzir fala para texto?



Este blog cobre o conceito de reconhecimento de fala em python com um programa de amostra que traduz a fala em texto usando o reconhecimento de fala.

A fala é o meio de comunicação mais comum em todo o mundo. A maior parte da população do mundo depende da fala para se comunicar. Suponha que estejamos construindo um modelo e, em vez de uma abordagem escrita, queremos que nosso sistema responda à fala, torna-se bastante difícil e requer muitos dados para ser processado. Um sistema de reconhecimento de fala supera essa barreira, traduzindo a fala em texto. Neste blog, passaremos pelo reconhecimento de fala módulo em python . Aqui está a lista dos mesmos:

Como funciona o reconhecimento de fala?

O sistema de reconhecimento de fala traduz basicamente as declarações faladas em texto. Existem vários exemplos da vida real de sistema de reconhecimento de voz. Por exemplo, siri, que pega a fala como entrada e a traduz em texto.





A vantagem de usar um sistema de reconhecimento de fala é que ele supera a barreira da alfabetização. Um modelo de reconhecimento de fala pode servir tanto ao público alfabetizado quanto ao analfabeto, uma vez que se concentra em expressões faladas.

Também podemos fazer um inventário de todas as línguas ameaçadas de extinção em todo o mundo usando um sistema de reconhecimento de voz. Embora pareça muito intrigante e nada complexo, um sistema de reconhecimento de voz enfrenta muitos desafios ao ser criado.



Desafios enfrentados por um reconhecimento de voz Sistema

Um sistema de reconhecimento de fala se torna difícil de fazer porque temos muitas fontes de variabilidade quando se trata de fala.

Estilo de falar

Cada pessoa tem um estilo variado de falar, incluindo sotaques. Como todos sabemos, também temos sotaques diferentes para falar inglês. Há inglês americano, inglês britânico e tantos outros sotaques quando se trata de falar a língua mais comum do mundo. A pronúncia também torna difícil para um sistema de reconhecimento de fala traduzir a fala completamente.



Meio Ambiente

O ambiente também adiciona muito ruído de fundo ao sistema. Uma sala isolada em comparação com um auditório terá uma grande variabilidade nos ruídos de fundo. Até mesmo o eco pode adicionar muito ruído ao sistema também.

Características do alto-falante

A voz de uma pessoa idosa pode não ser a mesma de uma criança. As características da fala de uma pessoa dependem de muitos fatores, incluindo a aspereza e clareza também.

Restrições de linguagem

Algumas declarações faladas podem não ter um significado viável quando se trata de tradução.

Depois de superar esses desafios, é razoavelmente possível para qualquer sistema de reconhecimento de voz traduzir a fala em texto. Agora que sabemos como o reconhecimento de fala funciona, vamos dar uma olhada em diferentes que estão disponíveis para reconhecimento de fala em python.

Pacotes disponíveis para reconhecimento de fala em python

Veremos os detalhes do pacote SpeechRecognition neste blog, vamos também dar uma olhada na linha da memória para entender como os sistemas de reconhecimento de voz evoluíram ao longo dos anos.

O primeiro protótipo do reconhecimento de voz era na verdade um brinquedo, chamado rádio rex que surgiu por volta de 1920. Tinha um cachorro sentado em uma casinha que surgia assim que alguém pronunciava a palavra rex.

O único problema com o modelo era que a mola estava presa a um eletroímã sensível à energia que oscilava em torno de 500Hz. Sendo puramente um detector de frequência, poderia ser denominado remotamente como um modelo de reconhecimento de voz.

Em 1962, a IBM surgiu com um caixa de sapatos modelo que era capaz de reconhecer palavras isoladas e também realizar algumas operações aritméticas.

Entao veio HARPIA da CMU, que foi capaz de reconhecer a fala conectada de um vocabulário de 1000 palavras. Por volta da década de 1980, as pessoas começaram a usar modelos estatísticos e um dos paradigmas de aprendizado de máquina mais usados ​​era o modelo de markov oculto.

Após a introdução de redes neurais profundas, a maioria dos modelos de reconhecimento de voz funcionam nas redes neurais. As possibilidades são inimagináveis ​​com as redes neurais, o vocabulário pode ir até 10 mil palavras e mais.

Como instalar o SpeechRecognition em Python?

Para instalar o pacote SpeechRecognition em python, execute o seguinte comando no terminal e ele será instalado em seu sistema.

instalação-reconhecimento de fala python-edureka

Outra abordagem para isso, pode ser adicionar o pacote do intérprete do projeto se você estiver usando

O pacote tem uma classe de reconhecimento que é basicamente onde a mágica acontece. É basicamente uma aula que serve para reconhecer a fala. A seguir estão sete métodos que podem ler várias fontes de áudio usando diferentes APIs.

como usar o serviço agora
  • reconhecer_bing ()
  • reconhecer_google ()
  • reconhecer_google_cloud ()
  • reconhecer_houndify ()
  • reconhecer_ibm ()
  • reconhecer_wit ()
  • reconhecer_finge ()

Agora, reconhece_sphinx também pode ser usado para executar o sistema de reconhecimento de voz offline. Requer a instalação do Pocketsphinx.

importar reconhecimento de voz como sr # instância da classe do reconhecedor r = sr.Recognizer ()

Recebendo entrada de microfones

Para usar os microfones, teremos que instalar o módulo pyaudio também. Usamos a classe do microfone para obter a fala de entrada do microfone em vez de qualquer outro método de entrada, como um arquivo de áudio.

Para a maioria dos projetos, podemos usar os microfones padrão. Mas se você não quiser usar o microfone padrão,você pode obter a lista de nomes de microfones usando o método list_microphone_names.

Para capturar a entrada do microfone, usamos o método de escuta.

importar reconhecimento de voz como sr r = sr.Recognizer () com sr.Microphone () como fonte: audio = sr.listen (fonte)

Como instalar o Pyaudio em Python?

Para instalar o Pyaudio em python, execute o seguinte comando no terminal ou, se estiver usando o pycharm, adicione o pacote do interpretador do projeto nas configurações.

Caso de uso

Faremos um programa usando o módulo de reconhecimento de fala em Python para reconhecer a fala e executar o seguinte:

  1. converter a fala em texto
  2. abrir um URL usando o módulo webbrowser
  3. passar uma consulta usando reconhecimento de voz para fazer uma pesquisa no url

A seguir está o programa para a declaração do problema acima:

import speech_recognition as sr import webbrowser as wb r1 = sr.Recognizer () r2 = sr.Recognizer () r3 = sr.Recognizer () com sr.Microphone () como fonte: print ('[search edureka: search youtube]') print ('speak now') audio = r3.listen (fonte) if 'edureka' em r2.recognize_google (áudio): r2 = sr.Recognizer () url = 'https://www.edureka.co/' com sr .Microphone () as source: print ('search your query') audio = r2.listen (source) try: get = r2.recognize_google (audio) print (get) wb.get (). Open_new (url + get) exceto sr.UnknownValueError: print ('error') exceto sr.RequestError como e: print ('failed'.format (e)) if' video 'em r1.recognize_google (audio): r1 = sr.Recognizer () url =' https://www.youtube.com/results?search_query= 'with sr.Microphone () como fonte: print (' search for a video ') audio = r2.listen (source) try: get = r1.recognize_google (audio ) print (get) wb.get (). open_new (url + get) exceto sr.UnknownValueError: print ('não foi possível entender') exceto sr.RequestError como e: print (falha ao obter resultados'.format (e) )

Você obterá a saída como é mostrada na imagem. Se você disser edureka, ele solicitará que você diga a consulta que deseja pesquisar no url edureka que escrevemos na variável url. Se você disser python, a seguinte página da Web será aberta no navegador.

Neste blog, discutimos como podemos usar o reconhecimento de fala em python para traduzir fala em texto usando o pacote speechrecognition. tornou-se a necessidade da hora para conceitos como reconhecimento de fala ou desânimo de objeto, com o que fornecem possibilidades inimagináveis ​​para sistemas de reconhecimento de voz, onde podemos treinar e testar dados de voz enormes para construir um sistema. Você pode se inscrever no para redes neurais profundas para dominar suas habilidades e impulsionar seu aprendizado.

tem alguma dúvida? mencioná-los nos comentários, entraremos em contato com você.