{"id":17173,"date":"2025-11-24T20:38:03","date_gmt":"2025-11-24T18:38:03","guid":{"rendered":"https:\/\/www.beseit.net\/?p=17173"},"modified":"2026-04-09T09:20:31","modified_gmt":"2026-04-09T07:20:31","slug":"simple-text-a-veur","status":"publish","type":"post","link":"https:\/\/www.beseit.net\/?p=17173","title":{"rendered":"\u2721\ufe0f\u2721\ufe0fSimple text a veu"},"content":{"rendered":"<!DOCTYPE html>\n<html lang=\"ca\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>Conversor de text a veu<\/title>\n  <style>\n    body {\n      font-family: sans-serif;\n      padding: 2em;\n      background-color: #f4f4f4;\n    }\n    input {\n      font-size: 1.2em;\n      padding: 0.5em;\n      margin-top: 1em;\n      width: 100%;\n      max-width: 500px;\n    }\n    #speakBtn {\n      font-size: 2em;\n      background: none;\n      border: none;\n      cursor: pointer;\n      margin-top: 1em;\n    }\n    #speakBtn:hover {\n      color: #0078D7;\n    }\n  <\/style>\n<\/head>\n<body>\n  <h2>? Conversor de text a veu<\/h2>\n  <input type=\"text\" id=\"cercar\" placeholder=\"Escriu el text que vols escoltar\">\n  <button id=\"speakBtn\" title=\"Escolta el text\">?<\/button>\n\n  <script>\n    document.addEventListener('DOMContentLoaded', () => {\n      const inputElement = document.getElementById('cercar');\n      const speakBtn = document.getElementById('speakBtn');\n      let voices = [];\n\n      function loadVoices() {\n        voices = speechSynthesis.getVoices();\n      }\n\n      speechSynthesis.onvoiceschanged = loadVoices;\n      loadVoices();\n\n      function speakText() {\n        const text = inputElement.value.trim();\n        if (!text) return;\n\n        const utterance = new SpeechSynthesisUtterance(text);\n        const zira = voices.find(v => v.name === 'Microsoft Zira - English (United States)');\n\n        if (zira) {\n          utterance.voice = zira;\n          utterance.lang = zira.lang;\n        }\n\n        utterance.rate = 1;\n        utterance.pitch = 1;\n\n        speechSynthesis.cancel();\n        speechSynthesis.speak(utterance);\n      }\n\n      speakBtn.addEventListener('click', speakText);\n\n      \/\/ ? Repetir cada 10 segons\n      setInterval(speakText, 10000);\n    });\n  <\/script>\n<\/body>\n<\/html>\n<!-- wp:enlighter\/codeblock mut-->\n\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>\n&lt;html lang=\"ca\">\n&lt;head>\n  &lt;meta charset=\"UTF-8\">\n  &lt;title>Conversor de text a veu&lt;\/title>\n  &lt;style>\n    body {\n      font-family: sans-serif;\n      padding: 2em;\n      background-color: #f4f4f4;\n    }\n    input {\n      font-size: 1.2em;\n      padding: 0.5em;\n      margin-top: 1em;\n      width: 100%;\n      max-width: 500px;\n    }\n    #speakBtn {\n      font-size: 2em;\n      background: none;\n      border: none;\n      cursor: pointer;\n      margin-top: 1em;\n    }\n    #speakBtn:hover {\n      color: #0078D7;\n    }\n  &lt;\/style>\n&lt;\/head>\n&lt;body>\n  &lt;h2>? Conversor de text a veu&lt;\/h2>\n  &lt;input type=\"text\" id=\"cercar\" placeholder=\"Escriu el text que vols escoltar\">\n  &lt;button id=\"speakBtn\" title=\"Escolta el text\">?&lt;\/button>\n\n  &lt;script>\n    document.addEventListener('DOMContentLoaded', () => {\n      const inputElement = document.getElementById('cercar');\n      const speakBtn = document.getElementById('speakBtn');\n      let voices = [];\n\n      function loadVoices() {\n        voices = speechSynthesis.getVoices();\n      }\n\n      speechSynthesis.onvoiceschanged = loadVoices;\n      loadVoices();\n\n      function speakText() {\n        const text = inputElement.value.trim();\n        if (!text) return;\n\n        const utterance = new SpeechSynthesisUtterance(text);\n        const zira = voices.find(v => v.name === 'Microsoft Zira - English (United States)');\n\n        if (zira) {\n          utterance.voice = zira;\n          utterance.lang = zira.lang;\n        }\n\n        utterance.rate = 1;\n        utterance.pitch = 1;\n\n        speechSynthesis.cancel();\n        speechSynthesis.speak(utterance);\n      }\n\n      speakBtn.addEventListener('click', speakText);\n\n      \/\/ ? Repetir cada 10 segons\n      setInterval(speakText, 10000);\n    });\n  &lt;\/script>\n&lt;\/body>\n&lt;\/html>\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Conversor de text a veu ? Conversor de text a veu ?<\/p>\n","protected":false},"author":2,"featured_media":3167,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-17173","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloc-de-notes"],"_links":{"self":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/posts\/17173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"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=17173"}],"version-history":[{"count":12,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/posts\/17173\/revisions"}],"predecessor-version":[{"id":17953,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/posts\/17173\/revisions\/17953"}],"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=17173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}