Tekst-kõne, kasutades PHP-s Amazon Polly
Amazon Polly on kenasti tehtud pilveteenus, mis võimaldab meil teksti elutruuks kõneks teisendada. Lisaks pakub Amazon Polly uue masinõppe meetodi abil murrangulisi kõnekvaliteedi parandusi. Nad pakuvad klientidele võimalikult loomulikke ja inimlikke kõnesid kõneks.
Amazon Polly kasutamise eelised on järgmised:
- Kõrge kvaliteet
- Madal latentsus
- Toetus suurele keelte ja häälte portfellile
- Kuluefektiivne
- Pilvepõhine lahendus
Amazon Pollyst võib kasu olla mitmel rakendusel. Mõned neist on sellised rakendused nagu uudistelugejad. mängud, e-õppe platvormid, nägemispuudega inimestele mõeldud rakendused jne. Selle teenuse kohta leiate lisateavet nende dokumentatsioonist.
Selles artiklis näitan teile, kuidas teisendada teksti kõneks Amazon Polly ja PHP abil.
Amazon Polly konsool
Kui te ei soovi luua PHP-rakendust, võite kasutada otse Polly konsooli. Sellele pääsete juurde, logides sisse oma AWS-i kontole. Pärast sisselogimist minge Amazon Polly konsooli. Sellel lehel leiate kõne lisamise võimalused lihtteksti või SSML-vormingus. Saate valida piirkonna, hääle ID ja kõnet kuulata või isegi MP3-vormingus alla laadida.
Konsooli kasutamine on üks võimalus, kui olete administraator ja te ei soovi konto mandaate kellegagi jagada. Aga mis siis, kui soovite luua rakenduse, mis täidab täpselt teksti kõne teisendamise ülesannet ja võimaldab teisendatud kõne MP3-d alla laadida.
Teksti kõneks kasutamine Amazon Polly ja PHP abil
Amazon Polly jaoks PHP-rakenduse loomiseks peate kõigepealt hankima oma AWS-i turvakonto. Selle saate hankida AWS-i kontole sisselogimisega ja seejärel klõpsata nuppu "Minu turvakood".
Kui olete oma volitused kätte saanud, installige Composeri abil AWS SDK PHP jaoks. Teegi installimiseks käivitage järgmine käsk.
composer require aws/aws-sdk-php
Pärast installimist koostage vorm, mis võimaldab kasutajal faili üles laadida ja serverile töötlemiseks saata.
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<button type="submit" name="submit">Submit</button>
</form>
Nagu eelnevalt mainitud, saab kasutaja kõnet edastada kas lihtteksti või SSML-vormingus. Eelistan kasutada SSML-i, mis võimaldab meil loodud tekstist väljunud kõnet kontrollida. SSML-i kasutades võime teksti lisada pausi, muuta kõnemäära, rõhutada konkreetseid sõnu või fraase jne. Lisateavet selle kohta leiate SSML-i kasutamisest. Põhimõtteliselt peate oma tekstis kasutama SSML-i pakutavaid silte.
Selle õpetuse jaoks ehitan tavalise tekstifaili, millel on SSML-märgendid. Minu tekstifail on järgmine.
näiv.txt
<speak>
<prosody rate='medium'>Hi, I am Sajid. I do blogging at Artisans Web.</prosody>
</speak>
Järgmisena saadetakse vormi esitamisel üleslaaditud tekstifail AWS-i pilveteenusesse ja vastutasuks laaditakse MP3-failid automaatselt alla. Kirjutage selle kood järgmiselt.
<?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();
}
}
?>
Asendage kohatäited tegelike väärtustega. Ülaltoodud koodis olen edastanud ‘VoiceId’ väärtuseks ‘Matthew’. ‘Matthew’ on hääle ID, mis lisab inglise (USA) (et-USA) keeles kõnekeskmendi. Muidugi saab kasutaja valida mis tahes eelistatud hääle ID. Saate saadaolevate häälte loendi nende Voices lehelt Amazon Polly.
Jätkake ja proovige seda. Tekstifaili üleslaadimisel saate oma teksti MP3-helifaili.
See kõik on teksti teisendamine kõneks, kasutades PHP-s Amazon Polly. Tahaksin kuulda teie mõtteid või ettepanekuid allpool olevas kommentaaride jaotises.