EveryVoiceTTS / EveryVoiceTTS/EveryVoice

Spaces between chunks are removed.

Open
#719 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.