✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Text-To-Speech usando Amazon Polly em PHP

115

Amazon Polly é um serviço de nuvem bem executado que nos permite converter texto em fala real. Além disso, o Amazon Polly oferece melhorias inovadoras na qualidade da fala por meio de uma nova abordagem de aprendizado de máquina. Eles oferecem aos clientes as vozes text-to-speech mais naturais e humanas possíveis.

Os benefícios de usar o Amazon Polly incluem:

  • Alta qualidade
  • Baixa latência
  • Suporte para um grande portfólio de idiomas e vozes
  • Custo-beneficio
  • Solução baseada em nuvem

Existem vários aplicativos em que o Amazon Polly pode ser útil. Alguns deles são – aplicativos como leitores de notícias. jogos, plataformas de eLearning, aplicativos para deficientes visuais, etc. Você pode ler mais sobre este serviço em sua documentação.

Neste artigo, mostro como converter texto em fala com Amazon Polly e PHP.

Amazon Polly Console

Se você não quiser construir um aplicativo PHP, pode usar o console Polly diretamente. Você pode acessá-lo fazendo login em sua conta AWS. Após o login, vá para o console do Amazon Polly. Nesta página, você terá as opções para adicionar voz em texto simples ou formato SSML. Você pode escolher a região, a identificação de voz e ouvir um discurso ou até mesmo fazer o download em formato MP3.

Usar o console é uma opção se você for o administrador e não quiser compartilhar as credenciais da conta com ninguém. Mas e se você quiser construir um aplicativo que faça a tarefa exata de converter texto em fala e permitir que você baixe MP3 de fala convertida.

Text-To-Speech usando Amazon Polly e PHP

Para construir o aplicativo PHP para Amazon Polly, primeiro você precisa obter suas credenciais de segurança da AWS. Você pode obtê-lo fazendo login na conta da AWS e, em seguida, clicar em ‘Minhas credenciais de segurança’.

Text-To-Speech usando Amazon Polly em PHP

Depois de obter suas credenciais, instale o AWS SDK para PHP usando o Composer. Execute o comando abaixo para instalação da biblioteca.

composer require aws/aws-sdk-php

Após a instalação, crie um formulário que permita ao usuário fazer upload de um arquivo e enviá-lo ao servidor para processamento.

<form method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <button type="submit" name="submit">Submit</button>
</form>

Conforme mencionado anteriormente, o usuário pode transmitir a fala em texto simples ou no formato SSML. Prefiro usar SSML, que nos permite controlar a fala gerada a partir do texto fornecido. Usando SSML, podemos incluir uma pausa no texto, alterar a velocidade da fala, enfatizar palavras ou frases específicas, etc. Leia mais sobre isso em Como usar SSML. Basicamente, você precisa usar tags fornecidas por SSML em seu texto.

Para este tutorial, estou construindo um arquivo de texto simples com tags SSML. Meu arquivo de texto é o seguinte.

dummy.txt

<speak>
    <prosody rate='medium'>Hi, I am Sajid. I do blogging at Artisans Web.</prosody>
</speak>

Em seguida, no envio do formulário, o arquivo de texto carregado seria enviado ao serviço de nuvem AWS e, em troca, os arquivos MP3 seriam baixados automaticamente. Escreva o código para ele da seguinte maneira.

<?php
require_once "vendor/autoload.php";
 
use AwsPollyPollyClient;
 
if (isset($_POST['submit'])) {
 
    try {
        $config = [
            'version' => 'latest',
            'region' => 'YOUR_AWS_REGION',
            'credentials' => [
                'key' => 'ACCESS_KEY_ID',
                'secret' => 'SECRET_ACCESS_KEY',
                ]
            ];
             
        $client = new PollyClient($config);
 
        $args = [
            'OutputFormat' => 'mp3',
            'Text' => file_get_contents($_FILES['file']['tmp_name']),
            'TextType' => 'ssml',
            'VoiceId' => 'Matthew', //pass preferred voice id here
        ];
 
        $result = $client->synthesizeSpeech($args);
 
        $resultData = $result->get('AudioStream')->getContents();
 
        header('Content-length: '. strlen($resultData));
        header('Content-Disposition: attachment; filename="text-to-speech.mp3"');
        header('X-Pad: avoid browser bug');
        header('Cache-Control: no-cache');
        echo $resultData;
    } catch(Exception $e) {
        echo $e->getMessage();
    }
}
?>

Substitua os marcadores de posição pelos valores reais. No código acima, eu passei o valor para ‘VoiceId’ é ‘Matthew’. ‘Matthew’ é uma identificação de voz que adiciona um sotaque de fala no idioma inglês (EUA) (en-US). Obviamente, o usuário pode escolher qualquer id de voz de sua preferência. Você obterá a lista de vozes disponíveis na página Vozes na Amazon Polly.

Vá em frente e teste. Ao fazer o upload do seu arquivo de texto, você obterá o arquivo de áudio MP3 do seu texto.

É tudo sobre a conversão de texto em fala usando Amazon Polly em PHP. Eu gostaria de ouvir suas opiniões ou sugestões na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação