A multi-model, modular Gradio-based web UI for voice cloning, voice design, multi-speaker conversation, voice conversion, voice training and sound effects. Basically, One app, many engines, to tinker with all of them without juggling separate repos or setups. Powered by VibeVoice, Qwen3-TTS, LuxTTS, Chatterbox, Fish Speech and MMAudio. Supports Qwen3-ASR, VibeVoice-ASR and Whisper for automatic transcription. As well as llama.cpp and Ollama for Prompt Generation and a Prompt Saving, based on ComfyUI Prompt-Manager
Voice Clone Studio is fully modular. The main file dynamically loads self-contained tools as tabs. Each tool can be enabled or disabled from Settings without touching any code. It supports multipe engine for voice cloning, as well as Model finetuning. More features are also planned.
Clone voices from your own audio samples. Provide a short reference audio clip with its transcript, and generate new speech in that voice.
[tag] markers like [whisper], [laughing], [excited] directly in text for fine-grained delivery control (15,000+ supported tags)[tags] are automatically removed when using other engines, so the same text works everywhereCreate multi-speaker dialogues using either Qwen's premium voices or your own custom voice samples using VibeVoice:
Choose Your Engine:
Unified Script Format:
Write scripts using [N]: format - works seamlessly with both engines:
[1]: Hey, how's it going?
[2]: I'm doing great, thanks for asking!
[3]: Mind if I join this conversation?
Qwen Mode:
Speaker Mapping:
VibeVoice Mode:
Perfect for:
Models:
Change the voice in any audio using Chatterbox speech-to-speech voice conversion (Resemble AI, MIT license):
Generate with premium pre-built voices, trained models, and streaming speakers:
VibeVoice Trained:
Qwen Speakers:
VibeVoice Speakers:
Qwen Trained:
Create voices from natural language descriptions - no audio needed, using Qwen3-TTS Voice Design Model:
Fine-tune your own custom voice models with your training data:
datasets/ folderVibeVoice Training Features:
Requirements:
Workflow:
datasets/YourSpeakerName/ folderUnified audio preparation workspace for both voice samples and training datasets:
Generate sound effects and ambient audio using MMAudio (CVPR 2025, MIT license):
.pth or .safetensors checkpoints with automatic architecture detectionSave, browse, and generate text prompts for your TTS sessions. Includes a built-in LLM generator powered by llama.cpp or Ollama:
prompts.json file, browse with the file lister[tag] instructions, and Sound Design/SFX workflows, or write your own.gguf file into models/llama/ to use your own modelsInspired by ComfyUI-Prompt-Manager by FranckyB.
View, play back, and manage your previously generated audio files. Multi-select for batch deletion, double-click to play.
Centralized application configuration:
Note for Linux/macOS users: openai-whisper is skipped (compatibility issues). Use VibeVoice ASR or Qwen3 ASR for transcription instead.
Note for macOS users: Model training is not supported on macOS. The Train Model tab is automatically hidden.
git clone https://github.com/FranckyB/Voice-Clone-Studio.git
cd Voice-Clone-Studio
setup-windows.bat
This will automatically:
git clone https://github.com/FranckyB/Voice-Clone-Studio.git
cd Voice-Clone-Studio
chmod +x setup-linux.sh
./setup-linux.sh
This will automatically:
git clone https://github.com/FranckyB/Voice-Clone-Studio.git
cd Voice-Clone-Studio
chmod +x setup-mac.sh
./setup-mac.sh
This will automatically:
git clone https://github.com/FranckyB/Voice-Clone-Studio.git
cd Voice-Clone-Studio
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/MacOs
source venv/bin/activate
# Windows/Linux (NVIDIA GPU)
pip install torch==2.9.1 torchaudio==2.9.1 --index-url https://download.pytorch.org/whl/cu130
# macOS (MPS support built-in)
pip install torch==2.9.1 torchaudio==2.9.1
# All platforms (Windows, Linux, macOS)
pip install -r requirements.txt
Note: The requirements file uses platform markers to automatically install the correct packages:
openai-whisper for transcriptionopenai-whisper (uses VibeVoice ASR instead)# Windows
winget install -e --id ChrisBagwell.SoX
# Linux
# Debian/Ubuntu
sudo apt install sox libsox-dev
# Fedora/RHEL
sudo dnf install sox sox-devel
# MacOs
brew install sox
# Windows
winget install -e --id Gyan.FFmpeg
# Linux
# Debian/Ubuntu
sudo apt install ffmpeg
# Fedora/RHEL
sudo dnf install ffmpeg
# MacOs
brew install ffmpeg
# Windows
winget install llama.cpp
# Linux
brew install llama.cpp
# Or build from source: https://github.com/ggml-org/llama.cpp
flash_attention_2 (CUDA only) → sdpa (CUDA/MPS) → eager (all devices)For troubleshooting solutions, see docs/troubleshooting.md.
Install NVIDIA Drivers (Windows Side)
Update WSL 2
wsl --update
wsl --install and restart your computer).Configure Docker Desktop
Run with Docker Compose
docker-compose up --build
http://127.0.0.1:7860.To verify the installation and features (like the DeepFilterNet denoiser), runs the integration tests inside the container:
# Run the Denoiser Integration Test
docker-compose exec voice-clone-studio python tests/integration_test_denoiser.py
python voice_clone_studio.py
Or use the launcher scripts:
# Windows
launch.bat
# Linux/macOS
./launch.sh
The UI will open at http://127.0.0.1:7860
Voice-Clone-Studio/
├── voice_clone_studio.py # Main orchestrator (~230 lines)
├── config.json # User preferences & enabled tools
├── requirements.txt # Python dependencies
├── launch.bat / launch.sh # Launcher scripts
├── setup-windows.bat / setup-linux.sh / setup-mac.sh # Platform setup scripts
├── wheel/ # Pre-built custom Gradio components
│ └── gradio_filelister-0.4.0-py3-none-any.whl
├── samples/ # Voice samples (.wav + .json)
├── output/ # Generated audio outputs
├── datasets/ # Training datasets
├── models/ # Downloaded & trained models
├── docs/ # Documentation
│ ├── updates.md # Version history
│ ├── troubleshooting.md # Troubleshooting guide
│ └── MODEL_MANAGEMENT_README.md # AI model manager docs
└── modules/
├── core_components/ # Core app code
│ ├── tools/ # All UI tools (tabs)
│ │ ├── voice_clone.py
│ │ ├── voice_presets.py
│ │ ├── conversation.py
│ │ ├── voice_design.py
│ │ ├── voice_changer.py
│ │ ├── sound_effects.py
│ │ ├── prep_audio.py
│ │ ├── output_history.py
│ │ ├── train_model.py
│ │ └── settings.py
│ ├── ai_models/ # TTS & ASR model managers
│ ├── ui_components/ # Modals, theme
│ ├── gradio_filelister/ # Custom file browser component
│ ├── constants.py # Central constants
│ ├── emotion_manager.py # Emotion presets
│ ├── audio_utils.py # Audio processing
│ └── help_page.py # Help content
├── deepfilternet/ # Audio denoising
├── qwen_finetune/ # Training scripts
├── chatterbox/ # Chatterbox voice conversion
├── vibevoice_tts/ # VibeVoice TTS
└── vibevoice_asr/ # VibeVoice ASR
Each tab lets you choose between model sizes:
| Model | Sizes | Use Case |
|---|---|---|
| Qwen3-TTS Base | Small, Large | Voice cloning from samples |
| Qwen3-TTS CustomVoice | Small, Large | Premium speakers with style control |
| Qwen3-TTS VoiceDesign | 1.7B only | Voice design from descriptions |
| LuxTTS | Large | Voice cloning with speaker encoder |
| VibeVoice-TTS | Small, Large | Voice cloning & Long-form multi-speaker (up to 90 min) |
| Chatterbox | TTS, Multilingual | Speech-to-speech voice conversion |
| Fish Speech S2 Pro | 4B | Voice cloning with inline expression tags |
| VibeVoice-ASR | Large | Audio transcription |
| Whisper | Medium | Audio transcription |
| MMAudio | Medium, Large v2 | Sound effects generation (text & video to audio) |
Models are automatically downloaded on first use via HuggingFace.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
This project is based on and uses code from:
For detailed version history and release notes, see docs/updates.md.
Python
95.1%
HTML
1.6%
A multi-model, modular Gradio-based web UI for voice cloning, voice design, multi-speaker conversation, voice conversion, voice training and sound effects. Basically, One app, many engines, to tinker with all of them without juggling separate repos or setups. Powered by VibeVoice, Qwen3-TTS, LuxTTS, Chatterbox, Fish Speech and MMAudio. Supports Qwen3-ASR, VibeVoice-ASR and Whisper for automatic transcription. As well as llama.cpp and Ollama for Prompt Generation and a Prompt Saving, based on ComfyUI Prompt-Manager
Voice Clone Studio is fully modular. The main file dynamically loads self-contained tools as tabs. Each tool can be enabled or disabled from Settings without touching any code. It supports multipe engine for voice cloning, as well as Model finetuning. More features are also planned.
Clone voices from your own audio samples. Provide a short reference audio clip with its transcript, and generate new speech in that voice.
[tag] markers like [whisper], [laughing], [excited] directly in text for fine-grained delivery control (15,000+ supported tags)[tags] are automatically removed when using other engines, so the same text works everywhereCreate multi-speaker dialogues using either Qwen's premium voices or your own custom voice samples using VibeVoice:
Choose Your Engine:
Unified Script Format:
Write scripts using [N]: format - works seamlessly with both engines:
[1]: Hey, how's it going?
[2]: I'm doing great, thanks for asking!
[3]: Mind if I join this conversation?
Qwen Mode:
Speaker Mapping:
VibeVoice Mode:
Perfect for:
Models:
Change the voice in any audio using Chatterbox speech-to-speech voice conversion (Resemble AI, MIT license):
Generate with premium pre-built voices, trained models, and streaming speakers:
VibeVoice Trained:
Qwen Speakers:
VibeVoice Speakers:
Qwen Trained:
Create voices from natural language descriptions - no audio needed, using Qwen3-TTS Voice Design Model:
Fine-tune your own custom voice models with your training data:
datasets/ folderVibeVoice Training Features:
Requirements:
Workflow:
datasets/YourSpeakerName/ folderUnified audio preparation workspace for both voice samples and training datasets:
Generate sound effects and ambient audio using MMAudio (CVPR 2025, MIT license):
.pth or .safetensors checkpoints with automatic architecture detectionSave, browse, and generate text prompts for your TTS sessions. Includes a built-in LLM generator powered by llama.cpp or Ollama:
prompts.json file, browse with the file lister[tag] instructions, and Sound Design/SFX workflows, or write your own.gguf file into models/llama/ to use your own modelsInspired by ComfyUI-Prompt-Manager by FranckyB.
View, play back, and manage your previously generated audio files. Multi-select for batch deletion, double-click to play.
Centralized application configuration:
Note for Linux/macOS users: openai-whisper is skipped (compatibility issues). Use VibeVoice ASR or Qwen3 ASR for transcription instead.
Note for macOS users: Model training is not supported on macOS. The Train Model tab is automatically hidden.
git clone https://github.com/FranckyB/Voice-Clone-Studio.git
cd Voice-Clone-Studio
setup-windows.bat
This will automatically:
git clone https://github.com/FranckyB/Voice-Clone-Studio.git
cd Voice-Clone-Studio
chmod +x setup-linux.sh
./setup-linux.sh
This will automatically:
git clone https://github.com/FranckyB/Voice-Clone-Studio.git
cd Voice-Clone-Studio
chmod +x setup-mac.sh
./setup-mac.sh
This will automatically:
git clone https://github.com/FranckyB/Voice-Clone-Studio.git
cd Voice-Clone-Studio
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/MacOs
source venv/bin/activate
# Windows/Linux (NVIDIA GPU)
pip install torch==2.9.1 torchaudio==2.9.1 --index-url https://download.pytorch.org/whl/cu130
# macOS (MPS support built-in)
pip install torch==2.9.1 torchaudio==2.9.1
# All platforms (Windows, Linux, macOS)
pip install -r requirements.txt
Note: The requirements file uses platform markers to automatically install the correct packages:
openai-whisper for transcriptionopenai-whisper (uses VibeVoice ASR instead)# Windows
winget install -e --id ChrisBagwell.SoX
# Linux
# Debian/Ubuntu
sudo apt install sox libsox-dev
# Fedora/RHEL
sudo dnf install sox sox-devel
# MacOs
brew install sox
# Windows
winget install -e --id Gyan.FFmpeg
# Linux
# Debian/Ubuntu
sudo apt install ffmpeg
# Fedora/RHEL
sudo dnf install ffmpeg
# MacOs
brew install ffmpeg
# Windows
winget install llama.cpp
# Linux
brew install llama.cpp
# Or build from source: https://github.com/ggml-org/llama.cpp
flash_attention_2 (CUDA only) → sdpa (CUDA/MPS) → eager (all devices)For troubleshooting solutions, see docs/troubleshooting.md.
Install NVIDIA Drivers (Windows Side)
Update WSL 2
wsl --update
wsl --install and restart your computer).Configure Docker Desktop
Run with Docker Compose
docker-compose up --build
http://127.0.0.1:7860.To verify the installation and features (like the DeepFilterNet denoiser), runs the integration tests inside the container:
# Run the Denoiser Integration Test
docker-compose exec voice-clone-studio python tests/integration_test_denoiser.py
python voice_clone_studio.py
Or use the launcher scripts:
# Windows
launch.bat
# Linux/macOS
./launch.sh
The UI will open at http://127.0.0.1:7860
Voice-Clone-Studio/
├── voice_clone_studio.py # Main orchestrator (~230 lines)
├── config.json # User preferences & enabled tools
├── requirements.txt # Python dependencies
├── launch.bat / launch.sh # Launcher scripts
├── setup-windows.bat / setup-linux.sh / setup-mac.sh # Platform setup scripts
├── wheel/ # Pre-built custom Gradio components
│ └── gradio_filelister-0.4.0-py3-none-any.whl
├── samples/ # Voice samples (.wav + .json)
├── output/ # Generated audio outputs
├── datasets/ # Training datasets
├── models/ # Downloaded & trained models
├── docs/ # Documentation
│ ├── updates.md # Version history
│ ├── troubleshooting.md # Troubleshooting guide
│ └── MODEL_MANAGEMENT_README.md # AI model manager docs
└── modules/
├── core_components/ # Core app code
│ ├── tools/ # All UI tools (tabs)
│ │ ├── voice_clone.py
│ │ ├── voice_presets.py
│ │ ├── conversation.py
│ │ ├── voice_design.py
│ │ ├── voice_changer.py
│ │ ├── sound_effects.py
│ │ ├── prep_audio.py
│ │ ├── output_history.py
│ │ ├── train_model.py
│ │ └── settings.py
│ ├── ai_models/ # TTS & ASR model managers
│ ├── ui_components/ # Modals, theme
│ ├── gradio_filelister/ # Custom file browser component
│ ├── constants.py # Central constants
│ ├── emotion_manager.py # Emotion presets
│ ├── audio_utils.py # Audio processing
│ └── help_page.py # Help content
├── deepfilternet/ # Audio denoising
├── qwen_finetune/ # Training scripts
├── chatterbox/ # Chatterbox voice conversion
├── vibevoice_tts/ # VibeVoice TTS
└── vibevoice_asr/ # VibeVoice ASR
Each tab lets you choose between model sizes:
| Model | Sizes | Use Case |
|---|---|---|
| Qwen3-TTS Base | Small, Large | Voice cloning from samples |
| Qwen3-TTS CustomVoice | Small, Large | Premium speakers with style control |
| Qwen3-TTS VoiceDesign | 1.7B only | Voice design from descriptions |
| LuxTTS | Large | Voice cloning with speaker encoder |
| VibeVoice-TTS | Small, Large | Voice cloning & Long-form multi-speaker (up to 90 min) |
| Chatterbox | TTS, Multilingual | Speech-to-speech voice conversion |
| Fish Speech S2 Pro | 4B | Voice cloning with inline expression tags |
| VibeVoice-ASR | Large | Audio transcription |
| Whisper | Medium | Audio transcription |
| MMAudio | Medium, Large v2 | Sound effects generation (text & video to audio) |
Models are automatically downloaded on first use via HuggingFace.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
This project is based on and uses code from:
For detailed version history and release notes, see docs/updates.md.
Python
95.1%
HTML
1.6%