{"id":24578,"date":"2021-05-18T17:43:00","date_gmt":"2021-05-18T14:43:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24578"},"modified":"2021-10-18T03:12:26","modified_gmt":"2021-10-18T00:12:26","slug":"sintesi-vocale-utilizzando-amazon-polly-in-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/sintesi-vocale-utilizzando-amazon-polly-in-php\/","title":{"rendered":"Sintesi vocale utilizzando Amazon Polly in PHP"},"content":{"rendered":"<p>Amazon Polly \u00e8 un servizio cloud ben fatto che ci consente di convertire il testo in un discorso realistico. Inoltre, Amazon Polly offre miglioramenti rivoluzionari nella qualit\u00e0 del parlato attraverso un nuovo approccio di apprendimento automatico. Offrono ai clienti le voci di sintesi vocale pi\u00f9 naturali e umane possibili.<\/p>\n<p>I vantaggi dell&#8217;utilizzo di Amazon Polly includono:<\/p>\n<ul>\n<li>Alta qualit\u00e0<\/li>\n<li>Bassa latenza<\/li>\n<li>Supporto per un ampio portafoglio di lingue e voci<\/li>\n<li>Conveniente<\/li>\n<li>Soluzione basata su cloud<\/li>\n<\/ul>\n<p>Esistono diverse applicazioni in cui Amazon Polly pu\u00f2 essere utile. Alcuni di questi sono: applicazioni come i lettori di notizie. giochi, piattaforme di eLearning, applicazioni per ipovedenti, ecc. Puoi leggere di pi\u00f9 su questo servizio nella loro <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/what-is.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentazione<\/a>.<\/p>\n<p>In questo articolo, ti mostro come convertire il testo in parlato con Amazon Polly e PHP.<\/p>\n<h3>Console Polly di Amazon<\/h3>\n<p>Se non vuoi creare un&#8217;applicazione PHP, puoi utilizzare direttamente la console Polly. Puoi accedervi effettuando il login al tuo account AWS. Dopo l&#8217;accesso, vai alla console Amazon Polly. In questa pagina, otterrai le opzioni per l&#8217;aggiunta di parlato in formato testo o SSML. Puoi scegliere la regione, l&#8217;id vocale e ascoltare un discorso o anche scaricarlo in formato MP3.<\/p>\n<p>L&#8217;utilizzo della console \u00e8 un&#8217;opzione se sei l&#8217;amministratore e non desideri condividere le credenziali dell&#8217;account con nessuno. Ma cosa succede se vuoi creare un&#8217;applicazione che svolga l&#8217;esatto compito di convertire il testo in voce e ti permetta di scaricare MP3 di parlato convertito.<\/p>\n<h3>Sintesi vocale con Amazon Polly e PHP<\/h3>\n<p>Per creare l&#8217;applicazione PHP per Amazon Polly devi prima ottenere le tue credenziali di sicurezza AWS. Puoi ottenerlo accedendo all&#8217;account AWS e quindi facendo clic su &quot;Le mie credenziali di sicurezza&quot;.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20574-6082073c5fe4a.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20574-6082073c5fe4a.png\" alt=\"Sintesi vocale utilizzando Amazon Polly in PHP\" ><\/a><\/p>\n<p>Una volta ottenute le credenziali, installa l&#8217; <a href=\"https:\/\/github.com\/aws\/aws-sdk-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">SDK AWS per PHP<\/a> utilizzando Composer. Eseguire il comando seguente per l&#8217;installazione della libreria.<\/p>\n<pre><code>composer require aws\/aws-sdk-php<\/code><\/pre>\n<p>Dopo l&#8217;installazione, creare un modulo che consenta all&#8217;utente di caricare un file e inviarlo al server per l&#8217;elaborazione.<\/p>\n<pre><code>&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"file\" name=\"file\" \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;button type=\"submit\" name=\"submit\"&gt;Submit&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Come accennato in precedenza, l&#8217;utente pu\u00f2 trasmettere la voce sia in testo normale che in formato SSML. Preferisco usare SSML che ci consente di controllare il discorso generato dal testo fornito. Utilizzando SSML, possiamo includere una pausa all&#8217;interno del testo, modificare la velocit\u00e0 del parlato, enfatizzare parole o frasi specifiche, ecc. Leggi di pi\u00f9 su questo su <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/ssml.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Utilizzo di SSML<\/a>. Fondamentalmente, \u00e8 necessario utilizzare i tag forniti da SSML nel testo.<\/p>\n<p>Per questo tutorial, sto costruendo un file di testo normale con tag SSML. Il mio file di testo \u00e8 il seguente.<\/p>\n<p><strong>fittizio.txt<\/strong><\/p>\n<pre><code>&lt;speak&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;prosody rate='medium'&gt;Hi, I am Sajid. I do blogging at Artisans Web.&lt;\/prosody&gt;\n&lt;\/speak&gt;<\/code><\/pre>\n<p>Successivamente, al momento dell&#8217;invio del modulo, il file di testo caricato verr\u00e0 inviato al servizio cloud AWS e in cambio i file MP3 verranno scaricati automaticamente. Scrivi il codice per esso come segue.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\nuse AwsPollyPollyClient;\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0try {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$config = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'version' =&gt; 'latest',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'region' =&gt; 'YOUR_AWS_REGION',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'credentials' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'key' =&gt; 'ACCESS_KEY_ID',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; 'SECRET_ACCESS_KEY',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$client = new PollyClient($config);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$args = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'OutputFormat' =&gt; 'mp3',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'Text' =&gt; file_get_contents($_FILES['file']['tmp_name']),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'TextType' =&gt; 'ssml',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'VoiceId' =&gt; 'Matthew', \/\/pass preferred voice id here\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$result = $client-&gt;synthesizeSpeech($args);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$resultData = $result-&gt;get('AudioStream')-&gt;getContents();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0header('Content-length: '. strlen($resultData));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0header('Content-Disposition: attachment; filename=\"text-to-speech.mp3\"');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0header('X-Pad: avoid browser bug');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0header('Cache-Control: no-cache');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $resultData;\n\u00a0\u00a0\u00a0\u00a0} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n\u00a0\u00a0\u00a0\u00a0}\n}\n?&gt;<\/code><\/pre>\n<p>Sostituisci i segnaposto con i valori effettivi. Nel codice sopra, ho passato il valore per &#8216;VoiceId&#8217; \u00e8 &#8216;Matthew&#8217;. &#8216;Matthew&#8217; \u00e8 un ID vocale che aggiunge un accento vocale nella lingua inglese (USA) (en-US). Naturalmente, l&#8217;utente pu\u00f2 scegliere qualsiasi ID vocale preferito. Otterrai l&#8217;elenco delle voci disponibili nella loro pagina <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/voicelist.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Voci in Amazon Polly<\/a>.<\/p>\n<p>Vai avanti e provalo. Quando carichi il tuo file di testo, otterrai il file audio MP3 del tuo testo.<\/p>\n<p>Si tratta di convertire il testo in parlato utilizzando Amazon Polly in PHP. Mi piacerebbe sentire i tuoi pensieri o suggerimenti nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/carica-file-su-amazon-s3-utilizzando-aws-php-sdk\/\" title=\"Carica file su Amazon S3 utilizzando AWS PHP SDK\">Carica file su Amazon S3 utilizzando AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-caricare-file-su-s3-utilizzando-laravel-filesystem\/\" title=\"Come caricare file su S3 utilizzando Laravel Filesystem\">Come caricare file su S3 utilizzando Laravel Filesystem<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Amazon Polly ci consente di convertire il testo in parlato. In questo articolo, studiamo come convertire e trasformare il testo in parlato in PHP. Nei passaggi finali, otterrai il file MP3<\/p>\n","protected":false},"author":1,"featured_media":20575,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[276],"tags":[846],"class_list":["post-24578","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=24578"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24578\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/20575"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=24578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24578"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}