Teksti puheeksi käyttämällä Amazon Pollyä PHP: ssä
Amazon Polly on hienosti tehty pilvipalvelu, jonka avulla voimme muuntaa tekstin todentuntuiseksi puheeksi. Lisäksi Amazon Polly tarjoaa uraauurtavia parannuksia puheen laadussa uuden koneoppimismenetelmän avulla. Ne tarjoavat asiakkaille mahdollisimman luonnollisen ja ihmismaisen tekstistä puheeksi -äänen.
Amazon Pollyn käytön etuja ovat:
- Korkealaatuinen
- Alhainen viiveaika
- Tuki laajalle kieli- ja äänivalikoimalle
- Kustannustehokas
- Pilvipohjainen ratkaisu
On olemassa useita sovelluksia, joissa Amazon Polly voi olla hyödyllinen. Jotkut niistä ovat – sovelluksia, kuten uutislukijat. pelejä, eLearning-alustoja, sovelluksia näkövammaisille jne. Voit lukea lisää tästä palvelusta heidän dokumentaatiostaan.
Tässä artikkelissa näytän, kuinka teksti voidaan muuntaa puheeksi Amazon Pollyn ja PHP: n avulla.
Amazon Polly -konsoli
Jos et halua rakentaa PHP-sovellusta, voit käyttää Polly-konsolia suoraan. Pääset siihen kirjautumalla sisään AWS-tilillesi. Sisäänkirjautumisen jälkeen siirry Amazon Polly -konsoliin. Tältä sivulta saat vaihtoehdot puheen lisäämiseksi pelkkänä tekstinä tai SSML-muodossa. Voit valita alueen, äänitunnuksen ja kuunnella puheen tai jopa ladata sen MP3-muodossa.
Konsolin käyttö on yksi vaihtoehto, jos olet järjestelmänvalvoja etkä halua jakaa tilitietoja kenellekään. Mutta entä jos haluat rakentaa sovelluksen, joka tekee tarkan tehtävän muuntaa teksti puheeksi ja antaa sinun ladata MP3 muunnetusta puheesta.
Teksti puheeksi käyttämällä Amazon Pollyä ja PHP: tä
Amazon Pollylle tarkoitetun PHP-sovelluksen rakentamiseksi sinun on ensin hankittava AWS-suojaustunnuksesi. Voit hankkia sen kirjautumalla AWS-tilille ja napsauttamalla sitten My Security Credentials.
Kun olet saanut kirjautumistiedot, asenna AWS SDK for PHP Composerin avulla. Suorita alla oleva komento kirjaston asentamiseksi.
composer require aws/aws-sdk-php
Luo asennuksen jälkeen lomake, jonka avulla käyttäjä voi ladata tiedoston ja lähettää sen palvelimelle sen käsittelyä varten.
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit" name="submit">Submit</button>
</form>
Kuten aiemmin mainittiin, käyttäjä voi puhua joko tekstimuodossa tai SSML-muodossa. Haluan käyttää mieluummin SSML: ää, jonka avulla voimme hallita tuotettua puhetta annetusta tekstistä. SSML: n avulla voimme sisällyttää tauon tekstiin, muuttaa puhenopeutta, korostaa tiettyjä sanoja tai lauseita jne. Lue lisää aiheesta SSML: n käyttö. Pohjimmiltaan sinun on käytettävä tekstissäsi SSML: n tarjoamia tunnisteita.
Tätä opetusohjelmaa varten rakennan pelkkää tekstitiedostoa SSML-tunnisteilla. Tekstitiedostoni on seuraava.
dummy.txt
<speak>
<prosody rate='medium'>Hi, I am Sajid. I do blogging at Artisans Web.</prosody>
</speak>
Seuraavaksi lähetettäessä lähetetty tekstitiedosto lähetetään AWS-pilvipalveluun ja vastineeksi MP3-tiedostot ladataan automaattisesti. Kirjoita sille koodi seuraavasti.
<?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();
}
}
?>
Korvaa paikkamerkit todellisilla arvoilla. Edellä olevassa koodissa olen välittänyt VoiceId-arvon arvon Matthew. ‘Matthew’ on äänitunnus, joka lisää puheen aksentin englannin (Yhdysvallat) (en-Yhdysvallat) kielellä. Tietysti käyttäjä voi valita minkä tahansa haluamasi äänitunnuksen. Saat luettelon käytettävissä olevista äänistä heidän ääniään Amazon Polly -sivulta.
Mene eteenpäin ja testaa se. Kun lataat tekstitiedoston, saat tekstisi MP3-äänitiedoston.
Kyse on tekstin muuntamisesta puheeksi käyttämällä Amazon Pollyä PHP: ssä. Haluaisin kuulla ajatuksesi tai ehdotuksesi alla olevassa kommenttiosassa.