voicevox-jev-proxy
Japanese tool that has Jev fix VOICEVOX text-to-speech readings, word boundaries and optionally intonation via choice questions.
Overview
voicevox-jev-proxy corrects how the VOICEVOX Japanese text-to-speech engine reads sentences. It splits text into words with Sudachi and gathers reading candidates from UniDic, Sudachi and JMdict, then asks Jev multiple-choice questions: where a word boundary falls after a kanji followed by hiragana, where accent phrases should break, which reading a word has, and whether "www" or 笑 indicates laughter (and so should not be read). The sentence is rewritten and re-synthesized with the chosen dictionary accent types.
With --intonation, a second request asks whether accent phrases attach to the previous one, the sentence-final type (statement, question, confirmation) and how phrases modify each other; this mode is still in development. Answers below a confidence threshold (0.6 by default, 0.8 for phrase height) are not used. It offers a command that writes WAV files and a VOICEVOX-compatible API server. Documentation is in Japanese; MIT licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which reading does this word have? | — |
| Choice | Where does the word boundary fall after this kanji followed by hiragana? | — |
| Yes / no | Does www or 笑 here express laughter? | yes · no |
| Choice | What is the sentence-final type (statement, question, confirmation)? | statement · question · confirmation |
How it works
- Tokenize the sentence and collect reading and accent candidates.
- Ask Jev boundary, phrase and reading questions (one request per sentence).
- Rewrite the sentence and re-synthesize with VOICEVOX.
- Optionally run a second request to correct intonation.
Strengths
- Only one request per sentence by default, and none when nothing is ambiguous.
- Confidence thresholds avoid applying uncertain corrections.
- Drop-in VOICEVOX-compatible API server.
Caveats
- Intonation correction is still immature.
- Requires downloading Sudachi and JMdict dictionaries.
- Japanese documentation.
Getting started
uv sync, set TYPESAFE_API_KEY and dictionary paths in .env, then uv run voicevox-jev-correct "<sentence>"At a glance
- Type
- Proxy
- Status
- beta
- Language
- Python
- Runtime
- CLI + VOICEVOX-compatible API server
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
This project integrates Jev to provide structured decisions for its workflow. See the repository for implementation details.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Word boundaries, accent phrase breaks, readings, laughter markers and optionally intonation.
How many requests per sentence?
One by default, two with --intonation (or one with --requests 1).
What if Jev is unsure?
Answers below the confidence threshold are not applied.
Related projects
Chrome extension and web app that find YouTube sponsor reads with Jev from transcripts or audio and skip them.
PluginbetaJavaScriptHome Assistant conversation agent that maps Assist commands to built-in intents using a Jev fan-out of typed questions.
ProjectbetaPythonCLI that classifies an artist's discography by theme, mood and lyrical complexity with Jev and shows a terminal dashboard.
AppprototypeTypeScriptUndocumented app that uses Jev to classify text and pick an emoji reaction.
ProjectprototypePythonWeb app that sorts large playlists by each song's main singing language using Jev, in batches of 100 with four in parallel.
ProjectprototypeTypeScriptHome Assistant conversation agent that resolves commands from one System One call with a fan-out of typed questions, asking when unsure.
ProjectprototypePython