Iroha-TTS
IrohaStudio/Iroha-TTS
- 作者
- IrohaStudio
- 任务
- 语音合成
- 下载量
- 1,135
- 点赞数
- 79
- 趋势分
- 5
- 许可证
- other
- 收录时间
- 2026/11/6
license: other license_name: fish-audio-research-license license_link: LICENSE.md language:
- ja base_model: fishaudio/s2-pro pipeline_tag: text-to-speech tags:
- text-to-speech
- japanese
- voice-cloning
- fish-audio
- emotional-speech-generation
- tts
- speech
- speech generation inference: false
Iroha-TTS-V1
Give every line a little more character.
Expressive Japanese TTS for character dialogue. Clone a voice, choose an emotion, adjust its intensity, and explore different takes on the same line. Built with Fish Audio. Based on Fish Audio S2-Pro.
Features · Quick start · Parameters · Agent guide · 中文
Features
Intensity control is experimental: continuous coefficients do not imply a linear perceptual response. Crying, whispering and voice matching vary with the line and reference. The illustrations show expressions; the reference audio determines the voice. Hear more scenes →
Quick start
Linux · Python 3.12 · NVIDIA GPU with at least 28 GB free VRAM. First use downloads about 11 GB of base weights. Run with an HF login that has access to this repository:
python3.12 -m venv .venv
source .venv/bin/activate
pip install -U huggingface_hub
hf download IrohaStudio/Iroha-TTS --local-dir Iroha-TTS
cd Iroha-TTS
pip install -r requirements.txt
python infer.py \
--text "やっと会えたね!ずっと待ってたんだよ。" \
--emotion joy --intensity -0.015 --seed 7 \
--ref my_voice.wav --ref-text "Exact transcript of the reference recording" \
--out joy.wav
Replace my_voice.wav and the reference text with your recording and its accurate transcript. Output is 44.1 kHz WAV.
Change --seed for another take; without a reference, the voice may also change with the seed.
For more details, ask your agent to read AGENT_GUIDE.md. It covers pinned downloads, Python / JSONL usage, parameter combinations, configuration and troubleshooting.
Parameters
| Parameter | Default | Purpose |
|---|---|---|
--text / --jsonl | Choose one | Single line / batch input |
--emotion | none | joy, anger, sadness, surprise; neutral / none add no emotion tag |
--intensity | Unset (α=0) | Four presets or an in-range float; shipped range [-0.06, 0.045] |
--ref / --ref-text | None | Reference recording and accurate transcript, supplied together |
--seed | 0 | Choose another integer to explore a different take |
--guidance | Whisper 1.5, others 0 | Vocal-event guidance; 0 disables it; separate from emotion intensity |
--max-frames | 400 | Generation limit, about 18.6 seconds; no automatic sentence splitting |
--no-argmax | Off | Also sample residual codebooks |
--out / --out-dir | out.wav / outputs | Single output file / batch output directory |
--model | Bundled model/ | Model configuration and weights |
--base | Cache/download | Optional local Fish S2-Pro base directory |
--device | cuda | Inference device |
Presets: weakest=-0.06, weak=-0.03, default=0, strong=0.045. Floats such as -0.015 are used directly, without snapping to a preset.
Nonzero intensity needs an explicit choice of one of the four emotions and text without emotion or vocal-event tags. Use default intensity for transitions, laughter, sighs, crying and whispers.
Full parameter rules and configuration → AGENT_GUIDE.md
With emotion (joy, anger, sadness, surprise)
With / Without emotion
Subjective Listening Test MOS (Japanese)
All three dimensions are rated by human listeners on a five-point scale (MOS). The overall score is the unweighted mean of the three dimensions. Win share: the five models are compared for each listener–sentence pair, with ties for first place splitting the win equally.
Pairwise Win Rates
Pairwise win rates for Ours, based on the overall score, with ties counted as half a win:
Binaural post-processing
spatial/ places finished speech around the listener's head for headphones, as in the whisper demo: circling, sweeping or held at one spot. It is a separate step, not a model feature, and needs no GPU.
pip install -r spatial/requirements.txt
python spatial/binaural.py --in a.wav b.wav --start -90 --turns 2 --near 0.8 --out orbit.wav
TODO
- Support more emotion and paralinguistic tags.
- Support emotion intensity control with all tags.
- Release Qwen3-TTS, Ming-3.0-tts, and OmniVoice models trained with a similar approach.
- Provide a WebUI for deploying different models and add support for sglang-omni.
- Release the GitHub project.
Contact
For technical questions, please contact ake.speechai@gmail.com.
License
This model is licensed under the Fish Audio Research License, Copyright © 39 AI, INC. All Rights Reserved
(LICENSE.md). It is a Derivative Work of Fish Audio S2-Pro: research and non-commercial use is free;
any commercial use requires a separate license from Fish Audio (fish.audio,
business@fish.audio). The Fish S2-Pro weights are not included here and are downloaded from Fish Audio's repository
under the same license. What was changed is listed in NOTICE. The inference code written for this release
(emotts/, infer.py) is also available under the MIT License (LICENSE-MIT). spatial/binaural.py is under
the MIT License, and the measured HRIRs in spatial/hrir/ are by TH Köln under CC BY-SA 3.0 (details).
内容来源:Hugging Face 模型卡
在 Hugging Face 查看