EveryVoiceTTS / EveryVoiceTTS/EveryVoice
Spaces between chunks are removed.
- Dominant language
- Python
- Stars
- 45
- Forks
- 4
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 14
Description
### Bug description
When chunking text, an input like `"Hello. World."` may become `["Hello.", "World."]`. Then, each chunk is separately synthesized to the desired file type. A consequence of this is that a TextGrid will **not have a space character** between the two words or sentences that were split up by chunking.
This issue has been noticed for TextGrids, but may affect other file types too. For example, a .wav may read out *HelloWorld* without a pause.
### How to reproduce the bug
Synthesize text that will be chunked. Watch what happens to the space in between two chunks.
### Why does this happen
Text is stripped in many places.
- The chunking algorithm itself in `textsplit.py` strips chunks automatically, but could easily be modified.
- Text normalization (occuring when `Preprocessor.process_text()` is called (`dataset.py` line `91`)) also commonly strips text. This is a more difficult problem, because this may have to occur before chunking happens (in `synthesize.py`) - which would be a big fix.
Contributor guide
Research direction
Start by reading the chunking logic in textsplit.py and the normalization path through Preprocessor.process_text() in dataset.py around line 91. Trace how synthesize.py prepares text before chunking, then reproduce the issue with chunked text such as "Hello. World.". Done means spaces are preserved between synthesized chunks for TextGrids and any other affected file types.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100