mirror of
https://github.com/open-webui/open-webui
synced 2025-06-26 18:26:48 +00:00
refac: tts details tags
This commit is contained in:
parent
55a6fae9db
commit
dd8e742c2d
@ -49,7 +49,8 @@
|
||||
sleep,
|
||||
removeDetails,
|
||||
getPromptVariables,
|
||||
processDetails
|
||||
processDetails,
|
||||
removeAllDetails
|
||||
} from '$lib/utils';
|
||||
|
||||
import { generateChatCompletion } from '$lib/apis/ollama';
|
||||
@ -1172,7 +1173,7 @@
|
||||
|
||||
// Emit chat event for TTS
|
||||
const messageContentParts = getMessageContentParts(
|
||||
message.content,
|
||||
removeAllDetails(message.content),
|
||||
$config?.audio?.tts?.split_on ?? 'punctuation'
|
||||
);
|
||||
messageContentParts.pop();
|
||||
@ -1206,7 +1207,7 @@
|
||||
|
||||
// Emit chat event for TTS
|
||||
const messageContentParts = getMessageContentParts(
|
||||
message.content,
|
||||
removeAllDetails(message.content),
|
||||
$config?.audio?.tts?.split_on ?? 'punctuation'
|
||||
);
|
||||
messageContentParts.pop();
|
||||
@ -1253,9 +1254,10 @@
|
||||
|
||||
// Emit chat event for TTS
|
||||
let lastMessageContentPart =
|
||||
getMessageContentParts(message.content, $config?.audio?.tts?.split_on ?? 'punctuation')?.at(
|
||||
-1
|
||||
) ?? '';
|
||||
getMessageContentParts(
|
||||
removeAllDetails(message.content),
|
||||
$config?.audio?.tts?.split_on ?? 'punctuation'
|
||||
)?.at(-1) ?? '';
|
||||
if (lastMessageContentPart) {
|
||||
eventTarget.dispatchEvent(
|
||||
new CustomEvent('chat', {
|
||||
|
@ -212,6 +212,8 @@
|
||||
|
||||
speaking = true;
|
||||
|
||||
const content = removeAllDetails(content);
|
||||
|
||||
if ($config.audio.tts.engine === '') {
|
||||
let voices = [];
|
||||
const getVoicesLoop = setInterval(() => {
|
||||
@ -228,7 +230,7 @@
|
||||
|
||||
console.log(voice);
|
||||
|
||||
const speak = new SpeechSynthesisUtterance(message.content);
|
||||
const speak = new SpeechSynthesisUtterance(content);
|
||||
speak.rate = $settings.audio?.tts?.playbackRate ?? 1;
|
||||
|
||||
console.log(speak);
|
||||
@ -251,7 +253,7 @@
|
||||
loadingSpeech = true;
|
||||
|
||||
const messageContentParts: string[] = getMessageContentParts(
|
||||
message.content,
|
||||
content,
|
||||
$config?.audio?.tts?.split_on ?? 'punctuation'
|
||||
);
|
||||
|
||||
|
@ -867,11 +867,10 @@ export const extractSentencesForAudio = (text: string) => {
|
||||
}, [] as string[]);
|
||||
};
|
||||
|
||||
export const getMessageContentParts = (content: string, split_on: string = 'punctuation') => {
|
||||
content = removeDetails(content, ['reasoning', 'code_interpreter', 'tool_calls']);
|
||||
export const getMessageContentParts = (content: string, splitOn: string = 'punctuation') => {
|
||||
const messageContentParts: string[] = [];
|
||||
|
||||
switch (split_on) {
|
||||
switch (splitOn) {
|
||||
default:
|
||||
case TTS_RESPONSE_SPLIT.PUNCTUATION:
|
||||
messageContentParts.push(...extractSentencesForAudio(content));
|
||||
|
Loading…
Reference in New Issue
Block a user