Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds text-to-speech functionality using built-in, system TTS programs ("say ...", "espeak ...", etc).
It can be enabled via
experimental.readResponseTTS
in continue's config.jsonTTS should work for OSX, Windows, and linux where
espeak
is available – this PR still needs testing on Windows and Linux to confirm their implementations.When enabled, TTS will start after the full chat has been streamed. It will skip reading code blocks and only read the top level text response. When initiating a new chat it will automatically stop any current TTS. Additionally, there's a button added to the bottom of the sidebar (shown below) to manually stop TTS.
Checklist
dev
, rather thanmain
Screenshots
A
Stop TTS
button has been added to the bottom of the sidebar while TTS is active. Clicking the button will stop the current TTSTesting
Pull and debug this branch then set
experimental.readResponseTTS
totrue
in your config. Initiate a new chat with an LLM and after receiving the full response it should start reading aloud using your system's TTS capabilities.