Streaming de texto em fala
Este guia mostra como fazer streaming de texto em fala e, opcionalmente, enviar áudio para o AWS S3.
Este guia aborda três abordagens: gerar fala 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 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 AWS com acesso ao S3.
Quer saber por que o streaming funciona dessa forma? Entenda o streaming de áudio explica detalhadamente o protocolo, o buffer e as compensações de latência.
Converter texto em fala (arquivo)
Para converter texto em fala e salvá-lo como arquivo, vamos usar o método convert do SDK da ElevenLabs e então salvá-lo localmente como um arquivo .mp3.
Você pode executar essa função com:
Converter texto em fala (streaming)
Se preferir transmitir o áudio diretamente sem salvá-lo em um arquivo, você pode usar nosso recurso de streaming.
Você pode executar essa função com:
Bônus — Envio para o AWS S3 e obtenção de um link seguro para compartilhamento
Depois que os dados de áudio forem criados como arquivo ou stream, talvez você 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 para compartilhamento.
Como criar suas credenciais 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 AWS ao 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 AWS.

- Crie um novo usuário (se necessário): no painel do IAM, selecione “Users” e depois “Add user”. Insira 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, apenas as permissões mínimas necessárias para executar uma tarefa. Talvez seja melhor criar uma política personalizada que permita especificamente 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, serão exibidos um ID de chave de acesso e uma chave de acesso secreta. Baixe e salve essas credenciais com segurança; a chave de acesso secreta não poderá ser recuperada novamente após esta etapa.

- Obtenha o nome da região AWS: ex.: 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.


Como instalar o SDK da AWS e adicionar as credenciais
Instale o boto3 para interagir com serviços AWS usando pip e npm.
Em seguida, adicione as variáveis de ambiente ao arquivo .env desta forma:
Como 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 gerado a partir 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, tornando-a 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 script a seguir:
Conclusão
Agora você sabe como converter texto em fala e gerar uma URL assinada para compartilhar o arquivo de áudio. Essa funcionalidade abre várias 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 em formato de áudio, enviá-las ao S3 e compartilhar os links com os alunos para uma experiência de aprendizado mais envolvente fora do ambiente tradicional de sala de aula.
-
Recursos de acessibilidade para sites: melhore a acessibilidade de sites oferecendo conteúdo em texto no formato de áudio. Isso pode tornar as informações dos sites mais acessíveis a pessoas com deficiência visual ou que preferem aprender ouvindo.
-
Mensagens automatizadas de suporte ao cliente: produza mensagens de áudio automatizadas e personalizadas para o suporte ao cliente, como perguntas frequentes ou atualizações de pedidos. Isso pode proporcionar uma experiência mais envolvente ao cliente em comparação com e-mails tradicionais em texto.
-
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 aos alunos lições e exercícios em áudio. Isso permite praticar pronúncia e compreensão auditiva de forma direcionada.