Browse Source

feat: merge one word sentence

Timothy J. Baek 1 year ago
parent
commit
66f86062b8
1 changed files with 16 additions and 1 deletions
  1. 16 1
      src/lib/components/chat/Messages/ResponseMessage.svelte

+ 16 - 1
src/lib/components/chat/Messages/ResponseMessage.svelte

@@ -151,7 +151,22 @@
 			if ($settings?.speech?.engine === 'openai') {
 				loadingSpeech = true;
 
-				const sentences = extractSentences(message.content);
+				const sentences = extractSentences(message.content).reduce((mergedTexts, currentText) => {
+					const lastIndex = mergedTexts.length - 1;
+					if (lastIndex >= 0) {
+						const previousText = mergedTexts[lastIndex];
+						const wordCount = previousText.split(/\s+/).length;
+						if (wordCount < 2) {
+							mergedTexts[lastIndex] = previousText + ' ' + currentText;
+						} else {
+							mergedTexts.push(currentText);
+						}
+					} else {
+						mergedTexts.push(currentText);
+					}
+					return mergedTexts;
+				}, []);
+
 				console.log(sentences);
 
 				sentencesAudio = sentences.reduce((a, e, i, arr) => {