{"id":17024,"date":"2025-10-29T08:57:48","date_gmt":"2025-10-29T06:57:48","guid":{"rendered":"https:\/\/www.beseit.net\/?page_id=17024"},"modified":"2026-09-09T18:33:32","modified_gmt":"2026-09-09T16:33:32","slug":"tts_simple-html","status":"publish","type":"page","link":"https:\/\/www.beseit.net\/?page_id=17024","title":{"rendered":"tts_simple.html (codi)"},"content":{"rendered":"&nbsp;\n\n<style>\n    body { font-family: sans-serif; padding: 2em; background: #f0f0f0; }<br \/>\n    textarea { width: 100%; max-width: 600px; height: 150px; font-size: 1.2em; }<br \/>\n    button { font-size: 1.2em; margin-top: 1em; }<br \/>\n  <\/style>\n\n&nbsp;\n<h2>Conversor de text a veu (Catal\u00e0)<\/h2>\n<textarea id=\"text\" placeholder=\"Escriu el text que vols escoltar...\">Bon dia! Com est\u00e0s?<\/textarea>\n<button>Escolta<\/button>\n\n<script><br \/>\n    function speak() {<br \/>\n      const text = document.getElementById('text').value;<br \/>\n      const utterance = new SpeechSynthesisUtterance(text);<br \/>\n      const voices = speechSynthesis.getVoices();<br \/>\n      const catala = voices.find(v => v.lang === 'ca-ES');<\/p>\n<p>      if (catala) {<br \/>\n        utterance.voice = catala;<br \/>\n        utterance.lang = 'ca-ES';<br \/>\n      } else {<br \/>\n        alert(\"\u26a0\ufe0f No s'ha trobat cap veu catalana disponible.\");<br \/>\n      }<\/p>\n<p>      speechSynthesis.speak(utterance);<br \/>\n    }<\/p>\n<p>    \/\/ Carrega les veus (pot trigar una mica)<br \/>\n    window.speechSynthesis.onvoiceschanged = () => {};<br \/>\n  <\/script>\n\n<!-- wp:enlighter\/codeblock MUT -->\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"ca\"&gt;\n&lt;head&gt;\n  &lt;meta charset=\"UTF-8\"&gt;\n  &lt;title&gt;Prova TTS Catal\u00e0&lt;\/title&gt;\n  &lt;style&gt;\n    body { font-family: sans-serif; padding: 2em; background: #f0f0f0; }\n    textarea { width: 100%; max-width: 600px; height: 150px; font-size: 1.2em; }\n    button { font-size: 1.2em; margin-top: 1em; }\n  &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n  &lt;h2&gt;Conversor de text a veu (Catal\u00e0)&lt;\/h2&gt;\n  &lt;textarea id=\"text\" placeholder=\"Escriu el text que vols escoltar...\"&gt;Bon dia! Com est\u00e0s?&lt;\/textarea&gt;&lt;br&gt;\n  &lt;button onclick=\"speak()\"&gt;Escolta&lt;\/button&gt;\n\n  &lt;script&gt;\n    function speak() {\n      const text = document.getElementById('text').value;\n      const utterance = new SpeechSynthesisUtterance(text);\n      const voices = speechSynthesis.getVoices();\n      \/\/const catala = voices.find(v =&gt; v.lang &amp;&amp; v.lang.toLowerCase().startsWith('ca'));&lt;br \/&gt;\n      const catala = voices.find(v =&gt; v.lang === 'ca-ES');\n\n      if (catala) {\n        utterance.voice = catala;\n        utterance.lang = 'ca-ES';\n      } else {\n        alert(\"\u26a0\ufe0f No s'ha trobat cap veu catalana disponible.\");\n      }\n\n      speechSynthesis.speak(utterance);\n    }\n\n    \/\/ Carrega les veus (pot trigar una mica)\n    window.speechSynthesis.onvoiceschanged = () =&gt; {};\n  &lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/pre>\n<!-- \/wp:post-content -->","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; Conversor de text a veu (Catal\u00e0) Bon dia! Com est\u00e0s? Escolta &lt;!DOCTYPE html&gt; &lt;html lang=\u00bbca\u00bb&gt; &lt;head&gt; &lt;meta charset=\u00bbUTF-8&#8243;&gt; &lt;title&gt;Prova TTS Catal\u00e0&lt;\/title&gt; &lt;style&gt; body { font-family: sans-serif; padding: 2em; background: #f0f0f0; } textarea { width: 100%; max-width: 600px; height: &hellip; <a href=\"https:\/\/www.beseit.net\/?page_id=17024\">Continua llegint <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":3167,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"class_list":["post-17024","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/pages\/17024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17024"}],"version-history":[{"count":6,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/pages\/17024\/revisions"}],"predecessor-version":[{"id":18970,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/pages\/17024\/revisions\/18970"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/media\/3167"}],"wp:attachment":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}