Como Gerar Áudio com Python e a API da OpenAI: Passo a passo

Vamos explorar como utilizar a API da OpenAI para gerar áudio com Python a partir de textos com poucas linhas de código. Você vai conseguir criar áudios dinâmicos e personalizados, integrando essa funcionalidade em seus projetos.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

O que é a OpenAI e como ela pode gerar áudios?

A OpenAI é uma das líderes em inteligência artificial, conhecida por ferramentas como o ChatGPT e DALL-E. Além de gerar textos e imagens, a OpenAI também oferece soluções para criação de áudios.

Com a API da OpenAI, você pode transformar textos em áudios realistas, podendo configurar diferentes vozes e formatos.

Essa funcionalidade é ideal para criar narrações automáticas, convites personalizados, assistentes virtuais com voz e muito mais. Tudo isso pode ser feito com Python, uma linguagem de programação versátil e poderosa.

O que você vai aprender neste tutorial?

Neste post, vamos guiar você passo a passo para:

  1. Configurar o ambiente Python para usar a API da OpenAI.
  2. Criar um áudio a partir de um texto usando a API.
  3. Salvar o áudio gerado em um arquivo no seu computador.
  4. Explorar diferentes vozes e formatos de áudio.

Ao final, você terá um script funcional que gera áudios automaticamente, pronto para ser integrado em seus projetos.

Configurando o ambiente

Antes de começar, você precisará de:

  1. Conta na OpenAI: Acesse OpenAI API e crie uma conta. Em seguida, gere uma chave de API em Settings > API Keys.
  2. Arquivo .env: Crie um arquivo chamado .env no mesmo diretório do seu script Python e adicione a chave da API:
Python
OPENAI_API_KEY=sua_chave_aqui
  1. Bibliotecas Python: Instale as bibliotecas necessárias:
Codigo
pip install openai python-dotenv

Essas bibliotecas permitem que você se conecte à API da OpenAI e carregue a chave de API do arquivo .env.

Criando o cliente da OpenAI

O primeiro passo é configurar o cliente da OpenAI no seu script Python. Isso permite que você se conecte à API e utilize suas funcionalidades.

Python
from openai import OpenAI
from dotenv import load_dotenv
import os

# Carregar a chave da API do arquivo .env
load_dotenv()

# Criar o cliente da OpenAI
cliente = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))

Aqui, usamos a biblioteca python-dotenv para carregar a chave da API de forma segura, sem ter que expor ela diretamente no código.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Gerando um áudio a partir de um texto

Agora que o cliente está configurado, vamos gerar um áudio a partir de um texto. A OpenAI oferece dois métodos principais para isso:

  1. Usando o ChatGPT para gerar um áudio com base em um prompt.
  2. Gerando um áudio diretamente a partir de um texto.

Vamos explorar ambos os métodos.

Método 1: Gerando áudio com o ChatGPT

Neste método, você pode pedir ao ChatGPT para criar um áudio com base em um prompt. Por exemplo, você pode pedir para ele criar um convite para um evento.

Python
resposta = cliente.chat.completions.create(
    model="gpt-4o-audio-preview",
    modalities=["text", "audio"],
    audio={"format": "wav", "voice": "alloy"},
    messages=[
        {"role": "user", "content": "Crie um áudio convidando as pessoas para participarem da Jornada Python, uma jornada de aulas gratuitas onde elas aprendem a construir 4 projetos completos em Python partindo do zero"}
    ]
)

# Extrair e salvar o áudio
faixa_audio = resposta.choices[0].message.audio.data
faixa_audio_bytes = base64.b64decode(faixa_audio)
with open("audio.wav", "wb") as arquivo_audio:
    arquivo_audio.write(faixa_audio_bytes)

Neste exemplo, o ChatGPT gera um áudio com base no prompt fornecido. O áudio é então decodificado e salvo em um arquivo .wav.

Método 2: gerando áudio diretamente a partir de um texto

Se você já tem o texto que deseja transformar em áudio, pode usar o método audio.speech.create:

Python
resposta = cliente.audio.speech.create(
    model="tts-1",
    voice="alloy",
    response_format="wav",
    input="Se você quer aprender Python e não sabe por onde começar, inscreva-se na Jornada Python da Hashtag"
)

# Salvar o áudio em um arquivo
resposta.write_to_file("audio2.wav")

Aqui, o texto é convertido diretamente em áudio, sem a necessidade de um prompt criativo. O áudio é salvo em um arquivo .wav.

Escolhendo a voz e o formato do áudio

A OpenAI oferece várias vozes e formatos de áudio para personalizar sua criação. No exemplo acima, usamos a voz "alloy", mas você pode escolher entre outras opções, como "echo", "nova", e "shimmer". Além disso, o áudio pode ser gerado em formatos como .mp3, .wav, e .opus.

Para alterar a voz ou o formato, basta modificar os parâmetros voice e response_format no código.

documentação sobre áudios no site da openai

Testando e salvando o áudio

Após gerar o áudio, você pode testá-lo reproduzindo o arquivo salvo. No exemplo, os áudios são salvos como audio.wav e audio2.wav. Para reproduzir, basta abrir o arquivo em qualquer player de áudio.

Python
# Reproduzir o áudio (exemplo para sistemas Linux)

import os

os.system("aplay audio.wav")

Se tudo estiver funcionando corretamente, você ouvirá o áudio gerado pela OpenAI.

o áudio sendo executado no vs code

Conclusão - Como gerar áudio com Python?

Gerar áudios com Python e a API da OpenAI é uma tarefa simples e poderosa. Com poucas linhas de código, você pode criar narrações, convites, assistentes virtuais e muito mais.

Se você gostou deste tutorial, não se esqueça que temos diversos outros conteúdos incríveis e tutoriais como este utilizando a linguagem Python em nosso blog!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos