From 571016096c1d403a0237d3fce322affe303c6ba1 Mon Sep 17 00:00:00 2001 From: Michael Salaverry Date: Sat, 13 Jul 2024 13:27:30 +0300 Subject: feat: webui supports text to speech for messages (#712) --- assets/playground.html | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'assets/playground.html') diff --git a/assets/playground.html b/assets/playground.html index 72c1e3e..ec13133 100644 --- a/assets/playground.html +++ b/assets/playground.html @@ -251,7 +251,8 @@ } .copy-message-btn, - .regenerate-message-btn { + .regenerate-message-btn, + .tts-message-btn { top: 0.7rem; right: 0.7rem; cursor: pointer; @@ -260,7 +261,8 @@ } .copy-message-btn svg, - .regenerate-message-btn svg { + .regenerate-message-btn svg, + .tts-message-btn svg { width: 1rem; height: 1rem; } @@ -618,6 +620,16 @@ + @@ -816,6 +828,19 @@ this.ask(); }, + /** + * @param {string} messageToUtter + */ + handleTTSMessage(messageToUtter) { + if (!!window.speechSynthesis) { + if (window.speechSynthesis.speaking || window.speechSynthesis.pending) { + window.speechSynthesis.cancel(); + } else { + let utterance = new SpeechSynthesisUtterance(messageToUtter); + window.speechSynthesis.speak(utterance); + } + } + }, handleCancelAsk() { this.askAbortController?.abort(); -- cgit v1.2.3