Este projeto implementa um assistente de voz pessoal usando Python. Ele utiliza a API da OpenAI para gerar respostas baseadas em comandos de voz e a API da Eleven Labs para converter texto em fala. O assistente captura comandos de voz, gera respostas utilizando o modelo GPT-4o e responde com uma voz sintetizada.
- Reconhecimento de Fala: Captura e transcreve comandos de voz usando
speech_recognition
. - Geração de Respostas: Utiliza a API do OpenAI GPT-4o para gerar respostas a partir dos comandos de voz.
- Síntese de Voz: Converte texto em fala usando a API da Eleven Labs e reproduz o áudio gerado.
- Execução Contínua: Funciona em um loop contínuo para permitir interações contínuas.
- Python 3.6 ou superior
- Bibliotecas Python:
openai
speech_recognition
requests
pyaudio
mpg123
(para reprodução de áudio)
- Clone o repositório:
git clone https://github.com/raulbalestra/Voice-Assistant.git
cd Voice-Assistant
- Crie e ative um ambiente virtual (opcional, mas recomendado):
python3 -m venv venv
source venv/bin/activate # No Windows, use `venv\Scripts\activate`
- Instale as dependências:
pip install -r requirements.txt
Defina as chaves da API diretamente no script:
# Definir chaves da API diretamente no script
openai_api_key = 'YOUR_OPENAI_API_KEY'
eleven_labs_api_key = 'YOUR_ELEVEN_LABS_API_KEY'
Para iniciar o assistente de voz, execute o script:
python3 script.py
os
: Para operações de sistema, como verificar e manipular arquivos.openai
: Para integração com a API da OpenAI.speech_recognition
: Para captura e transcrição de comandos de voz.requests
: Para fazer requisições HTTP.time
: Para manipulação de tempo e delays.
Captura áudio do microfone e usa a API do Google para transcrever o áudio para texto.
Envia o prompt do usuário para a API da OpenAI e retorna a resposta gerada pelo modelo GPT-4o.
Gera áudio a partir de texto utilizando a API da Eleven Labs e reproduz o áudio gerado.
A função main()
gerencia o ciclo principal de interação do assistente, capturando comandos de voz, gerando respostas e falando as respostas.
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.