TTS-WebUI Documentation

repository·main·Indexed 25 days ago

https://github.com/rsxdalv/tts-webui

A comprehensive web interface for Text-to-Speech (TTS), audio generation, and audio processing models, including Bark, XTTSv2, and MusicGen. Version 1.5.1 supports a wide range of models for speech synthesis, music generation, and audio conversion tools. It features an OpenAI-compatible API for integration with SillyTavern and OpenWebUI, a Gradio File Proxy for backend file access, and multiple installation methods including Ignition, Docker, and manual setup.

Tokens
25.3K
Snippets
47
Records
156
Agent score
85%

What's inside TTS-WebUI

  1. Overview of Supported Models in TTS WebUI

    main

    TTS WebUI supports a wide range of models categorized into Text-to-speech, Audio/Music Generation, and Audio Conversion/Tools. Note that models marked with an asterisk (*) are not installed by default and must be added via the Extensions system.

    Text-to-speech

    • Bark, Tortoise, Maha TTS, MMS, Vall-E X, StyleTTS2, SeamlessM4T, XTTSv2*, MARS5*, F5-TTS*, Parler TTS*, OpenVoice*, OpenVoice V2*, Kokoro TTS*, DIA*, CosyVoice*, GPT-SoVITS*, Piper TTS*, Kimi Audio 7B Instruct*, Chatterbox*, VibeVoice*, Kitten TTS*, Index-TTS2*, VoxCPM*, FireRedTTS2*, MegaTTS3*
    • MiniMax Cloud TTS (built-in)

    Audio/Music Generation

    • MusicGen, MAGNeT, Stable Audio, Riffusion*, AudioCraft Mac*, AudioCraft Plus*, ACE-Step*, Song Bloom*

    Audio Conversion/Tools

    • RVC, Demucs, Vocos, Whisper, AP BWE, Resemble Enhance, Audio Separator, PyRNNoise*, MiMo Audio*
  2. Understand Licensing for TTS WebUI

    main

    The TTS WebUI codebase is licensed under the MIT License. However, the project relies on various dependencies and model weights that carry different licenses. Users are responsible for complying with the specific licenses of the dependencies and models they use.

    Dependency Licenses

    Some dependencies may have non-permissive licenses:

    • encodec: CC BY-NC 4.0 (Newer MIT versions require manual installation)
    • diffq: CC BY-NC 4.0 (Optional)
    • lameenc: GPL License (Future versions will be LGPL; requires manual installation)
    • unidecode: GPL License

    Model Weight Licenses

    Always check the license of the specific model weights you are using. Notable licenses include:

    • Bark: MIT
    • Tortoise: Unknown (Repo claims Apache-2.0, but no license file is present on HuggingFace)
    • MusicGen: CC BY-NC 4.0
    • AudioGen: CC BY-NC 4.0
  3. Understand the TTS WebUI multi-server architecture

    main

    TTS WebUI operates using two distinct servers that run independently. Understanding this separation is critical for debugging connectivity or port conflicts.

    1. Python App Server: The core application server running Flask. It handles the main TTS logic.
    2. Log Streaming Server: A Node.js HTTP server used to stream logs from the Python process to the UI.

    If you are troubleshooting why logs are not appearing in the UI, ensure the Log Streaming Server is active and can reach the Python server's stdout.

  4. Manage extensions in TTS WebUI

    main
    The project uses a modular extension system to add new models and features. Users can manage these via the UI, which includes an 'uninstall extension' button and an 'Attempt Update' button for external extensions. Some extensions, like the 'Huggingface Cache Manager', are designed to manage model data specifically.
  5. Install TTS WebUI using the Legacy Installer

    main

    The legacy installer is a zip file that sets up its own environment.

    1. Download and extract the latest version.
    2. Run start_tts_webui.bat (Windows) or start_tts_webui.sh (Linux/macOS) to start the server.
    3. Follow the prompts to select your GPU/Chip.
    4. Once installed, the Gradio server will be at http://localhost:7770 and the React UI at http://localhost:3000.

    Note: The script manages its own conda and python virtual environments. Do not attempt to launch from a different venv as it may break the script. Logs are located in installer_scripts/output.log.

  6. Install default extensions

    main

    To add default extensions like RVC or StyleTTS2, install them from the dedicated extensions index. If installation fails, try installing them one by one.

    # Install all default extensions at once
    pip install -r requirements.txt \
       tts-webui-extension.rvc>=0.0.3 \
       tts-webui-extension.styletts2>=0.1.0 \
       --extra-index-url https://tts-webui.github.io/extensions-index/
    
    # Individual installation if needed
    pip install tts-webui-extension.rvc>=0.0.3 --extra-index-url https://tts-webui.github.io/extensions-index/
    pip install tts-webui-extension.audiocraft>=0.0.2 --extra-index-url https://tts-webui.github.io/extensions-index/
    pip install tts-webui-extension.styletts2>=0.1.0 --extra-index-url https://tts-webui.github.io/extensions-index/
  7. Integrate with Text Generation WebUI (oobabooga)

    main

    To use TTS WebUI with text-generation-webui:

    1. Install the https://github.com/rsxdalv/text-to-tts-webui extension in text-generation-webui.
    2. Start the TTS WebUI API and verify it works.
    3. Configure the connection using the extension panel in text-generation-webui.