✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Перетворення тексту в мову за допомогою Amazon Polly у PHP

28

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". ‘Matthew’ – це голосовий ідентифікатор, який додає мовний наголос англійською (US) (en-US) мовою. Звичайно, користувач може вибрати будь-який бажаний голосовий ідентифікатор. Ви отримаєте список доступних голосів на їхній Голоси на сторінці Amazon Polly.

Вперед і випробуй це. Після завантаження вашого текстового файлу ви отримаєте MP3-аудіофайл вашого тексту.

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

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі