{"id":24395,"date":"2021-05-18T18:14:00","date_gmt":"2021-05-18T15:14:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24395"},"modified":"2021-10-18T02:41:06","modified_gmt":"2021-10-17T23:41:06","slug":"text-to-speech-mit-amazon-polly-in-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/de\/text-to-speech-mit-amazon-polly-in-php\/","title":{"rendered":"Text-to-Speech mit Amazon Polly in PHP"},"content":{"rendered":"<p>Amazon Polly ist ein gut gemachter Cloud-Service, der es uns erm\u00f6glicht, Text in lebensechte Sprache umzuwandeln. Dar\u00fcber hinaus bietet Amazon Polly durch einen neuen Ansatz f\u00fcr maschinelles Lernen bahnbrechende Verbesserungen der Sprachqualit\u00e4t. Sie bieten Kunden m\u00f6glichst nat\u00fcrliche und menschen\u00e4hnliche Text-to-Speech-Stimmen.<\/p>\n<p>Zu den Vorteilen der Verwendung von Amazon Polly geh\u00f6ren:<\/p>\n<ul>\n<li>Hohe Qualit\u00e4t<\/li>\n<li>Geringe Wartezeit<\/li>\n<li>Unterst\u00fctzung f\u00fcr ein gro\u00dfes Portfolio an Sprachen und Stimmen<\/li>\n<li>Kosteneffizient<\/li>\n<li>Cloud-basierte L\u00f6sung<\/li>\n<\/ul>\n<p>Es gibt mehrere Anwendungen, bei denen Amazon Polly n\u00fctzlich sein kann. Einige von ihnen sind \u2013 Anwendungen wie Newsreader. Spiele, eLearning-Plattformen, Anwendungen f\u00fcr Sehbehinderte usw. Weitere Informationen zu diesem Dienst finden Sie in der <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>In diesem Artikel zeige ich Ihnen, wie Sie mit Amazon Polly und PHP Text in Sprache umwandeln.<\/p>\n<h3>Amazon Polly-Konsole<\/h3>\n<p>Wenn Sie keine PHP-Anwendung erstellen m\u00f6chten, k\u00f6nnen Sie die Polly-Konsole direkt verwenden. Sie k\u00f6nnen darauf zugreifen, indem Sie sich bei Ihrem AWS-Konto anmelden. Gehen Sie nach der Anmeldung zur Amazon Polly-Konsole. Auf dieser Seite erhalten Sie die Optionen zum Hinzuf\u00fcgen von Sprache im Klartext- oder SSML-Format. Sie k\u00f6nnen die Region und die Sprach-ID ausw\u00e4hlen und eine Rede anh\u00f6ren oder sogar im MP3-Format herunterladen.<\/p>\n<p>Die Verwendung der Konsole ist eine Option, wenn Sie der Administrator sind und die Kontoanmeldeinformationen mit niemandem teilen m\u00f6chten. Aber was ist, wenn Sie eine Anwendung erstellen m\u00f6chten, die genau die Aufgabe \u00fcbernimmt, Text in Sprache umzuwandeln und es Ihnen erm\u00f6glicht, MP3 der konvertierten Sprache herunterzuladen.<\/p>\n<h3>Text-to-Speech mit Amazon Polly und PHP<\/h3>\n<p>Um die PHP-Anwendung f\u00fcr Amazon Polly zu erstellen, m\u00fcssen Sie zun\u00e4chst Ihre AWS-Sicherheitsdaten abrufen. Sie erhalten es, indem Sie sich beim AWS-Konto anmelden und dann auf \u201eMeine Sicherheitsanmeldeinformationen&#8220; klicken.<\/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 mit Amazon Polly in PHP\" ><\/a><\/p>\n<p>Nachdem Sie Ihre Anmeldeinformationen erhalten haben, installieren Sie das <a href=\"https:\/\/github.com\/aws\/aws-sdk-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">AWS SDK for PHP<\/a> mit dem Composer. F\u00fchren Sie den folgenden Befehl aus, um die Bibliothek zu installieren.<\/p>\n<pre><code>composer require aws\/aws-sdk-php<\/code><\/pre>\n<p>Erstellen Sie nach der Installation ein Formular, mit dem der Benutzer eine Datei hochladen und zur Verarbeitung an den Server senden kann.<\/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>Wie bereits erw\u00e4hnt, kann der Benutzer Sprache entweder im Klartext- oder SSML-Format weitergeben. Ich ziehe es vor, SSML zu verwenden, das es uns erm\u00f6glicht, die generierte Sprache aus dem bereitgestellten Text zu steuern. Mit SSML k\u00f6nnen wir eine Pause in den Text einf\u00fcgen, die Sprechgeschwindigkeit \u00e4ndern, bestimmte W\u00f6rter oder S\u00e4tze hervorheben usw. Lesen Sie mehr dar\u00fcber unter <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/ssml.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Verwenden von SSML<\/a>. Grunds\u00e4tzlich m\u00fcssen Sie in Ihrem Text von SSML bereitgestellte Tags verwenden.<\/p>\n<p>F\u00fcr dieses Tutorial erstelle ich eine Nur-Text-Datei mit SSML-Tags. Meine Textdatei ist wie folgt.<\/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>Als n\u00e4chstes wird beim Absenden des Formulars die hochgeladene Textdatei an den AWS Cloud-Service gesendet und im Gegenzug werden MP3-Dateien automatisch heruntergeladen. Schreiben Sie den Code daf\u00fcr wie folgt.<\/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>Ersetzen Sie die Platzhalter durch die tats\u00e4chlichen Werte. Im obigen Code habe ich den Wert f\u00fcr &quot;VoiceId&quot; &quot;Matthew&quot; \u00fcbergeben. &#8218;Matthew&#8216; ist eine Sprach-ID, die einen Sprachakzent in englischer (US) (en-US) Sprache hinzuf\u00fcgt. Nat\u00fcrlich kann der Benutzer jede bevorzugte Sprach-ID w\u00e4hlen. Sie erhalten die Liste der verf\u00fcgbaren Stimmen auf der Seite &quot; <a href=\"https:\/\/docs.aws.amazon.com\/polly\/latest\/dg\/voicelist.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Stimmen in Amazon Polly<\/a> &quot;.<\/p>\n<p>Fahren Sie fort und testen Sie es. Beim Hochladen Ihrer Textdatei erhalten Sie die MP3-Audiodatei Ihres Textes.<\/p>\n<p>Es dreht sich alles um die Konvertierung von Text in Sprache mit Amazon Polly in PHP. Ich w\u00fcrde gerne Ihre Gedanken oder Vorschl\u00e4ge im Kommentarbereich unten h\u00f6ren.<\/p>\n<h4>Zum Thema passende Artikel<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/hochladen-von-dateien-auf-amazon-s3-mit-aws-php-sdk\/\" title=\"Hochladen von Dateien in Amazon S3 mit AWS PHP SDK\">Hochladen von Dateien in Amazon S3 mit AWS PHP SDK<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/de\/so-laden-sie-eine-datei-mit-dem-laravel-dateisystem-auf-s3-hoch\/\" title=\"So laden Sie eine Datei mit dem Laravel-Dateisystem auf S3 hoch\">So laden Sie eine Datei mit dem Laravel-Dateisystem auf S3 hoch<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Aufnahmequelle:  <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 erm\u00f6glicht es uns, Text in Sprache umzuwandeln. In diesem Artikel lernen wir, wie man in PHP Text in Sprache umwandelt. In den letzten Schritten erhalten Sie eine MP3-Datei<\/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":[272],"tags":[845],"class_list":["post-24395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-3","tag-affiai-de"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/comments?post=24395"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/posts\/24395\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media\/20575"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/media?parent=24395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/categories?post=24395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/de\/wp-json\/wp\/v2\/tags?post=24395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}