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/arena.html | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'assets/arena.html') diff --git a/assets/arena.html b/assets/arena.html index f0c93e5..1454448 100644 --- a/assets/arena.html +++ b/assets/arena.html @@ -174,7 +174,8 @@ } .copy-message-btn, - .regenerate-message-btn { + .regenerate-message-btn, + .tts-message-btn { top: 0.7rem; right: 0.7rem; cursor: pointer; @@ -183,7 +184,8 @@ } .copy-message-btn svg, - .regenerate-message-btn svg { + .regenerate-message-btn svg, + .tts-message-btn svg { width: 1rem; height: 1rem; } @@ -459,6 +461,16 @@ + @@ -658,6 +670,19 @@ this.ask(index); }, + /** + * @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() { for (const chat of this.chats) { -- cgit v1.2.3