shell: Speech service + sidebar Speak button (Read Aloud seam)
Speech.qml singleton: speak(text) reads the who->voice mapping live
from souveraine /v1/config (VoiceConfig tts_url + voice_id), POSTs
VibeVoice /audio/speech ({input, voice, model} -> mp3, same contract
as core/voice/client.rs) and plays via mpv/ffplay. The shell picks no
voice of its own. speech.tts.enable is the kill switch (button hidden
when off); speech.tts.endpoint overrides the mapped URL. Sidebar gains
a volume_up/stop toggle beside send that reads the last visible
assistant reply, skipping lock-redacted content.
This commit is contained in:
parent
7e74ce37e3
commit
acc1161e71
4 changed files with 163 additions and 0 deletions
|
|
@ -40,6 +40,7 @@ services/SessionEvents.qml souveraine/services/SessionEvents.qml
|
|||
services/SessiondBridge.qml souveraine/services/SessiondBridge.qml
|
||||
services/StepUpAuth.qml souveraine/services/StepUpAuth.qml
|
||||
services/SessionAudit.qml souveraine/services/SessionAudit.qml
|
||||
services/Speech.qml souveraine/services/Speech.qml
|
||||
services/NotifyEvents.qml souveraine/services/NotifyEvents.qml
|
||||
services/CrashReporter.qml souveraine/services/CrashReporter.qml
|
||||
modules/ii/sidebarLeft/SidebarLeft.qml souveraine/modules/ii/sidebarLeft/SidebarLeft.qml
|
||||
|
|
|
|||
Loading…
Reference in a new issue