{"id":28126,"date":"2021-05-18T18:03:00","date_gmt":"2021-05-18T15:03:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28126"},"modified":"2021-10-17T04:49:47","modified_gmt":"2021-10-17T01:49:47","slug":"text-till-tal-med-amazon-polly-i-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/text-till-tal-med-amazon-polly-i-php\/","title":{"rendered":"Text-till-tal med Amazon Polly i PHP"},"content":{"rendered":"<p>Amazon Polly \u00e4r en snyggt gjort molntj\u00e4nst som l\u00e5ter oss konvertera text till verklighetstroget tal. Dessutom levererar Amazon Polly banbrytande f\u00f6rb\u00e4ttringar av talkvaliteten genom en ny maskininl\u00e4rningsmetod. De erbjuder kunderna de mest naturliga och m\u00e4nskliga text-till-tal-r\u00f6sterna.<\/p>\n<p>F\u00f6rdelarna med att anv\u00e4nda Amazon Polly inkluderar:<\/p>\n<ul>\n<li>H\u00f6g kvalitet<\/li>\n<li>L\u00e5g latens<\/li>\n<li>St\u00f6d f\u00f6r en stor portf\u00f6lj av spr\u00e5k och r\u00f6ster<\/li>\n<li>Kostnadseffektiv<\/li>\n<li>Molnbaserad l\u00f6sning<\/li>\n<\/ul>\n<p>Det finns flera applikationer d\u00e4r Amazon Polly kan vara anv\u00e4ndbart. N\u00e5gra av dem \u00e4r &#8211; applikationer som nyhetsl\u00e4sare. spel, eLearning-plattformar, applikationer f\u00f6r synskadade etc. Du kan l\u00e4sa mer om den h\u00e4r tj\u00e4nsten i deras <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/what-is.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentation<\/a>.<\/p>\n<p>I den h\u00e4r artikeln visar jag dig hur du konverterar text till tal med Amazon Polly och PHP.<\/p>\n<h3>Amazon Polly Console<\/h3>\n<p>Om du inte vill bygga en PHP-applikation kan du anv\u00e4nda Polly-konsolen direkt. Du kan komma \u00e5t den genom att logga in p\u00e5 ditt AWS-konto. Efter inloggning, g\u00e5 \u00f6ver till Amazon Polly-konsolen. P\u00e5 denna sida f\u00e5r du alternativ f\u00f6r att l\u00e4gga till tal i vanlig text eller SSML-format. Du kan v\u00e4lja region, r\u00f6st-ID och lyssna p\u00e5 ett tal eller till och med ladda ner det i MP3-format.<\/p>\n<p>Att anv\u00e4nda konsolen \u00e4r ett alternativ om du \u00e4r administrat\u00f6r och inte vill dela kontouppgifter med n\u00e5gon. Men t\u00e4nk om du vill bygga ett program som g\u00f6r den exakta uppgiften att konvertera text till tal och l\u00e5ta dig ladda ner MP3 med konverterat tal.<\/p>\n<h3>Text-till-tal med Amazon Polly och PHP<\/h3>\n<p>F\u00f6r att bygga PHP-applikationen f\u00f6r Amazon Polly m\u00e5ste du f\u00f6rst f\u00e5 dina AWS-s\u00e4kerhetsuppgifter. Du kan f\u00e5 det genom att logga in p\u00e5 AWS-kontot och klicka sedan p\u00e5 &#8217;Mina s\u00e4kerhetsuppgifter&#8217;.<\/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-till-tal med Amazon Polly i PHP\" ><\/a><\/p>\n<p>N\u00e4r du har f\u00e5tt dina referenser installerar du <a href=\"https:\/\/github.com\/aws\/aws-sdk-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">AWS SDK f\u00f6r PHP<\/a> med Composer. K\u00f6r kommandot nedan f\u00f6r installation av biblioteket.<\/p>\n<pre><code>composer require aws\/aws-sdk-php<\/code><\/pre>\n<p>Vid installationen skapar du ett formul\u00e4r som l\u00e5ter anv\u00e4ndaren ladda upp en fil och skicka den till servern f\u00f6r bearbetning.<\/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>Som tidigare n\u00e4mnts kan anv\u00e4ndaren skicka tal antingen i ren text eller SSML-format. Jag f\u00f6redrar att anv\u00e4nda SSML som g\u00f6r det m\u00f6jligt f\u00f6r oss att kontrollera genererat tal fr\u00e5n den tillhandah\u00e5llna texten. Med hj\u00e4lp av SSML kan vi inkludera en paus i texten, \u00e4ndra talhastighet, betona specifika ord eller fraser etc. L\u00e4s mer om detta p\u00e5 <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/ssml.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Anv\u00e4nda SSML<\/a>. I grund och botten m\u00e5ste du anv\u00e4nda taggar fr\u00e5n SSML i din text.<\/p>\n<p>F\u00f6r den h\u00e4r handledningen bygger jag en vanlig textfil med SSML-taggar. Min textfil \u00e4r som f\u00f6ljer.<\/p>\n<p><strong>dummy.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>D\u00e4refter skickas uppladdad textfil till AWS molntj\u00e4nst och sedan \u00e5terl\u00e4mnas MP3-filer automatiskt. Skriv koden f\u00f6r det enligt f\u00f6ljande.<\/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>Ers\u00e4tt platsh\u00e5llarna med de faktiska v\u00e4rdena. I ovanst\u00e5ende kod har jag skickat v\u00e4rdet f\u00f6r &#8217;VoiceId&#8217; \u00e4r &#8217;Matthew&#8217;. &#8217;Matthew&#8217; \u00e4r ett r\u00f6st-ID som l\u00e4gger till en talaccent p\u00e5 engelska (US) (en-US). Naturligtvis kan anv\u00e4ndaren v\u00e4lja vilket r\u00f6st-ID som helst. Du kommer att f\u00e5 en lista \u00f6ver tillg\u00e4ngliga r\u00f6ster p\u00e5 deras <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/voicelist.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">r\u00f6ster i Amazon Polly-<\/a> sidan.<\/p>\n<p>Forts\u00e4tt och testa det. N\u00e4r du laddar upp din textfil f\u00e5r du MP3-ljudfilen till din text.<\/p>\n<p>Det handlar om att konvertera text till tal med Amazon Polly i PHP. Jag skulle vilja h\u00f6ra dina tankar eller f\u00f6rslag i kommentarsektionen nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/ladda-upp-filer-till-amazon-s3-med-aws-php-sdk\/\" title=\"Ladda upp filer till Amazon S3 med AWS PHP SDK\">Ladda upp filer till Amazon S3 med AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-laddar-jag-upp-filen-till-s3-med-laravel-filesystem\/\" title=\"Hur laddar jag upp filen till S3 med Laravel Filesystem\">Hur laddar jag upp filen till S3 med Laravel Filesystem<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <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 till\u00e5ter oss att konvertera text till tal. I den h\u00e4r artikeln studerar vi hur man konverterar och textar till tal i PHP. I de sista stegen f\u00e5r du MP3-fil<\/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":[279],"tags":[850],"class_list":["post-28126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=28126"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/28126\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/20575"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=28126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=28126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=28126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}