WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Преобразование текста в речь с помощью Amazon Polly в PHP

105

Amazon Polly – это отличный облачный сервис, который позволяет нам преобразовывать текст в реалистичную речь. Кроме того, Amazon Polly обеспечивает революционное улучшение качества речи за счет нового подхода к машинному обучению. Они предлагают клиентам наиболее естественные и похожие на человека голоса для преобразования текста в речь.

Преимущества использования Amazon Polly:

  • Высокого качества
  • Низкая задержка
  • Поддержка большого портфолио языков и голосов
  • Экономически эффективным
  • Облачное решение

Amazon Polly может быть полезен в нескольких приложениях. Некоторые из них – такие приложения, как программы чтения новостей. игры, платформы электронного обучения, приложения для людей с ослабленным зрением и т. д. Вы можете узнать больше об этой услуге в их документации.

В этой статье я покажу вам, как преобразовать текст в речь с помощью Amazon Polly и PHP.

Консоль Amazon Polly

Если вы не хотите создавать приложение PHP, вы можете напрямую использовать консоль Polly. Вы можете получить к нему доступ, войдя в свою учетную запись AWS. После входа перейдите в консоль Amazon Polly. На этой странице вы получите параметры для добавления речи в формате обычного текста или SSML. Вы можете выбрать регион, идентификатор голоса и прослушать речь или даже скачать ее в формате MP3.

Использование консоли – это один из вариантов, если вы являетесь администратором и не хотите никому делиться учетными данными. Но что, если вы хотите создать приложение, которое точно выполняет задачу преобразования текста в речь и позволяет загружать преобразованную речь в формате MP3.

Преобразование текста в речь с использованием Amazon Polly и PHP

Чтобы создать приложение PHP для Amazon Polly, сначала необходимо получить учетные данные безопасности AWS. Вы можете получить его, войдя в учетную запись AWS и нажав «Мои учетные данные для безопасности».

Преобразование текста в речь с помощью Amazon Polly в PHP

Получив учетные данные, установите AWS SDK для PHP с помощью Composer. Выполните приведенную ниже команду для установки библиотеки.

composer require aws/aws-sdk-php

После установки создайте форму, которая позволяет пользователю загрузить файл и отправить его на сервер для его обработки.

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

Как упоминалось ранее, пользователь может передавать речь либо в текстовом формате, либо в формате SSML. Я предпочитаю использовать SSML, который позволяет нам контролировать сгенерированную речь из предоставленного текста. Используя SSML, мы можем включить паузу в текст, изменить скорость речи, выделить определенные слова или фразы и т.д. Подробнее об этом читайте в разделе Использование SSML. По сути, вам нужно использовать в тексте теги, предоставляемые SSML.

В этом руководстве я создаю простой текстовый файл с тегами SSML. Мой текстовый файл выглядит следующим образом.

dummy.txt

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

Затем при отправке формы загруженный текстовый файл будет отправлен в облачный сервис AWS, а файлы MP3 будут загружены автоматически. Напишите для него код следующим образом.

<?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();
    }
}
?>

Замените заполнители фактическими значениями. В приведенном выше коде я передал значение VoiceId – Matthew. «Мэтью» – это голосовой идентификатор, который добавляет речевой акцент на английском (США) (en-US) языке. Конечно, пользователь может выбрать любой предпочтительный голосовой идентификатор. Вы получите список доступных голосов на их странице «Голоса в Amazon Polly».

Идите и проверьте это. При загрузке текстового файла вы получите аудиофайл с текстом в формате MP3.

Все дело в преобразовании текста в речь с помощью Amazon Polly на PHP. Я хотел бы услышать ваши мысли или предложения в разделе комментариев ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее