Improve text to speech
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 4
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
Add a pull down menu in General to let the user select which voice to use.
In a separate commit, add a dependency to rubband, a time stretcher. It uses the same API as the C++ Rubber Band library.
In another separate commit, we are going to render by phrases and then stretch time by words.
- Split the text into phrases, by this punctuation:
.:;!?. - For each phrase:
- Go through the first rendering pass as before
- In the second rendering pass, use the end of word callback from the text to speech library to establish the beginning and end of each word
- Use rubband to timestretch each word individually so it fits into the length of the word in the note synthesizer
- Align the start of each phrase with the time of start that phrase in the note synthesizer, but do not stretch.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the General settings UI and the existing text-to-speech rendering path; the issue does not name files or tests. Review how the current two rendering passes and timing callbacks work, then check the rubband dependency API. Done means voice selection is available and phrase/word rendering follows the specified timing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- audio-video-rtc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100