From f802fe1797cd66a18830df84df315e76e9c2878a Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Wed, 22 Nov 2023 17:47:58 +0200 Subject: [PATCH] Fix xtts separator --- public/scripts/extensions/tts/index.js | 4 ++ public/scripts/extensions/tts/xtts.js | 66 +++++++++++++------------- 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/public/scripts/extensions/tts/index.js b/public/scripts/extensions/tts/index.js index de3041013..3b85868b2 100644 --- a/public/scripts/extensions/tts/index.js +++ b/public/scripts/extensions/tts/index.js @@ -502,6 +502,10 @@ async function processTtsQueue() { const partJoiner = (ttsProvider?.separator || ' ... '); text = matches ? matches.join(partJoiner) : text; } + + // Collapse newlines and spaces into single space + text = text.replace(/\s+/g, ' '); + console.log(`TTS: ${text}`) const char = currentTtsJob.name diff --git a/public/scripts/extensions/tts/xtts.js b/public/scripts/extensions/tts/xtts.js index 2d3764ca9..8d4389f08 100644 --- a/public/scripts/extensions/tts/xtts.js +++ b/public/scripts/extensions/tts/xtts.js @@ -11,25 +11,25 @@ class XTTSTtsProvider { settings ready = false voices = [] - separator = ' .. ' + separator = '. ' languageLabels = { - "Arabic": "ar", - "Brazilian Portuguese": "pt", - "Chinese": "zh-cn", - "Czech": "cs", - "Dutch": "nl", - "English": "en", - "French": "fr", - "German": "de", - "Italian": "it", - "Polish": "pl", - "Russian": "ru", - "Spanish": "es", - "Turkish": "tr", - "Japanese": "ja", - "Korean": "ko", - "Hungarian": "hu" + "Arabic": "ar", + "Brazilian Portuguese": "pt", + "Chinese": "zh-cn", + "Czech": "cs", + "Dutch": "nl", + "English": "en", + "French": "fr", + "German": "de", + "Italian": "it", + "Polish": "pl", + "Russian": "ru", + "Spanish": "es", + "Turkish": "tr", + "Japanese": "ja", + "Korean": "ko", + "Hungarian": "hu" } defaultSettings = { @@ -38,15 +38,15 @@ class XTTSTtsProvider { voiceMap: {} } - get settingsHtml() { + get settingsHtml() { let html = ` - + `; html += ` - + Use XTTSv2 TTS Server. `; - + return html; } onSettingsChange() { @@ -86,8 +86,8 @@ class XTTSTtsProvider { // Only accept keys defined in defaultSettings this.settings = this.defaultSettings - for (const key in settings){ - if (key in this.settings){ + for (const key in settings) { + if (key in this.settings) { this.settings[key] = settings[key] } else { throw `Invalid setting passed to TTS Provider: ${key}` @@ -106,9 +106,9 @@ class XTTSTtsProvider { }, 2000); $('#xtts_tts_endpoint').val(this.settings.provider_endpoint) - $('#xtts_tts_endpoint').on("input", () => {this.onSettingsChange()}) + $('#xtts_tts_endpoint').on("input", () => { this.onSettingsChange() }) $('#xtts_api_language').val(this.settings.language) - $('#xtts_api_language').on("change", () => {this.onSettingsChange()}) + $('#xtts_api_language').on("change", () => { this.onSettingsChange() }) await this.checkReady() @@ -116,8 +116,8 @@ class XTTSTtsProvider { } // Perform a simple readiness check by trying to fetch voiceIds - async checkReady(){ - + async checkReady() { + const response = await this.fetchTtsVoiceObjects() } @@ -142,7 +142,7 @@ class XTTSTtsProvider { return match } - async generateTts(text, voiceId){ + async generateTts(text, voiceId) { const response = await this.fetchTtsGeneration(text, voiceId) return response } @@ -167,7 +167,7 @@ class XTTSTtsProvider { method: 'POST', headers: { 'Content-Type': 'application/json', - 'Cache-Control': 'no-cache' // Added this line to disable caching of file so new files are always played - Rolyat 7/7/23 + 'Cache-Control': 'no-cache' // Added this line to disable caching of file so new files are always played - Rolyat 7/7/23 }, body: JSON.stringify({ "text": inputText,