Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Tento usar a biblioteca toSpeech, mas ela não funciona

Olá, estava tentando usar a toSpeech para reconhecer o áudio mas ela não reconhece e dá o erro:

C:\Users\evers\PycharmProjects\Assitente\venv\Scripts\python.exe C:/Users/evers/PycharmProjects/Assitente/Main.py
Mon/20/07/2020 18:14
Traceback (most recent call last):
  File "C:/Users/evers/PycharmProjects/Assitente/Main.py", line 34, in <module>
    respost = audio.ouve_audio()
  File "C:\Users\evers\PycharmProjects\Assitente\audio.py", line 12, in ouve_audio
    with micro.Microphone() as src:
  File "C:\Users\evers\PycharmProjects\Assitente\venv\lib\site-packages\speech_recognition\__init__.py", line 79, in __init__
    self.pyaudio_module = self.get_pyaudio()
  File "C:\Users\evers\PycharmProjects\Assitente\venv\lib\site-packages\speech_recognition\__init__.py", line 108, in get_pyaudio
    import pyaudio
  File "C:\Python38\pyaudio.py", line 28

    ^
SyntaxError: unexpected EOF while parsing

Process finished with exit code 1

Tentei entrar no código pyaudio e entendi que ele têm alguma coisa com o End Of Line (EOL), mas ainda não solucionei o problema: O código:

from gtts import gTTS
from playsound import playsound
import speech_recognition as micro

def cria_audio(audio):
    tts = gTTS(audio, lang='pt-br')
    tts.save('hello.mp3')
    playsound('hello.mp3')

def ouve_audio():
    microfone = micro.Recognizer()
    with micro.Microphone() as src:
        audio = microfone.listen(src)
        return audio

Alguém sabe me dizer o motivo de ele não funcionar?

7 respostas

Alguém?

Faaala Cauê, tudo bem?

Instalei as bibliotecas que estavam no código e não foi apresentado erro algum.

pip install SpeechRecognition
pip install playsound
pip install gtts

Esse erro ocorre quando? Você está chamando essas funções em algum lugar? Se sim, como?

Estou a disposição, a gente vai conversando.

Quando tento chamar a função ouve_audio() ele dá todos esses erros

Bom dia, estou desenvolvendo uma espécie de assistente pessoal em Python, por ora ela só tem funções básicas mas pretendo expandi-la, estava tentando implementar voz e reconhecimento para os processos, mas esse erro impediu. Tentei usar a função ouve áudio para atribuir o valor à uma variável no arquivo Main, mas ele não atribui e dá o erro acima. O problema está na execução do código

    respost = audio.ouve_audio()

Caso importe estou usando o Python 3.8 Se você quiser ver todos os arquivos e o projeto, segue o link do repositório no GitHub: https://github.com/D4rk-pixel/Assitente-Pessoal

solução!

Oiii Cauê, muito obrigada por compartilhar o link do projeto, consegui testar. Percebi que a biblioteca Pyaudio possui problemas de incompatibilidade com o Python3.8, então fiz um downgrade para a versão 3.6 e tudo ocorreu como esperado. Segundo a documentação dessa biblioteca, ela suporta até a versão 6 do Python, veja:

O pip buscará e instalará as rodas PyAudio (binários pré-empacotados). Atualmente, existem rodas compatíveis com as distribuições oficiais do Python 2.7, 3.4, 3.5 e 3.6. Para essas versões, estão disponíveis rodas de 32 e 64 bits.

Abaixo, deixo um vídeo dos meus testes para você conferir se é a saída que você espera(ligue o som):

Para utilizar o Python 3.6, desinstale o Python3.8 da sua máquina e faça a instalação do Python3.6 lembrando de marcar para adicioná-lo ao path. Exemplo:

add path

Você pode efetuar o download do Python3.6 neste link. Após o downgrade faça a instalação das seguintes bibliotecas:

pip install gtts
pip install playsound
pip install SpeechRecognition
pip install pyaudio

Agora poderá executar o arquivo Main.py.

Qualquer coisa é só falar, estou por aqui.

Muito Obrigado! Realmente vi que alguma coisa estava errada com o pyaudio e não com o meu código em si, vou tentar fazer o downgrade, muito obrigado :) Desculpa pelas piadas bem idiotas hehe

Cauê, as piadas idiotas são as melhores hahaha Parabéns pelo seu código e por estar alcançando novos níveis na programação, você tem mandado muito bem!

Qualquer dúvida não hesite em perguntar, estou por aqui.

Abraços e bons estudos!