Streaming de texto em voz
Este guia mostra como transmitir texto em voz e, opcionalmente, enviar o áudio para o AWS S3.
Este guia aborda três abordagens: gerar voz como um arquivo, transmitir a resposta de áudio diretamente e, opcionalmente, enviar o áudio gerado para um bucket do AWS S3 para compartilhá-lo por meio de uma URL assinada.
Este guia pressupõe que você já configurou sua chave de API e o SDK. Conclua o guia de início rápido primeiro, caso ainda não tenha feito isso. A seção opcional de envio para o S3 também exige uma conta da AWS com acesso ao S3.
Quer saber por que o streaming funciona dessa forma? Entenda o streaming de áudio explica em detalhes o protocolo, o buffering e os impactos na latência.
Converter texto em voz (arquivo)
Para converter texto em voz e salvá-lo como arquivo, usaremos o método convert do SDK da ElevenLabs e o salvaremos localmente como um arquivo .mp3.
Depois, execute esta função com:
Converter texto em voz (streaming)
Se preferir transmitir o áudio diretamente sem salvá-lo em um arquivo, você pode usar nosso recurso de streaming.
Depois, execute esta função com:
Bônus — Enviar para o AWS S3 e obter um link seguro de compartilhamento
Depois que seus dados de áudio forem criados como arquivo ou stream, você talvez queira compartilhá-los com seus usuários. Uma forma de fazer isso é enviá-los para um bucket do AWS S3 e gerar um link seguro de compartilhamento.
Criar suas credenciais da AWS
Para enviar os dados ao S3, você precisará adicionar o ID da chave de acesso da AWS, a chave de acesso secreta e o nome da região da AWS ao seu arquivo .env. Siga estas etapas para encontrar as credenciais:
- Faça login no AWS Management Console: acesse a página inicial da AWS e entre com sua conta.

- Acesse o painel do IAM (Identity and Access Management): você encontra o IAM em “Security, Identity, & Compliance” no menu de serviços. O painel do IAM gerencia com segurança o acesso aos seus serviços da AWS.

- Crie um novo usuário (se necessário): no painel do IAM, selecione “Users” e depois “Add user”. Digite um nome de usuário.

- Defina as permissões: anexe políticas diretamente ao usuário de acordo com o nível de acesso que deseja conceder. Para envios ao S3, você pode usar a política AmazonS3FullAccess. No entanto, a prática recomendada é conceder o menor privilégio, ou seja, as permissões mínimas necessárias para realizar uma tarefa. Talvez você queira criar uma política personalizada que permita apenas as ações necessárias no seu bucket do S3.

- Revise e crie o usuário: revise suas configurações e crie o usuário. Após a criação, você receberá um ID de chave de acesso e uma chave de acesso secreta. Baixe e salve essas credenciais em segurança; a chave de acesso secreta não poderá ser recuperada novamente após esta etapa.

- Obtenha o nome da região da AWS: por exemplo, us-east-1

Se você não tiver um bucket do AWS S3, precisará criar um seguindo estas etapas:
- Acesse o painel do S3: você encontra o S3 em “Storage” no menu de serviços.

- Crie um novo bucket: no painel do S3, clique no botão “Create bucket”.

- Insira um nome para o bucket e clique no botão “Create bucket”. Você pode deixar as outras opções do bucket com os valores padrão. O bucket recém-adicionado aparecerá na lista.


Instalar o SDK da AWS e adicionar as credenciais
Instale o boto3 para interagir com serviços da AWS usando pip e npm.
Em seguida, adicione as variáveis de ambiente ao arquivo .env desta forma:
Enviar para o AWS S3 e gerar a URL assinada
Adicione as funções a seguir para enviar o stream de áudio ao S3 e gerar uma URL assinada.
Depois, você pode chamar a função de envio com o stream de áudio do texto.
Após enviar o arquivo de áudio ao S3, gere uma URL assinada para compartilhar o acesso ao arquivo. Essa URL terá tempo limitado, ou seja, expirará após determinado período, o que a torna segura para compartilhamento temporário.
Agora você pode gerar uma URL a partir de um arquivo com:
Se quiser usar o arquivo várias vezes, armazene o caminho do arquivo no S3 no seu banco de dados e gere novamente a URL assinada sempre que precisar, em vez de salvar a URL assinada diretamente, pois ela expirará.
Juntando tudo
Para juntar tudo, você pode usar o seguinte script:
Conclusão
Agora você sabe como converter texto em voz e gerar uma URL assinada para compartilhar o arquivo de áudio. Essa funcionalidade abre diversas possibilidades para criar e compartilhar conteúdo de forma dinâmica.
Veja alguns exemplos do que você pode criar com isso.
-
Podcasts educacionais: crie conteúdo educacional personalizado que os alunos possam acessar sob demanda. Professores podem converter suas aulas para o formato de áudio, enviá-las ao S3 e compartilhar os links com os alunos para uma experiência de aprendizagem mais envolvente fora do ambiente tradicional da sala de aula.
-
Recursos de acessibilidade para sites: melhore a acessibilidade de sites oferecendo conteúdo textual em formato de áudio. Isso pode tornar as informações dos sites mais acessíveis para pessoas com deficiência visual ou que preferem aprender ouvindo.
-
Mensagens automatizadas de suporte ao cliente: produza mensagens de áudio automatizadas e personalizadas para suporte ao cliente, como FAQs ou atualizações de pedidos. Isso pode proporcionar uma experiência mais envolvente ao cliente em comparação com e-mails de texto tradicionais.
-
Audiolivros e narração: converta livros inteiros ou contos em formato de áudio, oferecendo uma nova forma de o público aproveitar a literatura. Autores e editoras podem diversificar sua oferta de conteúdo e alcançar públicos que preferem ouvir a ler.
-
Ferramentas de aprendizado de idiomas: desenvolva recursos de aprendizado de idiomas que ofereçam aulas e exercícios em áudio. Isso possibilita praticar a pronúncia e as habilidades de escuta de forma direcionada.