Downloads · 30 days
0
ZzWater/ViiTor-voice-2.0-base
ViiTor-voice-2.0-base is a machine learning model from ZzWater. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
<h1 align="center"🚀 ViiTor Voice TTS</h1 <p align="center"Fast, flexible speech cloning with transformers or vLLM — batch-friendly and duration-aware.</p <p align="center"<a href="READMEzh.md"中文文档</a · <a href="https…
Downloads · 30 days
0
Access
Public
Updated Dec 25, 2025
Repo size
5.3 GB
Likes
5
Public
Click a slice to open those files.
.safetensors3.9 GB · 73%
From the Hugging Face model README
ViiTor Voice is a three-stage speech cloning stack:
cli.py covers both backends, two batch modes, and an optional duration hint (single-text only).
Use the provided script (PyTorch, vLLM 0.12.0 CUDA 12.8, requirements, dualcodec):
bash create_env.sh
source .venv/bin/activate
Notes:
create_env.sh uses uv venv with Python 3.12—adjust if needed.--torch-backend=cu128); adapt to your CUDA/toolkit.Fetch required models (Hugging Face mirror by default):
bash download_checkpoints.sh
Default paths (override via CLI if you store elsewhere):
checkpoints/viitor/soundstormcheckpoints/dualcodeccheckpoints/w2vcheckpoints/viitor/llm/zh-enLaunch a web UI (hosted on 0.0.0.0, Gradio share disabled):
python gradio_demo.py \
--soundstorm-model-path checkpoints/viitor/soundstorm \
--dualcodec-model-path checkpoints/dualcodec \
--w2v-path checkpoints/w2v \
--llm-model-path checkpoints/viitor/llm/zh-en \
--server-port 7860
Upload a prompt audio file in the UI, type text, optionally set a duration (seconds), then click “Synthesize” to preview the generated audio. Toggle “Enable two-pass speaker refinement (prompt + generated speech)” to reduce accent leakage; helpful for cross-language cloning when you want lighter source accent.
Base command (transformers backend + default checkpoints):
python cli.py \
--prompt /path/to/prompt.wav \
--text "Hello ViiTorVoice!" \
--output outputs/out.wav
Common flags:
--use-vllm switch to vLLM.--duration <seconds> duration hint; honored only when exactly one text.--speaker-windowed enable two-pass speaker refinement (average prompt embedding with generated-speech embedding; reduces accent leakage, useful for cross-language cloning).python cli.py \
--prompt data/prompt.wav \
--text "Welcome to ViiTorVoice." \
--output outputs/single.wav
python cli.py \
--use-vllm \
--prompt data/prompt.wav \
--text "This runs with vLLM." \
--output outputs/vllm.wav
python cli.py \
--prompt data/prompt.wav \
--text "Keep this around three seconds." \
--duration 3.0 \
--output outputs/with_duration.wav
python cli.py \
--prompt data/p1.wav data/p2.wav \
--text "First line" "Second line" \
--output outputs/pair_batch/
Paired by order; outputs auto-named in the directory.
python cli.py \
--prompt data/prompt.wav \
--text "Line 1" "Line 2" "Line 3" \
--output outputs/multi_text_batch/
Generates multiple files, auto-named 000_prompt_t0.wav, etc.
Saved -> path | text='...' | prompt='...' | set/predicted duration=3.00s | actual duration=2.95s
set/predicted duration: provided duration (or model-predicted if none)actual duration: measured from generated audiocreate_env.sh if you need a different CUDA wheel.Official site: ViiTor AI