speechgen.io

Webseiten-Bericht für speechgen.io

Realistic Text to Speech converter & AI Voice generator

 Generiert am 11 April 2026 02:41 AM

Aktuelle Statistiken? UPDATE !

Der Wert ist 66/100

SEO Inhalte

Seitentitel

Realistic Text to Speech converter & AI Voice generator

Länge : 55

Perfekt, denn Ihr Seitentitel enthält zwischen 10 und 70 Anzahl Zeichen.

Seitenbeschreibung

Generate realistic Voiceovers online! Insert text to generate speech and download audio mp3/wav. Speak a text with AI-powered voices.

Länge : 133

Großartig, denn Ihre Seitenbeschreibung enthält zwischen 70 und 160 Anzahl Zeichen.

Suchbegriffe

Nicht so gut. Wir konnten keine META-Suchbegriffe auf Ihrer Webseite finden. Benutzen Sie dieses kostenlose Werkzeug um META-Suchbegriffe zu erzeugen.

Og META Eigenschaften

Sehr gut, denn diese Webseite nutzt die Vorteile aus den Og Properties.

Eigenschaft Inhalt
type article
locale en_US
description Generate realistic Voiceovers online! Insert text to generate speech and download audio mp3/wav. Speak a text with AI-powered voices.
url https://speechgen.io/
title Realistic Text to Speech converter & AI Voice generator
site_name SpeechGen.io
audio https://speechgen.io/texttomp3/20220915/prj_699_6c629a45a5f135ad29cfa87a7d9b9043_1663235703.mp3
image https://speechgen.io/img/speechgen_fb_pic.jpg

Überschriften

H1 H2 H3 H4 H5 H6
1 17 30 1 0 0
  • [H1] AI Text to Speech Online
  • [H2]
  • [H2] Result
  • [H2] What is SpeechGen?
  • [H2] Voice Samples
  • [H2] How to Convert Text to Speech in 3 Steps
  • [H2] Who Uses AI Text to Speech — Real Problems, Real Results
  • [H2] 6 Features That Make SpeechGen Different
  • [H2] Built-in Tools
  • [H2] Try Before You Pay — No Commitment Required
  • [H2] Trusted by 70,000 Teams Across 22 Industries
  • [H2] Download MP3, WAV, FLAC — Any Format, Any Bitrate
  • [H2] Why SpeechGen Instead of a Recording Studio
  • [H2] Frequently Asked Questions
  • [H2] 150+ Languages — AI Text to Speech in Any Language
  • [H2] Start Converting Text to Speech — Right Now
  • [H2] Save Voice for Quick AccessSave your favorite voices to Favorites — with custom settings (speed, pitch, style) or in their default state for quick access.Adding to Favorites is only available to registered users.Sign UpAlready have an account? Sign in here","deleteVoiceSuccess":"messages_deleteVoiceSuccess"},"labels":{"favorite":"Favorites","speed":"speed","speedShort":"speed","pitch":"pitch","pitchShort":"pitch","volume":"Volume:","volumeShort":"Volume:","styles":"Style","styleDegree":"Style Strength","role":"Role","intonationDesc":"Intonation allows you to modify the contour\/expressiveness of speech. Available only for select voices.","smartcacheDesc":"SpeechGens's Smart Cache remembers every sentence you've synthesized","unchecked":"labels_unchecked"},"tooltips":{"intonation":"Ability to control intonation contour (if supported by the voice).","smartcache":"Smart Cache speeds up synthesis and saves your limits on repeated requests.","pricing":"When generating, tokens are deducted based on the cost per 1,000 characters\""},"units":{"semitoneShort":"st"},"ui":{"clear":"Clear"}} || {})); /* простой хелпер */ function t(path, fallback){ const parts = String(path||"").split("."); let cur = window.I18N || {}; for (const p of parts){ cur = (cur && typeof cur==="object") ? cur[p] : undefined; } return (cur===undefined || cur===null || cur==="") ? (fallback ?? path) : String(cur); } (()=>{const e=(e,t=document)=>t.querySelector(e),n=(e,t=document)=>Array.from(t.querySelectorAll(e)),s=(e,t)=>{const n=document.createElement(e);return t&&(n.className=t),n},i=(e,t,n)=>Math.max(t,Math.min(n,e)),a=e=>e>0?`+${e}`:`${e}`;const o=e=>e?/^(?:https?:)?\/\//i.test(e)||e.startsWith("data:")?e:location.origin+(e.startsWith("/")?e:"/"+e):"",l=window.LANG_INDEX&&"object"==typeof window.LANG_INDEX&&!Array.isArray(window.LANG_INDEX)?window.LANG_INDEX:{},r={loaded:!1,list:[]},c=(()=>{let e=null,t=null,n=null;const s=()=>e||(e=new Audio,e.preload="none",e.addEventListener("ended",()=>{t&&(l(t,!1),r(t,!1),t=null)}),e.addEventListener("loadeddata",()=>{t&&t.classList.remove("loading")}),e.addEventListener("canplaythrough",()=>{t&&t.classList.remove("loading")}),e.addEventListener("error",()=>{t&&t.classList.remove("loading")}),e);function i(e,t){const n=e?.closest("[data-voice-id]");return{voiceId:e?.dataset?.voiceId||n?.dataset?.voiceId||"",pitch:parseInt(t?.pitch??0,10)||0,style:String(t?.style||"").trim()}}function a(e,t){return!(!e||!t)&&(String(e.voiceId)===String(t.voiceId)&&Number(e.pitch)===Number(t.pitch)&&String(e.style)===String(t.style))}const l=(e,t)=>{e&&e.classList.toggle("play",!!t)},r=(e,t)=>{document.querySelectorAll(".miniplayBu.play").forEach(t=>{t!==e&&t.classList.remove("play")}),e&&e.classList.toggle("play",!!t)};function c(e){e&&(e.classList.add("loading"),clearTimeout(e.__loadingTO),e.__loadingTO=setTimeout(()=>e.classList.remove("loading"),5e3))}function d(e){e&&(e.classList.remove("loading"),clearTimeout(e.__loadTimer),e.__loadTimer=null)}return{async toggle(e,u,p){const v=s(),m=o(u||"");if(!m)return;const g={...i(e,p),url:m};if(v.src===m||a(n,g))if(v.paused){t=e;try{await AudioFX.apply(v,p||{})}catch(e){}await v.play().catch(console.warn),l(t,!0),r(t,!0)}else v.pause(),l(e,!1),r(e,!1),d(e);else{t&&t!==e&&(l(t,!1),d(t)),t=e,c(t),v.pause(),v.src=m,v.currentTime=0;try{await AudioFX.apply(v,p||{})}catch(e){}await v.play().catch(console.warn),l(t,!0),r(t,!0),d(t),n=g}},async applyLive(e){const o=s();if(!o||o.paused)return;try{await AudioFX.apply(o,e||{})}catch(e){}if(!t)return;const u=i(t,e);if(a(n,u))return;const p=b(t,e||{});if(!p)return;let v=0;try{isFinite(o.duration)&&o.duration>0&&(v=Math.max(0,Math.min(1,o.currentTime/o.duration)))}catch(e){}c(t),o.pause(),o.src=p;const m=async()=>{o.removeEventListener("loadedmetadata",m);try{isFinite(o.duration)&&o.duration>0&&v>0?o.currentTime=Math.max(0,Math.min(o.duration-.05,o.duration*v)):o.currentTime=0,await AudioFX.apply(o,e||{}),await o.play(),l(t,!0),r(t,!0),d(t),n={...u,url:p}}catch(e){console.warn(e),d(t)}};o.addEventListener("loadedmetadata",m,{once:!0}),setTimeout(async()=>{if(!(o.readyState>=1))try{await AudioFX.apply(o,e||{}),await o.play(),l(t,!0),r(t,!0),d(t),n={...u,url:p}}catch(e){d(t)}},2e3)},stopInside(e){if(!t||!e.contains(t))return;const n=s();n.pause(),n.currentTime=0,l(t,!1),r(t,!1)},resync(){const e=s(),n=e&&!e.paused&&e.src;document.querySelectorAll(".miniplayBu.play").forEach(e=>e.classList.remove("play")),t&&n&&t.classList.add("play")}}})();function d(e){const t=document.querySelector(".addBalancePop");document.body.classList.add("overlayed"),t&&(t.innerHTML=`\n \n \n ×\n \n ${e}\n OK\n \n \n \n \n `,"function"==typeof popBalClInt&&popBalClInt(null))}const u=()=>new Promise(e=>requestAnimationFrame(()=>e())),p=new WeakMap;async function v(e,t=60){const n=function(e){let t=p.get(e);return t&&!t.signal.aborted||(t=new AbortController,p.set(e,t)),t.signal}(e),s=e.querySelector(".inList");if(s&&e.__stash)for(;e.__stash.firstChild;){if(n.aborted)return;const i=document.createDocumentFragment();for(let n=0;nrequestAnimationFrame(e))}}let m=null;const g=e=>String(e).replace(/[&"']/g,e=>({"&":"&","":">",'"':""","'":"'"}[e]));function y(){if(m)return m;const e=G(l),t=[];return e.forEach(e=>{e.items.forEach((e,n)=>{const s=e.code||e.lang,i=g(e.full_name||e.lang||s),a=g(e.name||(e=>(e||"").split("-")[0]||e)(s)),o=0===n?"":" dialect";t.push(`\n ${i}${a}\n `)})}),m=t.join(""),m}const f=/iP(hone|ad|od)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,h=(/^((?!chrome|android).)*safari/i.test(navigator.userAgent),e=>window.scheduler?.postTask&&!f?scheduler.postTask(e,{priority:"background"}):requestAnimationFrame(e));function b(e,t={}){console.log("resolvePreviewUrlFor");const n=e?.dataset?.basetrack||"";if(!n)return"";const s=e.closest("[data-voice-id]"),i=e.dataset.voiceId||s?.dataset.voiceId||"",a=parseInt(t.pitch??0,10)||0,o=String(t.style||"").trim();if(!!(!i||0===a&&!o))return n;const l=new URL("/index.php",location.origin);return l.searchParams.set("r","ttsV2/preview"),l.searchParams.set("voice_id",i),l.searchParams.set("pitch",String(a)),o&&l.searchParams.set("style",o),l.toString()}function _(e,t,n,s,i=null,a=""){console.log("upsertPopupBox");const o=e.querySelector(".uiRight .uiInner");if(!o)return null;const l=`uiBox uiBox-${t}`;let r=o.querySelector(`.uiBox.uiBox-${t}`);if(e.__uid||(e.__uid=`${Math.random().toString(36).slice(2,8)}`),r){const n=r.querySelector("input.toggle-hidden"),s=r.querySelectorAll("label.popup-backdrop, label.sh2");//!input.id || !input.id.includes(uid); if(1){const i=`toggle-${t}-${e.__uid}`;n.id=i,s.forEach(e=>e.setAttribute("for",i))}}else{r=document.createElement("div"),r.className=l;const n=`toggle-${t}-${e.__uid}`;if(r.innerHTML=`\n \n \n \n \n `,i){const e=o.querySelector(i);e?o.insertBefore(r,e):o.appendChild(r)}else o.appendChild(r)}const c=r.querySelector(".sh2");c&&(c.innerHTML=n||"",a?c.title=a:c.removeAttribute("title"));const d=r.querySelector(".p");return d&&(d.innerHTML=s||""),r}async function S(e){try{const t=e.lang;Y[t]?.voices?.length||await Z.voicesByLang(t);const n=(Y[t]?.voices||[]).find(t=>String(t.id)===String(e.id));return n?{...e,name:e.name||n.name,api:n.api,api_id:n.api_id,pro:!!Number(n.pro),sex:n.sex,mp3:n.mp3,price:n.price,type:n.type,type_name:n.type_name,em:n.em??n.styles??null,styles:n.styles??null,roles:n.roles??n.role??null,_base:n}:e}catch(t){return e}}const w=(e,t,n=1e-6)=>{const s=+e,i=+t;return Number.isFinite(s)&&Number.isFinite(i)?Math.abs(s-i)null==e?"":String(e);function E({lang:e,id:t,name:n,speed:s,pitch:i,volume:a,style:o,styledegree:l,role:r}){const c=o&&Number.isFinite(+l)?+l:1;return{lang:L(e),id:L(t||""),name:L(n||""),speed:Number.isFinite(+s)?+(+s).toFixed(1):1,pitch:parseInt(i,10)||0,volume:parseInt(a,10)||100,style:L(o),styledegree:+c,role:L(r)}}function k(e){if(_devMode&&console.log(arguments.callee.name),!r.loaded)return null;const t=E({lang:e.lang,id:e.voiceId,name:e.voiceName,speed:e.speed,pitch:e.pitch,volume:e.volume,style:e.style,styledegree:e.styledegree,role:e.role});return r.list.find(e=>{const n=E({lang:e.lang,id:e.id,name:e.name,speed:e.speed,pitch:e.pitch,volume:e.volume,style:e.style,styledegree:e.styledegree,role:e.role});return!!(t.id&&n.id?n.id===t.id:n.name===t.name)&&(n.lang===t.lang&&w(n.speed,t.speed,1e-6)&&n.pitch===t.pitch&&n.volume===t.volume&&n.style===t.style&&w(n.styledegree,t.styledegree,1e-6)&&n.role===t.role)})||null}function A(e){_devMode&&console.log(arguments.callee.name);const t=e?.querySelector(".uiHead"),n=t?.querySelector(".bttnFilters"),s=t?.querySelector(".acceptall");if(!t||!n||n.__wired)return;n.__wired=!0;const i=()=>{t.classList.add("open"),function(){if(t.__outside)return;document.addEventListener("pointerdown",l,!0),t.__outside=l}()},a=()=>{t.classList.remove("open"),r()},o=e=>{e.preventDefault(),e.stopPropagation(),t.classList.contains("open")?a():i()},l=e=>{const n=e.target,s=t.contains(n),i=!!n.closest(".uiDD");s&&!i||a()};function r(){t.__outside&&(document.removeEventListener("pointerdown",t.__outside,!0),t.__outside=null)}n.addEventListener("pointerdown",o),s.addEventListener("pointerdown",o),e.addEventListener("transitionend",()=>{e.classList.contains("open")||r()})}function x(t){return(e(".voice-search",t)?.value||"").trim().toLowerCase()}function C(e,t){return t?e.filter(e=>{const n=String(e.name||"").toLowerCase(),s=String(e.api||"").toLowerCase(),i=String(e.lang||"").toLowerCase();return n.includes(t)||s.includes(t)||i.includes(t)}):e}function M(e){const n=x(e);return n?t("messages.noVoicesWithQuery",'Nothing found for "{q}"').replace("{q}",g(n)):t("messages.noVoices","Nothing found with these filters")}function q(e,t,n,s){const i=e.querySelector(`.${t}`);if(!i)return;const a=i.querySelector(".lbl"),o=i.querySelector(".val");a&&(a.textContent="style"==t?String(n).replace(/:?$/,""):String(n).replace(/:?$/,":")),o&&(o.textContent=s)}function N(e){_devMode&&console.log(arguments.callee.name);const t=e.querySelector(".uiMarkers");if(!t)return null;return["speed","pitch","style","volume"].forEach(e=>{let n=t.querySelector(`.uiName.p5[data-marker="${e}"]`);n||(n=document.createElement("div"),n.className="uiName p5",n.dataset.marker=e,t.appendChild(n));let s=n.querySelector(`span.${e}`);s||(s=document.createElement("span"),s.className=e,n.appendChild(s));let i=s.querySelector(".lbl"),a=s.querySelector(".val");return i||(i=document.createElement("span"),i.className="lbl",s.prepend(i)),a||(a=document.createElement("span"),a.className="val",s.appendChild(a)),{wrap:n,span:s,lbl:i,val:a}}),t}const $=(e,t=150)=>{let n=0;return(...s)=>{clearTimeout(n),n=setTimeout(()=>e(...s),t)}},F=new WeakMap;function I(e){let t=F.get(e);return t&&!t.signal.aborted||(t=new AbortController,F.set(e,t)),t.signal}function T(e){const t=F.get(e);t&&!t.signal.aborted&&t.abort()}function B(t){const n=e(".uiRight .uiInner",t);if(!n)return{};const s=e('select[name="style"]',n);let i="",a="";return s&&s.value&&"none"!==s.value&&(i=s.value,a=s?.options[s.selectedIndex]?.text||""),{speed:parseFloat(e('select[name="speed"]',n)?.value)||1,pitch:parseInt(e('select[name="tone"]',n)?.value,10)||0,volume:parseInt(e('select[name="volume"]',n)?.value,10)||100,style:i,styleName:a,styledegree:(()=>{const t=parseFloat(e('input[name="styledegree"]',n)?.value);return isNaN(t)?1:t})(),role:e('select[name="role"]',n)?.value||""}}function P(e,t){if(!t)return;console.log(".saveVoise for speaker"),console.log(t);const n=e.closest(".speaker_menu_new"),s=t.lang||O(e,n)||J(n).lang||X(n),a=function(e,t){const n=B(e),s="microsoft"===String(t?.api).toLowerCase(),a=j(t).map(e=>String(e.value)),o=!!n.style&&a.includes(String(n.style)),l=o?n.style:"",r=o&&n.styleName||"",c=s&&l?i(parseFloat(String(n.styledegree||"1")),.01,2):1,d=R(t),u=n.role&&d.includes(n.role)?n.role:"";return{speed:parseFloat(String(n.speed||"1"))||1,pitch:parseInt(String(n.pitch||"0"),10)||0,volume:parseInt(String(n.volume||"100"),10)||100,style:l,styleName:r,styledegree:c,role:u}}(e,t);console.log("selected L= "+s),console.log(t.lang+O(e,n)+X(n)),ue(n,e,{lang:s,voiceId:t.id,voice:t.name,api:t.api,apiId:t.api_id,pro:!!Number(t.pro),price:t.price,speed:a.speed,pitch:a.pitch,volume:a.volume,style:a.style||null,styleName:a.styleName||null,styledegree:a.styledegree,role:a.role||null,type:t.type,type_name:t.type_name})}function V(e,t){const n=t.lang||X(e),s=Y?.[n],i=Array.isArray(s?.voices)?s.voices:[];return i.find(e=>String(e.id)===String(t.voiceId))||i.find(e=>String(e.name)===String(t.voice||t.voiceName))||null}function O(t,n){return e('select[name="lang"]',t)?.value||n?.dataset?.lang||X(n)}function D(e){const t=String(e?.sex??""),n="1"===t?"man":"0"===t?"woman":"2"===t?"neutral":"31"===t?"boy":"30"===t?"girl":"41"===t?"grandpa":"40"===t?"grandma":"woman",s=ie(e?.type),i=!0===e?.new||1===e?.new||"1"===e?.new||"new"===e?.new,a=String(e?.name??e?.voice??"").toLowerCase();if(/^(maksim|maxim|tatiana)$/.test(a))return"/img/icons/bot.png";const o=[];return i&&o.push("new"),s&&"standard"!==s&&o.push(s),o.push(n),o.join("")}function H(){_devMode&&console.log(arguments.callee.name);const e=document.getElementById("speaker_100");if(!e)return;const t=String(e.dataset.api||"").toLowerCase(),n=parseInt(e.dataset.apiId||e.dataset.apiid||"",10),s="microsoft"===t||Number.isFinite(n)&&"undefined"!=typeof MS_API_ID&&n===MS_API_ID,i=11===n||13===n;window.SSMLUI?SSMLUI.setEngine(t):window.__SSML_PENDING_ENGINE=t;const a=document.getElementById("intonationContourBtn");a&&(a.parentElement.style.display=s?"inline-block":"none");const o=document.getElementById("strong");o&&(o.parentElement.style.display=i?"none":"inline-block"),setDir(e.dataset.lang,document.getElementById("mytextarea"))}function j(e){const t=[],n=(e,n)=>{const s=(e??n??"").toString().trim(),i=(n??e??"").toString().trim();s&&t.push({value:s,label:i||s})},s=e=>{if(null==e)return;if(Array.isArray(e))return void e.forEach(s);const t=typeof e;if("string"!==t&&"number"!==t){if("object"===t){if(Array.isArray(e.options)&&s(e.options),"value"in e||"name"in e)return void n(e.value,e.name);Object.entries(e).forEach(([e,t])=>{null!=t&&("string"==typeof t||"number"==typeof t?n(String(t),e):"object"==typeof t?n(t.value??e,t.name??e):n(String(t),e))})}}else n(String(e),String(e))};s(e?.em),0===t.length&&s(e?.styles);const i=new Set;return t.filter(({value:e})=>{const t=String(e).toLowerCase();return!i.has(t)&&(i.add(t),!0)})}function R(e){const t=[],n=e=>{const n=(e??"").toString().trim();n&&t.push(n)},s=e=>{if(e)if(Array.isArray(e))e.forEach(s);else if("string"!=typeof e&&"number"!=typeof e){if("object"==typeof e){if("value"in e||"name"in e)return void n(e.value??e.name);Object.values(e).forEach(s)}}else n(e)};s(e?.roles),s(e?.role);const i=new Set;return t.filter(e=>{const t=e.toLowerCase();return!i.has(t)&&(i.add(t),!0)})}function W(e){const t=[];if(Array.isArray(e))e.forEach((e,n)=>{const s=e?.code||e?.lang;t.push({code:s||"",lang:e?.lang||s||"",full_name:e?.full_name||e?.name||e?.lang||s||"",name:e?.name||(s||"").split("-")[0],magor:Number(e?.magor||0)||0,_idx:n})});else{let n=0;for(const s of Object.keys(e||{})){const i=e[s]||{},a=i.code||i.lang||s;t.push({code:a,lang:i.lang||a,full_name:i.full_name||i.name||i.lang||a,name:i.name||(a||s).split("-")[0],magor:Number(i.magor||0)||0,_idx:n++})}}return t}function G(e){const t=(Array.isArray(e),W(e)),n=new Map;t.forEach(e=>{const t=e.code||e.lang,s=(t||"").split("-")[0]||t;n.has(s)||n.set(s,[]),n.get(s).push(e)});const s=[];for(const[e,t]of n){t.sort((e,t)=>{const n="1"===String(e.magor)?-1:0,s="1"===String(t.magor)?-1:0;return n!==s?n-s:e._idx-t._idx});const n=t.find(e=>"1"===String(e.magor))||t[0];s.push({base:e,items:t,primary:n})}return s}function U(e){return e?l[e]?l[e]:W(l).find(t=>t.code===e||t.lang===e)||null:null}function X(t){const n=t?.dataset?.lang;if(n&&U(n))return n;const s=e(".uiFlag",t)?.dataset.value;if(s&&U(s))return s;const i=W(l),a=i.find(e=>"1"===String(e.magor));if(a)return a.code||a.lang;const o=Object.keys(l)[0];return o||(i[0]?.code||"en-US")}function J(t){_devMode&&console.trace(" readSavedFromSpeaker");const n=t?.dataset||{},s=(e,t)=>""===e||null==e||isNaN(+e)?t:+e;let i={};const a=t.querySelector('input[type="hidden"][name$="_json"]');if(a&&a.value)try{i=JSON.parse(a.value)||{}}catch(e){}const o=e=>void 0!==n[e]?n[e]:void 0!==i[e]?i[e]:void 0,l=o("voice")??o("voiceName")??e(".uiName span",t)?.textContent?.trim()??"";return{lang:o("lang")||e(".uiFlag",t)?.dataset.value||null,voiceId:o("voiceId")||null,voice:l,api:o("api"),apiId:o("apiId"),pro:o("pro"),type:o("type"),type_name:o("type_name"),price:o("price"),speed:void 0!==o("speed")?s(o("speed"),1):void 0,pitch:void 0!==o("pitch")?parseInt(o("pitch"),10):void 0,volume:void 0!==o("volume")?parseInt(o("volume"),10):void 0,style:o("style"),styledegree:void 0!==o("styledegree")?s(o("styledegree"),1):void 0,role:o("role")}}const Y={};function K(e,t){if(!e)return null;if(Array.isArray(e.voices))return t?{[t]:e}:null;if("object"==typeof e){const t={};for(const[n,s]of Object.entries(e))s&&Array.isArray(s.voices)&&(s.code||(s.code=n),t[n]=s);return Object.keys(t).length?t:null}return null}if(window.VOICES_BY_LANG&&"object"==typeof window.VOICES_BY_LANG)if(Array.isArray(window.VOICES_BY_LANG.voices)){const e=window.VOICES_BY_LANG;e.code&&(Y[e.code]=e)}else for(const[e,t]of Object.entries(window.VOICES_BY_LANG))if(t&&Array.isArray(t.voices))Y[e]=t;else{const n=K(t,e);n&&Object.assign(Y,n)}const z=new Map,Z={async voicesByLang(e){if(!e)throw new Error("tts_lang is empty");if(Y?.[e]?.voices?.length)return Y[e];if(!z.has(e)){const t=`/index.php?r=ttsV2/VoiseInfo&type=voice&tts_lang=${encodeURIComponent(e)}&for_uid=${for_uid}`,n=fetch(t,{credentials:"same-origin"}).then(e=>{if(!e.ok)throw new Error(`HTTP ${e.status}`);return e.json()}).then(t=>{const n=K(t,e);if(!n)throw new Error("Bad payload");Object.assign(Y,n),window.langArrText=window.langArrText||{};for(const[e,t]of Object.entries(n))t&&"string"==typeof t.text&&!(e in window.langArrText)&&(window.langArrText[e]=t.text);return Y[e]||Y[Object.keys(n)[0]]});z.set(e,n)}return z.get(e)},toggleFavorite:async()=>!0,async favorites(){if(r.loaded)return r.list;const e=await fetch("/index.php?r=ttsV2/VoiseFavor",{credentials:"same-origin"});if(!e.ok)throw new Error(`HTTP ${e.status}`);const t=await e.json();return r.list=Array.isArray(t?.voices)?t.voices.map(e=>Q(e)):[],r.loaded=!0,r.list},async addFavorite(e){const t=await fetch("/index.php?r=ttsV2/AddFavor",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const e=new Error(`HTTP ${t.status}`);throw e.status=t.status,e}const n=await t.json(),s=Q(n?.voice||{...e,favor_id:n?.favor_id});return!s.favor_id&&n?.favor_id&&(s.favor_id=n.favor_id),r.list.unshift(s),s},async saveFavorite(e){const t=await fetch("/index.php?r=ttsV2/SaveFavor",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(`HTTP ${t.status}`);const n=await t.json(),s=r.list.findIndex(t=>String(t.favor_id)===String(e.favor_id));return s>=0&&(r.list[s]={...r.list[s],...ee(e),...n?.voice?Q(n.voice):{}}),n},async deleteFavorite(e){const t={"Content-Type":"application/json"},n=document.querySelector('meta[name="csrf-token"]')?.content;n&&(t["X-CSRF-Token"]=n);const s=await fetch("/index.php?r=ttsV2/DeleteFavor",{method:"POST",credentials:"same-origin",headers:t,body:JSON.stringify({favor_id:e})});if(!s.ok)throw new Error(`HTTP ${s.status}`);const i=await s.json();if(!i?.ok)throw new Error(i?.error||"Delete failed");return r.list=r.list.filter(t=>String(t.favor_id)!==String(e)),!0}};function Q(e){const t=e.voice_id??e.id;return{favor_id:e.favor_id??e.id_favor??e.id,id:t,name:e.name??e.voice??"",lang:e.lang,api:e.api,api_id:e.api_id,pro:!!Number(e.pro),sex:e.sex,mp3:e.mp3,price:e.price,type:e.type,type_name:e.type_name,...ee(e)}}function ee(e){const t=Number.isFinite(+e.styledegree)?+e.styledegree:1;return{speed:Number.isFinite(+e.speed)?+e.speed:1,pitch:Number.isFinite(+e.pitch)?+e.pitch:0,volume:Number.isFinite(+e.volume)?+e.volume:100,style:e.style??"",styledegree:t>0?t:1,styleName:e.styleName??e.stylename??"",role:e.role??""}}function te(e){const n=e.closest(".uiDD"),s=n?.querySelector("button.xDrop");if(!s)return;s.className=`xDrop ${e.value}`;const i=U(e.value),a=i?.full_name||i?.lang||e.value||t("labels.favorite","Favorite"),o=i?.name||(e.value||"").split("-")[0],l=s.querySelector(".voiceBnt");l&&(l.innerHTML=`${a}${o}`)}function ne(e,t){const n=e?.querySelector("ul");if(!n)return;const s=e.__selectedLi;s&&s.classList.remove("selected");const i=n.querySelector(`li[data-value="${CSS.escape(t)}"]`);i&&(i.classList.add("selected"),e.__selectedLi=i)}function se(t){return e('.voice-tab-content[data-content="all"] .voices-full',t)}!function(){window;function e(e){e.__skel&&(e.__skel.remove(),e.__skel=null)}function n(e,n){_devMode&&console.log("ensureMenuShell");let s=e.querySelector(".lang-menu");s||(s=document.createElement("div"),s.className="lang-menu xvoicelist langlist lang_sprites",s.setAttribute("role","dialog"),s.setAttribute("aria-hidden","true"),s.hidden=!0,s.style.contain="content",s.style.willChange="transform,opacity",s.style.maxHeight="40px",s.style.overflow="hidden",s.innerHTML=`\n \n \n \n \n \n `,e.appendChild(s));const i=s.querySelector(".searchlang"),a=s.querySelector(".searchwrap .lupa"),o=s.querySelector("ul");if(i&&a&&!a.__wired){a.__wired=!0;const e=()=>a.classList.toggle("clr",!!i.value.trim());["input","change","keyup","cut","paste"].forEach(t=>i.addEventListener(t,e,{passive:!0})),a.addEventListener("click",()=>{i.value&&(i.value="",i.dispatchEvent(new Event("input",{bubbles:!0})),i.focus())}),e()}return o.__wired||(o.__wired=!0,o.addEventListener("click",t=>{const i=t.target.closest("li[data-value]");if(!i)return;const a=i.dataset.value;n.value=a,te(n),ne(s,a),n.dispatchEvent(new Event("change",{bubbles:!0})),closeLangMenu(e)})),s}function s(e){_devMode&&console.log("setupLangSearchFiltering");const t=e.querySelector(".searchlang"),n=e.querySelector("ul");if(!t||!n||t.__debounced)return;t.__debounced=!0;const s=()=>{n.querySelectorAll("li[data-value]").forEach(e=>{e.dataset.key||(e.dataset.key=(e.textContent||"").toLowerCase())})};s();let i=null;const a=new MutationObserver(e=>{for(const t of e)t.addedNodes.forEach(e=>{1===e.nodeType&&e.matches("li[data-value]")&&!e.dataset.key&&(e.dataset.key=(e.textContent||"").toLowerCase())})});a.observe(n,{childList:!0}),e.__observer=a;const o=$(()=>(e=>{i&&i.abort();const t=new AbortController;i=t;const s=(e||"").trim().toLowerCase();if(!s){const e=Array.from(n.children);let s=0,i=200;const a=()=>{if(t.signal.aborted)return;const n=Math.min(s+i,e.length);for(;si=!1,100),a.__open=!0,a.setAttribute("aria-hidden","false"),a.classList.add("open"),a.classList.remove("--vis-hide");const o=a.querySelector("ul");if(o&&(o.style.display="none"),function(e){if(_devMode&&console.log("showLangSkeleton"),e.__skel)return;const t=document.createElement("div");t.className="lang-skel",t.innerHTML=Array.from({length:3}).map(()=>'\n ...\n .........\n ').join(""),e.appendChild(t),e.__skel=t}(a),a.style.maxHeight="",!a.__outside){const e=e=>{if(!a.__open||i)return;const n=t.querySelector("button.xDrop");n&&(e.target===n||n.contains(e.target))||t.contains(e.target)||closeLangMenu(t)};f?(document.addEventListener("touchstart",e,!0),document.addEventListener("click",e,!0)):document.addEventListener("pointerdown",e,!0),a.__outside=e}if(a.__skelObs&&(a.__skelObs.disconnect(),a.__skelObs=null),o){const t=new MutationObserver(n=>{for(const s of n)if(s.addedNodes&&s.addedNodes.length){requestAnimationFrame(()=>h(()=>e(a))),t.disconnect(),a.__skelObs=null;break}});t.observe(o,{childList:!0}),a.__skelObs=t}requestAnimationFrame(()=>{h(()=>{a.__filled||function(e){if(e.__filled||!e.__open)return;const t=e.querySelector("ul");if(!t)return;const n=y(),s=document.createElement("template");s.innerHTML=`${n}`;const i=Array.from(s.content.firstChild.childNodes);if(i.forEach(e=>{1===e.nodeType&&e.matches("li[data-value]")&&!e.dataset.key&&(e.dataset.key=(e.textContent||"").toLowerCase())}),f){const e=i.splice(0,30),n=document.createDocumentFragment();e.forEach(e=>n.appendChild(e)),t.appendChild(n)}const a=f?60:200;let o=0;requestAnimationFrame(function n(){if(!e.__open)return;const s=Math.min(o+a,i.length);if(o>=s)return void(e.__filled=!0);const l=document.createDocumentFragment();for(;oe(a)),o&&(o.style.display=""),s(a),h(()=>{try{ne(a,n.value)}catch(e){}}),h(()=>{const e=a.querySelector("ul");e&&e.querySelectorAll("li[data-value]").forEach(e=>{e.dataset.key||(e.dataset.key=(e.textContent||"").toLowerCase())})})})})},window.closeLangMenu=function(e){const t=e.querySelector(".lang-menu");t&&t.__open&&(t.__open=!1,t.setAttribute("aria-hidden","true"),t.classList.add("--vis-hide"),h(()=>{if(t.classList.remove("open"),t.__skelObs&&(t.__skelObs.disconnect(),t.__skelObs=null),t.__outside){const e=t.__outside;t.__outside=null,f?(document.removeEventListener("touchstart",e,!0),document.removeEventListener("click",e,!0)):document.removeEventListener("pointerdown",e,!0)}}))},window.toggleLangMenu=function(e,t){_devMode&&console.log("toggleLangMenu");(e.querySelector(".lang-menu")||buildLangMenu(e,t)).__open?closeLangMenu(e):openLangMenu(e,t)}}();const ie=e=>{const t=Number(e);return 1===t?"standard":6===t?"prohd":2===t||3===t||4===t||7===t?"pro":5===t?"studio":""};function ae(n,i,a){_devMode&&console.log(arguments.callee.name);const l={speed:a.speed??1,pitch:a.pitch??0,volume:a.volume??100,style:a.style||"",styledegree:a.styledegree??1,role:a.role||""},r=e(".uiRight .uiInner .uiBox",n);if(r){let e=r.querySelector(".backtolist");if(!e){e=document.createElement("span"),e.className="backtolist",e.title=t("buttons.backToListTitle","backToListTitle");const n=r.querySelector(".name");r.insertBefore(e,n||r.firstChild)}e.textContent=t("buttons.backToList","⇐ backToListTitle")}const d=e(".uiRight .uiInner .uiBox .name",n);if(d){i.mp3;const e=D(i);d.innerHTML=`\n \n ${i.name}\n \n \n `}const u=e(".voice-head",n);u&&!u.__wired&&(u.__wired=!0,u.addEventListener("click",()=>{i&&P(n,i)})),e(".button.save",n)?.addEventListener("click",()=>{i&&P(n,i)}),c.resync();const p=e(".uiRight .uiInner",n);if(!p)return;const v=e('select[name="speed"]',p);if(v){const e=[];for(let t=.1;tf.appendChild(new Option(t||e,e)));const t=e.map(e=>e.value);f.value=l.style&&t.includes(l.style)?l.style:"",h&&(h.style.display="")}else f.value="",h&&(h.style.display="none");y(f,b,S),f.__degWired||(f.addEventListener("change",()=>{y(f,b,S)}),f.__degWired=!0)}y(f,b,S),["speed","tone","volume","style","role"].forEach(t=>{const n=e(`select[name="${t}"]`,p);n&&n.setAttribute("data-custom","1")}),CustomSelectMgr.initIn(p);const w=e(".uiRight .uiInner .uiBox .sh2",n);if(w){let s=w.querySelector(".reset-link");s||(s=document.createElement("button"),s.type="button",s.className="reset-link",s.dataset.action="resetDefaults",w.appendChild(s)),s.textContent=t("buttons.resetDefaults","Reset to defaults");const i=()=>{(e=>{const t=e=>Number.isFinite(+e)?+e:0,n=(e,n)=>Math.abs(t(e)-t(n))e&&!e.__resetWired&&(e.__resetWired=!0),o=e('select[name="speed"]',p);a(o)&&o.addEventListener("change",()=>{i(),c.applyLive(B(n))});const l=e('select[name="tone"]',p);a(l)&&l.addEventListener("change",()=>{i(),c.applyLive(B(n))});const r=e('select[name="volume"]',p);a(r)&&r.addEventListener("change",()=>{i(),c.applyLive(B(n))});const d=e('select[name="style"]',p);a(d)&&d.addEventListener("change",()=>{i(),c.applyLive(B(n))});const u=e('input[name="styledegree"]',p);a(u)&&u.addEventListener("input",()=>{i(),c.applyLive(B(n))});const v=e('select[name="role"]',p);a(v)&&v.addEventListener("change",()=>{i(),c.applyLive(B(n))})}_(n,"price",function(e){let n="—",s="—";null!=e&&("number"==typeof e||"string"==typeof e?n=String(e):"object"==typeof e&&(n=e.perK??e.per1k??e.per1000??e.per??e.base??e.price??n,s=e.limits??e.limit??e.cap??e.subscription??e.extra??s));const i=t("pricing.perThousand","perThousand");return t("pricing.limits","limits"),`${t("pricing.caption","pricing")}\n \n ${n}\n ${i}\n `}(i?._base?.price??i?.price),`${t("tooltips.pricing","tooltips")}`,null);const L=t("titles.supported","supported:"),E=function(e){const t=window.SSML_TAGS?.[e],n=t?.tags;if(!n||"object"!=typeof n||!Object.keys(n).length)return"—";const s=["sub","say-as","break","prosody","emphasis","phoneme"],i=e=>String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,"""),a=(e,t)=>{const n=t&&t.attrs?Object.keys(t.attrs):[];if(!n.length)return[];const s={sub:["alias"],"say-as":["interpret-as"],break:["time","strength"],prosody:["volume","contour","rate","pitch"],emphasis:["level"],phoneme:["alphabet","ph"]}[e]||[],i=[];for(const e of s)n.includes(e)&&i.push(e);const a=n.filter(e=>!i.includes(e)).sort();return i.concat(a)},o=Object.keys(n),l=[...s.filter(e=>o.includes(e)),...o.filter(e=>!s.includes(e)).sort()];let r='';for(const e of l){const t=a(e,n[e]);if(r+='',r+=`<${i(e)}>`,r+='',t.length)for(const e of t)r+=`${i(e)}`;r+="",r+=""}return r+="",r}(i.api);_(n,"support",L,E,null);const k=t("tooltips.intonation","intonation"),A=t("tooltips.smartcache","smartcache"),x=!!window.SSML_TAGS?.[i.api]?.tags&&Object.keys(window.SSML_TAGS[i.api].tags).length>0,C=t("titles.intonation","intonation"),M=_(n,"intonation",C,`${t("labels.intonationDesc","intonationDesc")}`,null,k);M&&M.classList.toggle("yes",(e=>{const t=String(e?.api||"").toLowerCase(),n=Number(e?.api_id);return"microsoft"===t||2===n})(i));const q=t("titles.smartcache","Smart cache"),N=_(n,"smartcache",q,`${t("labels.smartcacheDesc","smartcacheDesc")}`,null,A);N&&N.classList.add("yes");const $=n.querySelector(".uiRight .uiInner .uiBox.uiBox-support");$&&$.classList.toggle("yes",x)}function oe(e,t){const s=se(e);if(!s)return;n(".active",s).forEach(e=>e.classList.remove("active"));const i=s.querySelector(`li[data-voice-id="${t}"]`);i&&i.classList.add("active")}function le(t){const n=e(".sortBox.gender .cheched input",t)?.value||"All",s=e(".sortBox.proshnost .cheched input",t)?.value||"All",i=e(".sortBox.styles .cheched input",t)?.value||"all",a=e(".sortBox.roles .cheched input",t)?.value||"all";return{gender:n.toLowerCase(),premium:s.toLowerCase(),styles:i.toLowerCase(),roles:a.toLowerCase(),intonation:(e(".sortBox.intonation .cheched input",t)?.value||"all").toLowerCase(),multilang:(e(".sortBox.multilang .cheched input",t)?.value||"all").toLowerCase()}}function re(e,t,n){return`${t}#${n}#${function(e){const t=le(e);return JSON.stringify([t.gender,t.premium,t.styles,t.roles,t.intonation,t.multilang])}(e)}`}function ce(e,t){_devMode&&console.log(arguments.callee.name);const n=e=>{const t=Number(e);return 1===t?"standard":6===t?"prohd":5===t?"studio":2===t||3===t||4===t||7===t?"pro":""},s=new Set(["30","31"]),i=new Set(["40","41"]);return e.filter(e=>{if("studio"===n(e.type))return!1;const a=String(e.sex??"");let o=!0;switch(t.gender){case"male":o="1"===a;break;case"female":o="0"===a;break;case"neutral":o="2"===a;break;case"kids":o=s.has(a);break;case"old":o=i.has(a)}let l=!0;const r=n(e.type);"standard"===t.premium?l="standard"===r:"pro"===t.premium?l="pro"===r:"prohd"===t.premium&&(l="prohd"===r);let c=!0;"with"===t.styles&&(c=j(e).length>0);let d=!0;"with"===t.roles&&(d=R(e).length>0);let u=!0;if("with"===t.intonation){const t=String(e.api||"").toLowerCase(),n=Number(e.api_id);u="microsoft"===t||2===n}let p=!0;return"with"===t.multilang&&(p=1===Number(e.ml)||!0===e.ml||"1"===e.ml),o&&l&&c&&d&&u&&p})}function de(e){const t=e.dataset||{};return{speed:Number.isFinite(+t.speed)?+t.speed:1,pitch:Number.isFinite(+t.pitch)?+t.pitch:0,volume:Number.isFinite(+t.volume)?+t.volume:100,style:t.style||"",styledegree:Number.isFinite(+t.styledegree)?+t.styledegree:1,role:t.role||""}}function ue(n,s,i){const o=n.dataset.lang||X(n),l=i.lang||o,r=n.dataset.voiceId||"",c=i.voice??i.voiceName??"";if("speaker_100"===n.id&&l&&o&&l!==o){const e=document.getElementById("mytextarea");if(e){window.langArrText=window.langArrText||{},window.langArrText[o]=e.value;let t=window.langArrText[l];if(void 0===t){const e=window.VOICES_BY_LANG&&window.VOICES_BY_LANG[l]?window.VOICES_BY_LANG[l]:null;t=e&&"string"==typeof e.text?e.text:"",window.langArrText[l]=t}e.value=String(t),Array.isArray(window.editDataStack)&&window.editDataStack.push(e.value),"function"==typeof setDir&&setDir(l,e)}}const d=String(r)!==String(i.voiceId)||String(o)!==String(i.lang);if(e(".uiName span",n)?.replaceChildren(document.createTextNode(c)),d){const t=V(n,i)||null;t&&null!=t.sex&&(n.dataset.sex=String(t.sex)),t&&null!=t.pro&&(n.dataset.pro=t.pro?"1":"0"),t&&null!=t.type&&(n.dataset.type=String(t.type));const s={name:i.voice||i.voiceName||"",sex:t&&null!=t.sex?t.sex:n.dataset.sex??"",pro:t&&null!=t.pro?!!t.pro:"1"===n.dataset.pro,type:t&&null!=t.type?t.type:n.dataset.type||""},a=e(".uiName",n);a&&function(e,t){if(!e)return;const n=e.dataset.iconClass||"";n&&e.classList.remove(n);const s=D(t);s?(e.classList.add(s),e.dataset.iconClass=s):delete e.dataset.iconClass}(a,s)}const u=e(".uiFlag",n);if(u){u.dataset.value=i.lang;const t=U(i.lang);e(".text",u)?.replaceChildren(document.createTextNode(t?.lang||i.lang))}const p=function(e,t,n){const s=String(t||"");if(!s)return"";const i={lang:e?.dataset?.lang||X(e),voiceId:e?.dataset?.voiceId||"",voice:e?.dataset?.voice||""},a=j(n||V(e,i)||{}).find(e=>String(e.value)===s);return a?a.label||a.value:s}(n,i.style);let v=i.styleName||i.stylename||p||"";i.style||(v="");const m=N(n);if(m){q(m,"speed",t("labels.speedShort","speed"),(g=i.speed,(Math.round(10*g)/10).toFixed(1))),q(m,"pitch",t("labels.pitchShort","pitch"),a(i.pitch)),q(m,"volume",t("labels.volumeShort","vol"),`${i.volume}%`),n.dataset.stylename=v,q(m,"style",t("labels.styles","style"),function(e,t){const n=parseFloat(t),s=!Number.isFinite(n)||Math.abs(n-1)0:null;m.dataset.hasDegree="0",!0===s?(m.dataset.hasStyle="1","microsoft"===String(e.api).toLowerCase()&&(m.dataset.hasDegree="1")):!1===s&&(m.dataset.hasStyle="0")}var g;n.dataset.lang=i.lang,n.dataset.voiceId=i.voiceId,n.dataset.voice=c,n.dataset.api=i.api||"",n.dataset.apiId=i.apiId||"",n.dataset.speed=i.speed,n.dataset.pitch=i.pitch,n.dataset.volume=i.volume,n.dataset.style=i.style||"",n.dataset.stylename=v,n.dataset.styledegree=i.styledegree??"",n.dataset.role=i.role||"",n.dataset.price=i.price??"";let y=n.querySelector('input[type="hidden"][name$="_json"]');y||(y=document.createElement("input"),y.type="hidden",y.name=`${n.id}_json`,n.appendChild(y));const f={...i,voice:c,voiceId:i.voiceId,styleName:v};delete f.voiceName,y.value=JSON.stringify(f),"speaker_100"===n.id&&H(),n.dispatchEvent(new CustomEvent("speaker:changed",{detail:f})),s&&pe(s)}function pe(e){if(!e)return;if(e.__closing)return;e.__closing=!0,ye.cancel(e),e.classList.remove("open"),e.setAttribute("aria-hidden","true"),e.hidden=!0,document.body.classList.remove("overlayed");try{c.stopInside(e)}catch(e){}try{stopAllInlinePlayers?.(e)}catch(e){}(window.requestIdleCallback||(e=>setTimeout(e,0)))(()=>{const t=e.querySelector(".uiBody");t&&t.classList.remove("slider2");const n=e.querySelector(".uiVlist .voices-full");n&&n.querySelectorAll(".active").forEach(e=>e.classList.remove("active"));const s=e.querySelector(".uiVlist .voices-fav");s&&s.querySelectorAll(".active").forEach(e=>e.classList.remove("active")),e.__closing=!1})}function ve(s){console.log(arguments.callee.name);const a=e(".bigVoicesWindow",s);if(!a)return;const o=J(s);o.lang||X(s);let p=null,m=null,g={speed:1,pitch:0,volume:100,style:"",styledegree:1,role:""};g={...g,...void 0!==o.speed?{speed:o.speed}:{},...void 0!==o.pitch?{pitch:o.pitch}:{},...void 0!==o.volume?{volume:o.volume}:{},...void 0!==o.style?{style:o.style}:{},...void 0!==o.styledegree?{styledegree:o.styledegree}:{},...void 0!==o.role?{role:o.role}:{}};const y=(e,t,n=1e-6)=>{const s=+e,i=+t;return Number.isFinite(s)&&Number.isFinite(i)?Math.abs(s-i)null==e?"":String(e);async function b(n,s=null){const i=(await Z.voicesByLang(n)).voices||[];_e(a,i),fe(a,i);let o=ce(i,le(a));o=C(o,x(a)),he(a,o),Se(a,o,s,M(a));let l=s&&o.find(e=>String(e.id)===String(s))?o.find(e=>String(e.id)===String(s)):o[0];if(l){p={...l,lang:n},oe(a,l.id);const e={...g},t=j(l).map(e=>e.value);e.style&&!t.includes(e.style)&&(e.style="");{const t=R(l);e.role&&t.includes(e.role)||(e.role="")}"microsoft"!==l.api&&(e.styledegree=1),g=e,ae(a,l,g)}const r=e(".voicesTitle",a);if(r){U(n);r.textContent=`${t("titles.fullVoicesList","Full Voices List")}:`}a.__contentReady=!0}function _(t,s=!1){const i=e(".voice-search",t);i&&!s&&(i.value=""),n(".sortBox",t).forEach(e=>{const t=e.querySelector('input[value="All"], input[value="all"]');t&&(n(".sortBox li",e).forEach(e=>e.classList.remove("cheched")),t.closest("li")?.classList.add("cheched"))})}function w(e=null){console.log("rerenderWithCurrentFilters");const t=O(a,s),n=Y[t];if(!n||!Array.isArray(n.voices))return void b(t,e);const i=n.voices||[];let o=ce(i,le(a));o=C(o,x(a)),function(e,t,n){fe(e,Array.isArray(t)?t:[]),Array.isArray(n)&&n.length>0&&he(e,n)}(a,i,o),Se(a,o,e,M(a));let l=e&&o.find(t=>String(t.id)===String(e))?o.find(t=>String(t.id)===String(e)):o[0];if(l){const e=O(a,s);p={...l,lang:e},oe(a,l.id);const t={...g},n=j(l).map(e=>e.value);t.style&&!n.includes(t.style)&&(t.style="");{const e=R(l);t.role&&e.includes(t.role)||(t.role="")}"microsoft"!==l.api&&(t.styledegree=1),g=t,ae(a,l,g)}a.__contentReady=!0}a.addEventListener("click",e=>{e.target.closest('[data-action="resetFilters"]')&&(_(a),E(p?.id)),e.target.closest('[data-action="resetFiltersOnly"]')&&(_(a,!0),E(p?.id))}),a.addEventListener("click",e=>{e.target.closest('[data-action="resetDefaults"]')&&(g={speed:1,pitch:0,volume:100,style:"",styledegree:1,role:""},ae(a,p||{},g),c.applyLive(B(a)))});let L=0;function E(e=p?.id){L&&cancelAnimationFrame(L),L=requestAnimationFrame(()=>{L=0,w(e)})}(e(".speaker_button",s)||s).addEventListener("click",async o=>{if(o.target.closest(".uiVoiceButts"))return;if(o.target.closest(".uiMarkers"))return;if(o.target.closest(".quick-popover"))return;a.__hasSkeleton||(!function(n){_devMode&&console.log(arguments.callee.name);const s=e(".inList",n)||n;e('select[name="lang"]',s)&&e(".uiVlist",s)&&e(".uiRight .uiInner",s)||(s.innerHTML=`\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ${t("filters.gender.all","All")}\n ${t("filters.gender.male","Male")} \n ${t("filters.gender.female","Female")} \n ${t("filters.gender.kids","Kids")}\n ${t("filters.gender.old","Old")} \n ${t("filters.gender.neutral","Neutral")}\n \n \n \n \n \n ${t("filters.premium.all","All")}\n ${t("filters.premium.standard","Standard")}\n \n \n ${t("filters.premium.pro","Pro")}\n \n ${t("filters.premium.prohd","Pro HD")}\n \n \n \n \n ${t("filters.gender.all","All")}\n ${t("filters.styles.with","With styles")} \n \n \n \n \n ${t("filters.intonation.all","All")}\n ${t("filters.intonation.with","intonation")} \n \n \n \n \n ${t("filters.intonation.all","All")}\n ${t("filters.multy.with","multilang")} \n \n \n \n ${t("filters.acceptall","accept")}\n \n \n ${t("buttons.resetFilters","Reset filters")}\n \n \n \n\n \n \n \n \n \n 0\n \n \n ${t("labels.favorite","Favorite")} 0\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
  • [H2] ${t("titles.settings","Settings:")}
  • [H3] Enceladus
  • [H3] Noreen
  • [H3] Achernar
  • [H3] Christopher
  • [H3] Sara
  • [H3] Truman
  • [H3] Aoede
  • [H3] Pulcherrima
  • [H3] Type or paste your text
  • [H3] Choose a voice & language
  • [H3] Convert Text to MP3, WAV, or FLAC
  • [H3] Need an AI voiceover — without a voice actor
  • [H3] Teach at scale — without being in every classroom
  • [H3] People call — and nobody picks up
  • [H3] Visitors stand before the exhibit — and don't know what they're looking at
  • [H3] Workers on the floor don't read safety briefs
  • [H3] Selling abroad — without hiring a local narrator
  • [H3] Smart Cache — re-generate for free
  • [H3] Upload a book, get a file per chapter
  • [H3] Complete audio production in one tab
  • [H3] Multiple speakers, one file
  • [H3] Control every pause, stress, and pitch
  • [H3] Audition 5,000+ voices before spending a character
  • [H3] SRT / VTT to Synced Audio
  • [H3] SpeechGen vs Typical TTS Service
  • [H3] Standard
  • [H3] Pro
  • [H3] HD
  • [H3] "+setArr.soundins_sel_sound+"
  • [H3] ${$(t)}
  • [H4] '+setArr.soundins_cats+'

Bilder

Es konnten 72 Bilder auf dieser Webseite gefunden werden.

Bei 59 Bilder(n) fehlt ein ALT-Attribut. Fügen Sie ALT-Attribute zu Ihren Bildern, um die Bedeutung der Bilder für Suchmaschinen zugänglich zu machen.

Text/HTML Verhältnis

Anteil : 8%

Das Text zu HTML Code Verhältnis dieser Webseite ist niedriger als 15 Prozent, was bedeutet, dass Sie mehr Inhalte für Ihre Webseite schreiben sollten.

Flash

Perfekt, denn es wurde kein Flash auf Ihrer Webseite gefunden.

IFrame

Großartig, denn Sie verwenden keine IFrames auf Ihrer Webseite.

URL Rewrite

Gut. Ihre Links sind für Suchmaschinen gut lesbar (sprechende Links)!

Underscores in the URLs

Perfekt! Wir haben keine Unterstriche in Ihren Links entdeckt.

In-page links

We found a total of 27 links including 0 link(s) to files

Anker Typ Natürlich
Skip to editor intern natürliche Links
Text to Speech intern natürliche Links
AI Voices intern natürliche Links
Subtitles to Audio intern natürliche Links
API intern natürliche Links
Audio to Text intern natürliche Links
YT Transcribe intern natürliche Links
Video to Text intern natürliche Links
FAQ intern natürliche Links
Pricing intern natürliche Links
Log in intern natürliche Links
History intern natürliche Links
Saved Audios intern natürliche Links
Scary & Horror intern natürliche Links
Child TTS intern natürliche Links
Brian Voice intern natürliche Links
Speechgen_alex extern natürliche Links
Docx to Speech intern natürliche Links
Pdf to Speech intern natürliche Links
Blog intern natürliche Links
Сontact intern natürliche Links
Telegram Group extern noFollow
Telegram Chat extern noFollow
GitHub extern noFollow
Privacy intern natürliche Links
DMCA intern natürliche Links
reCAPTCHA extern natürliche Links

SEO Suchbegriffe

Suchbegriffswolke

text voices speechgen speech file voice characters free sec audio

Keywords Consistency

Suchbegriff Inhalt Seitentitel Suchbegriffe Seitenbeschreibung Überschriften
text 28
sec 20
audio 18
speech 17
voice 16

Benutzerfreundlichkeit

URL

Domain : speechgen.io

Länge : 12

Favoriten Icon

Gut. Die Webseite hat ein Favicon.

Druckeigenschaften

Gut. Es konnten druckfreundliche CSS-Angaben gefunden werden.

Sprache

Gut, denn Sie haben in den META-Elementen eine Sprache deklariert: en.

Dublin Core

Diese Webseite nutzt nicht die Vorteile der Dublin Core Elemente.

Dokument

Doctype

HTML 5

Verschlüsselung

Perfekt, denn Ihre Webseite deklariert einen Zeichensatz: UTF-8.

W3C Validität

Fehler : 0

Warnungen : 0

E-Mail Datenschutz

Achtung! Es wurde mindestens eine E-Mail Adresse im Klartext auf Ihrer Webseite gefunden. Benutzen Sie dieses kostenlose Werkzeug um E-Mail Adressen vor SPAM zu schützen.

Veraltetes HTML

Sehr gut! Sie verwenden aktuelle HTML Tags in Ihrem Webseitenquelltext.

Tipps zur Webseitengeschwindigkeit

Sehr gut, denn Ihre Webseite benutzt keine verschachtelten Tabellen.
Schlecht, denn es wurden CSS-Angaben in HTML-Elementen entdeckt. Diese Angaben sollten in ein entsprechendes CSS-Stylesheet verlagert werden.
Gut, denn Ihre Webseite enthält nur wenig CSS-Dateien.
Perfekt, denn Ihre Webseite enthät nur wenig Javascript-Dateien.
Gut! Sie nutzen die Vorteile von gzip.

Mobile

Mobile Optimierung

Apple Icon
META Viewport Tag
Flash Inhalt

Optimierung

XML-Sitemap

Perfekt! Ihre Seite hat eine XML-Sitemap.

https://speechgen.io/index.php?r=site/sitemap

Robots.txt

https://speechgen.io/robots.txt

Sehr gut! Ihre Webseite enthält eine robots.txt-Datei.

Analytics

Fehlt

Wir haben nicht ein Analyse-Tool auf dieser Website installiert zu erkennen.

Webanalyse erlaubt die Quantifizierung der Besucherinteraktionen mit Ihrer Seite. Insofern sollte zumindest ein Analysetool installiert werden. Um die Befunde abzusichern, empfiehlt sich das parallele Verwenden eines zweiten Tools.

PageSpeed Insights


Gerät
Kategorien

Free SEO Testing Tool

Free SEO Testing Tool ist ein kostenloses SEO Werkzeug zur Analyse Ihrer Webseite