Article image
Venilton FalvoJr
Venilton FalvoJr03/05/2023 18:54
Compartilhe

Conversando Por Voz Com o ChatGPT Utilizando Whisper (OpenAI) e Python

  • #Inteligência Artificial (IA)
  • #Machine Learning
  • #Python

Fala, comunidade tech! Tudo certo? 


Acabamos de encerrar mais uma edição da nossa editoria Coding The Future, um projeto prático ao vivo que será realizado duas vezes por mês, às quartas-feiras, às 19h. Durante a live, apresentamos o passo a passo para desenvolver um sistema que combina as tecnologias de Speech-to-Text (voz para texto) e Text-to-Speech (texto para voz) para proporcionar uma conversa multi-idiomas por voz com o ChatGPT, algo possível graças ao Whisper. 


Para aqueles que ainda não conhecem, o Whisper é uma tecnologia de Reconhecimento Automático de Fala (ASR) da OpenAI, treinado com 680.000 horas de dados multilíngues coletados da Web. Sua arquitetura permite maior robustez a sotaques, ruídos de fundo e linguagem técnica. Ao trabalhar em conjunto com o ChatGPT, um modelo de linguagem, o Whisper possibilita a transcrição e tradução em várias línguas, facilitando a criação de soluções de comunicação inteligentes e eficientes. 


Utilizando o avançado modelo de reconhecimento de fala Whisper e a API do ChatGPT, ambos da OpenAI, nossa solução é capaz de entender uma pergunta feita por voz e respondê-la de forma inteligente. Além disso, pra fechar com chave de ouro, ainda usamos o Google Text-To-Speech (gTTS) para sintetizar a resposta do ChatGPT em voz 😉 


image


O projeto foi dividido em quatro etapas: 


  1. Gravação do áudio do usuário utilizando Python e JavaScript: Nesta etapa, implementamos uma solução que permite capturar o áudio do usuário diretamente no navegador por meio da Web API MediaDevices, uma tecnologia que possibilita a gravação de áudio e vídeo em tempo real. Para isso, usamos um pouco de JavaScript e, em seguida, utilizamos Python para processar e armazenar nosso arquivo com o áudio gravado; 
  2. Reconhecimento de fala com o Whisper: Nesta etapa, exploramos como o Whisper consegue compreender as nuances dos diversos idiomas e transcrever o áudio com precisão e flexibilidade impressionantes. Vimos como essa tecnologia é simples de usar e se destaca na área de reconhecimento de fala, com uma diversidade incrível de modelos, tornando-o um componente crucial no desenvolvimento de nosso assistente de voz; 
  3. Integração com a API do ChatGPT: Aqui, nos aprofundamos em como o ChatGPT entende as requisições dos usuários e oferece respostas rápidas e relevantes, abrindo portas para inúmeras possibilidades no desenvolvimento de assistentes de voz e outras aplicações baseadas em linguagem natural; 
  4. Conversão da resposta do ChatGPT em Voz: Usando o gTTS, uma biblioteca em Python que utiliza a API de Text-to-Speech do Google, sintetizamos o texto em voz. Nesta etapa, aprendemos como utilizar o gTTS para converter as respostas em texto geradas pelo ChatGPT em áudio no idioma escolhido. Isso envolve a seleção da voz e velocidade de fala ideais para proporcionar uma experiência de comunicação natural e envolvente. Ao dominar esta etapa, fomos capazes de dar vida às respostas do ChatGPT, permitindo uma comunicação por voz do início ao fim da nossa solução, completando uma experiência de usuário fluida e linear. 


Esse projeto é a porta de entrada para criar soluções semelhantes, como um assistente virtual inteligente, automação residencial e, principalmente, iniciativas de acessibilidade. Como por exemplo, implementar a transcrição de voz em tempo real aplicando um avatar de LIBRAS para sinalização simultânea 🤩


Perdeu esse evento INCRÍVEL? Calma, ainda dá pra acessá-lo através deste Lab:

🔗 Conversando por Voz Com o ChatGPT Utilizando Whisper (OpenAI) e Python


image 

Esse é mais um projeto incrível para adicionar ao seu portfólio, comprovar experiência prática em tecnologias do futuro que estão sendo utilizadas por Big Techs e surpreender qualquer Tech Recruiter. 

Código-fonte do projeto no Google Colab: 👉 https://bit.ly/41XfKaM 


Este projeto está intimamente relacionado com algumas das principais Formações que oferecemos em Python, Machine Learning e IoT. Se você gostou do que viu nessa live e deseja aprofundar ainda mais seus conhecimentos, não deixe de conferir nossas formações: 


Formação Python Developer 👉 https://bit.ly/43EyrS1 


image 

Formação Machine Learning Specialist 👉 https://bit.ly/3LbXKDw 


image 

Formação IoT 👉 https://bit.ly/3VCckb9 


image 

Agora, é só ficar de olho nas nossas comunicações e não perder os próximos eventos – nosso novo encontro acontece na quarta-feira, 17/05, às 19h. 

Fique ligado e até a próxima! 



#Whisper #ChatGPT #OpenAI #Python #GoogleColab

Compartilhe
Comentários (7)
Mário Apolinario
Mário Apolinario - 19/04/2024 14:40

Apenas em ler me dá vontade de fazer todos estes cursos e aprender estas tecnologias.

Obrigado Venilton.

Thiago Lima
Thiago Lima - 19/11/2023 14:49

Olá tudo bem?

Estou com dificuldades na terceira parte que está dando o seguinte erro:

APIRemovedInV1                            Traceback (most recent call last)
<ipython-input-32-22b6b2f64738> in <cell line: 4>()
    2 openai.api_key = "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"
    3 
----> 4 response = openai.ChatCompletion.create(
    5     model="gpt-3.5-turbo",
    6     messages=[{"role":"user", "content": transcription}]APIRemovedInV1                            Traceback (most recent call last)
<ipython-input-32-22b6b2f64738> in <cell line: 4>()
    2 openai.api_key = "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"
    3 
----> 4 response = openai.ChatCompletion.create(
    5     model="gpt-3.5-turbo",

pelo que eu vi é um erro de versão do pip install do openai, mas já tentei instalar a versão anterior e não funcionou.

JB

Julia Batista - 19/11/2023 12:19

Bom dia!


Estou tendo um problema ao realizar está atividade 😔.


Eu estava testando a seção # 1. Gravação de Áudio Com Python (e Uma Pitada de JavaScript) 🎤 e esse erro apareceu pelo que entendi é porque parei a execução manualmente, mas parei pq estava carregando somente. Alguém sabe qual o erro que eu cometi? Utilizei o código - fonte disponibilizado  https://bit.ly/41XfKaM

KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-12-2b71609c0c7c> in <cell line: 47>()
   45 # Grava o áudio do usuário por um tempo determinado (padrão 5 segundos)
   46 print('Ouvindo...\n')
---> 47 record_file = record()
   48 
   49 # Exibe o áudio gravado


2 frames

/usr/local/lib/python3.10/dist-packages/google/colab/_message.py in read_reply_from_input(message_id, timeout_sec)
   94     reply = _read_next_input_message()
   95     if reply == _NOT_READY or not isinstance(reply, dict):
---> 96       time.sleep(0.025)
   97       continue
   98     if (

KeyboardInterrupt:


Venilton FalvoJr
Venilton FalvoJr - 03/05/2023 21:21

@Jenifer, o código-fonte do projeto está disponível no Google Colab, é só acessa esse link:

https://bit.ly/41XfKaM


Aí, no Colab, é só escolher a opção de cópia do projeto que preferir 😉

image

AV

Ana Vieira - 03/05/2023 21:08

Muito bom...

JS

Jenifer Silva - 03/05/2023 20:46

Oi. Pode disponibliizar o repositório do github?

WS

Wagner Souza - 03/05/2023 20:22

Obrigado