{"id":24409,"date":"2021-05-18T17:32:00","date_gmt":"2021-05-18T14:32:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24409"},"modified":"2021-10-18T02:15:36","modified_gmt":"2021-10-17T23:15:36","slug":"text-to-speech-utilisant-amazon-polly-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/text-to-speech-utilisant-amazon-polly-en-php\/","title":{"rendered":"Text-To-Speech utilisant Amazon Polly en PHP"},"content":{"rendered":"<p>Amazon Polly est un service cloud bien fait qui nous permet de convertir du texte en discours r\u00e9aliste. De plus, Amazon Polly offre des am\u00e9liorations r\u00e9volutionnaires de la qualit\u00e9 vocale gr\u00e2ce \u00e0 une nouvelle approche d&rsquo;apprentissage automatique. Ils offrent aux clients les voix de synth\u00e8se vocale les plus naturelles et les plus humaines possibles.<\/p>\n<p>Les avantages de l&rsquo;utilisation d&rsquo;Amazon Polly incluent\u00a0:<\/p>\n<ul>\n<li>Haute qualit\u00e9<\/li>\n<li>Faible latence<\/li>\n<li>Prise en charge d&rsquo;un large portefeuille de langues et de voix<\/li>\n<li>Rentable<\/li>\n<li>Solution bas\u00e9e sur le cloud<\/li>\n<\/ul>\n<p>Il existe plusieurs applications o\u00f9 Amazon Polly peut \u00eatre utile. Certains d&rsquo;entre eux sont des applications telles que les lecteurs de nouvelles. jeux, plateformes eLearning, applications pour personnes malvoyantes, etc. Vous pouvez en savoir plus sur ce service sur leur <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/what-is.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentation<\/a>.<\/p>\n<p>Dans cet article, je vous montre comment convertir du texte en parole avec Amazon Polly et PHP.<\/p>\n<h3>Console Amazon Polly<\/h3>\n<p>Si vous ne souhaitez pas cr\u00e9er d&rsquo;application PHP, vous pouvez utiliser directement la console Polly. Vous pouvez y acc\u00e9der en vous connectant \u00e0 votre compte AWS. Apr\u00e8s la connexion, rendez-vous sur la console Amazon Polly. Sur cette page, vous obtiendrez les options pour ajouter de la parole en texte brut ou au format SSML. Vous pouvez choisir la r\u00e9gion, l&rsquo;identifiant vocal et \u00e9couter un discours ou m\u00eame le t\u00e9l\u00e9charger au format MP3.<\/p>\n<p>L&rsquo;utilisation de la console est une option si vous \u00eates l&rsquo;administrateur et que vous ne souhaitez pas partager les informations d&rsquo;identification du compte avec qui que ce soit. Mais que se passe-t-il si vous souhaitez cr\u00e9er une application qui effectue la t\u00e2che exacte de convertir du texte en parole et vous permet de t\u00e9l\u00e9charger le MP3 de la parole convertie.<\/p>\n<h3>Text-To-Speech avec Amazon Polly et PHP<\/h3>\n<p>Pour cr\u00e9er l&rsquo;application PHP pour Amazon Polly, vous devez d&rsquo;abord obtenir vos informations d&rsquo;identification de s\u00e9curit\u00e9 AWS. Vous pouvez l&rsquo;obtenir en vous connectant au compte AWS, puis en cliquant sur \u00abMes informations d&rsquo;identification de s\u00e9curit\u00e9 \u00bb.<\/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=\"Text-To-Speech utilisant Amazon Polly en PHP\" ><\/a><\/p>\n<p>Une fois que vous avez obtenu vos informations d&rsquo;identification, installez le <a href=\"https:\/\/github.com\/aws\/aws-sdk-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">kit AWS SDK pour PHP<\/a> \u00e0 l&rsquo;aide de Composer. Ex\u00e9cutez la commande ci-dessous pour l&rsquo;installation de la biblioth\u00e8que.<\/p>\n<pre><code>composer require aws\/aws-sdk-php<\/code><\/pre>\n<p>Lors de l&rsquo;installation, cr\u00e9ez un formulaire qui permet \u00e0 l&rsquo;utilisateur de t\u00e9l\u00e9charger un fichier et de l&rsquo;envoyer au serveur pour le traiter.<\/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>Comme mentionn\u00e9 pr\u00e9c\u00e9demment, l&rsquo;utilisateur peut transmettre la parole soit en texte brut, soit au format SSML. Je pr\u00e9f\u00e8re utiliser SSML qui nous permet de contr\u00f4ler la parole g\u00e9n\u00e9r\u00e9e \u00e0 partir du texte fourni. En utilisant SSML, nous pouvons inclure une pause dans le texte, modifier le d\u00e9bit de parole, mettre l&rsquo;accent sur des mots ou des phrases sp\u00e9cifiques, etc. En savoir plus \u00e0 ce sujet sur <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/ssml.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Utilisation de SSML<\/a>. Fondamentalement, vous devez utiliser les balises fournies par SSML dans votre texte.<\/p>\n<p>Pour ce tutoriel, je cr\u00e9e un fichier texte brut avec des balises SSML. Mon fichier texte est le suivant.<\/p>\n<p><strong>factice.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>Ensuite, lors de la soumission du formulaire, le fichier texte t\u00e9l\u00e9charg\u00e9 sera envoy\u00e9 au service cloud AWS et en retour, les fichiers MP3 seront t\u00e9l\u00e9charg\u00e9s automatiquement. \u00c9crivez le code pour cela comme suit.<\/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>Remplacez les espaces r\u00e9serv\u00e9s par les valeurs r\u00e9elles. Dans le code ci-dessus, j&rsquo;ai pass\u00e9 la valeur pour &lsquo;VoiceId&rsquo; est &lsquo;Matthew&rsquo;. &lsquo;Matthew&rsquo; est un identifiant vocal qui ajoute un accent de discours en anglais (US) (en-US). Bien s\u00fbr, l&rsquo;utilisateur peut choisir n&rsquo;importe quel identifiant vocal pr\u00e9f\u00e9r\u00e9. Vous obtiendrez la liste des voix disponibles sur leur page <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/voicelist.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Voices in Amazon Polly<\/a>.<\/p>\n<p>Allez-y et testez-le. En t\u00e9l\u00e9chargeant votre fichier texte, vous obtiendrez le fichier audio MP3 de votre texte.<\/p>\n<p>Il s&rsquo;agit de convertir du texte en parole \u00e0 l&rsquo;aide d&rsquo;Amazon Polly en PHP. J&rsquo;aimerais entendre vos pens\u00e9es ou vos suggestions dans la section des commentaires ci-dessous.<\/p>\n<h4>Articles Li\u00e9s<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/charger-des-fichiers-sur-amazon-s3-a-l-aide-d-aws-php-sdk\/\" title=\"Charger des fichiers sur Amazon S3 \u00e0 l&#039;aide d&#039;AWS PHP SDK\">Charger des fichiers sur Amazon S3 \u00e0 l&rsquo;aide d&rsquo;AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fr\/comment-telecharger-un-fichier-sur-s3-a-l-aide-du-systeme-de-fichiers-laravel\/\" title=\"Comment t\u00e9l\u00e9charger un fichier sur S3 \u00e0 l&#039;aide du syst\u00e8me de fichiers Laravel\">Comment t\u00e9l\u00e9charger un fichier sur S3 \u00e0 l&rsquo;aide du syst\u00e8me de fichiers Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <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 nous permet de convertir du texte en parole. Dans cet article, nous \u00e9tudions comment convertir du texte en parole en PHP. Lors des derni\u00e8res \u00e9tapes, vous obtiendrez un fichier 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":[273],"tags":[844],"class_list":["post-24409","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=24409"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/24409\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/20575"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=24409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=24409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=24409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}