
Reviewed and updated 16 August 2026 against the official Tortoise repository, release archive, package metadata, hosted demo and TTS-WebUI documentation.
Scope: I verified the commands and current project status against the linked primary sources; I did not rerun the complete Windows installation for this update.
Quick answer: On Windows, start with a clean Python 3.9 environment, install PyTorch using the official selector, then try the published tortoise-tts package. The core project uses command-line and Python tools rather than a desktop app. If you specifically want a Tortoise TTS GUI, the project-linked hosted demo is currently failing, while TTS-WebUI provides a separate third-party local interface. The current Git source still has a Transformers/Tokenizers conflict, so use PyPI first and isolate either route.
Tortoise TTS is an open-source, multi-voice speech generator designed for realistic prosody and intonation. It can create a random voice, use the supplied voices or condition speech on short reference clips. This guide shows the current installation choices, a working test command, a corrected Python example and the fixes for the most common CUDA and dependency errors.
If your goal is the reverse workflow (turning speech into text), use our NeMo-Speech.cpp local transcription guide.
In this guide
- Is Tortoise TTS still maintained?
- What you need before installing
- Quick PyPI installation
- Windows Conda and source installation
- Generate your first audio file
- Use the Python API
- Tortoise TTS GUI options
- Add a custom voice safely
- Troubleshooting
- Frequently asked questions
Is Tortoise TTS still maintained in 2026?
The official Tortoise TTS repository is public and not archived, so the project is not formally discontinued. However, its latest main-branch commit was 19 November 2024, making it an aging, relatively low-maintenance project. As of 29 July 2026, the latest PyPI release remains version 3.0.0 from 18 October 2023. That published package declares transformers==4.31.0 and leaves Tokenizers unpinned. The current Git main branch instead pins tokenizers==0.14.0 alongside Transformers 4.31.0; those constraints conflict, and upstream issue #860 remains open.
That does not make Tortoise unusable. It means you should isolate it from other Python projects, avoid casually upgrading every dependency and expect some troubleshooting on newer systems. Tortoise remains useful for experimentation and long-form, expressive English speech, but newer speech models may be easier for production or multilingual work.
What you need before installing
| Requirement | Practical recommendation |
|---|---|
| Python environment | Use a dedicated Python 3.9 Conda environment to match the project’s Windows example |
| GPU | An NVIDIA GPU is the expected local setup; CPU generation is extremely slow and the official README says local use requires NVIDIA |
| GPU driver and PyTorch | Install a PyTorch build compatible with your driver using PyTorch’s current selector |
| Tools | Miniconda for Windows; Git is also needed for the source route |
| Storage | Keep several gigabytes free for packages, PyTorch and model files downloaded on first use |
| Voice rights | Use only your own voice or audio you have clear permission to use |
The first run downloads several gigabytes of model weights from the project-linked Manmay/tortoise-tts Hugging Face repository, so it takes longer and needs a stable internet connection. Those .pth files are loaded by PyTorch: use only project-linked, trusted weights and do not substitute an unverified mirror. Local generation stays on your computer after the downloads, while a hosted demo sends your text and any voice clips to a remote service.
Method 1: Install the official PyPI package
The official README advertises PyPI as the shortest route. Version 3.0.0 is old and may still meet modern-system compatibility problems, but its published metadata does not contain the exact Tokenizers 0.14.0 conflict found on the current Git branch. Run it only inside a fresh environment you can delete. Do not weaken or upgrade packages in a working Python environment just to force an install.
1. Create and activate a clean environment
conda create --name tortoise python=3.9 -y
conda activate tortoise2. Install the correct PyTorch build
Open the official PyTorch installation selector, choose your operating system and supported CUDA platform, then run the command it provides. Do not copy a random CUDA command from an old tutorial: the PyTorch package and your NVIDIA driver must be compatible.
3. Check that PyTorch can see the GPU
python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CUDA not available')"You want the first line to say True. If it says False, fix PyTorch and the NVIDIA driver before installing more packages.
4. Install Tortoise TTS
python -m pip install --upgrade pip
python -m pip install tortoise-ttsIf this finishes cleanly, skip to the Python test below. If it fails, save the complete resolver error and confirm which package version pip selected. Do not install arbitrary versions from an old comment. The current Git source and Dockerfile install the conflicting source metadata, so they are not reliable automatic fallbacks; use them only for controlled troubleshooting, or choose a more actively maintained speech model.
Method 2: Official Windows Conda and source route
This route matches the structure of the project’s Windows instructions and gives you the repository scripts. Unlike PyPI 3.0.0, the current source metadata pins Tokenizers 0.14.0 with Transformers 4.31.0, which conflicts. The repository Dockerfile installs that same source metadata. Keep either route isolated and treat it as experimental until upstream changes the dependency constraints.
conda create --name tortoise python=3.9 numba inflect -y
conda activate tortoiseNext, install PyTorch using either the current command from PyTorch’s selector or the exact versions documented by the Tortoise repository for its legacy Windows environment. Then install the repository:
git clone https://github.com/neonbjb/tortoise-tts.git
cd tortoise-tts
python -m pip install .python -m pip install . is the modern invocation for installing a local project; the README still shows the older python setup.py install command. Neither changes the upstream dependency metadata. If Windows reports a sound-file error after the environment resolves, the project’s documented fix is:
conda install -c conda-forge pysoundfileGenerate your first Tortoise speech file
From inside the cloned tortoise-tts folder, run:
python tortoise/do_tts.py --text "Hello from Tortoise text to speech" --voice random --preset fastTortoise downloads the required model files on the first run, generates the speech and writes audio under the project’s results folder. It does not automatically play the output. Start with a short sentence because model loading and generation can take time.
| Preset | When to use it |
|---|---|
ultra_fast | Fast test runs and troubleshooting |
fast | Best first choice for routine generation |
standard | Higher quality when you can wait longer |
high_quality | Maximum preset quality at the highest compute cost; the project notes that the improvement may not justify it |
Use Tortoise TTS from Python
The old version of this guide showed invalid imports. This minimal example uses the current module paths and generates a random voice:
import torchaudio
from tortoise.api import TextToSpeech
from tortoise.utils.audio import load_voices
tts = TextToSpeech()
voice_samples, conditioning_latents = load_voices(["random"])
audio = tts.tts_with_preset(
"Hello from the Tortoise Python API.",
voice_samples=voice_samples,
conditioning_latents=conditioning_latents,
preset="fast",
)
torchaudio.save("tortoise-output.wav", audio.squeeze(0).cpu(), 24000)For long text, use the repository’s read.py or read_fast.py so the text is split into manageable segments. A single very long prompt is more likely to omit words or produce poor output.
Does Tortoise TTS have a GUI?
The original Tortoise TTS project does not bundle a maintained desktop GUI. It uses command-line scripts and a Python API. Its README links to a browser-based Hugging Face Space, but that Space was returning a runtime error when checked on 16 August 2026.
Local Tortoise TTS GUI for Windows
A current third-party option is TTS-WebUI. Its documentation lists Tortoise among the supported models and recommends its Ignition installer on Windows:
winget install TTS-WebUI.IgnitionTTS-WebUI is separate from the original Tortoise project and was not hands-on tested for this update. Its documentation says the base installation is about 10.7 GB, with another 2–8 GB required per model. Review its releases, open issues and the licences of any models you add before installing it.
Add a custom voice safely
Consent comes first. Only clone your own voice or a speaker who has given clear permission for the intended use. Label synthetic audio where listeners could otherwise be misled. Do not use someone’s voice for impersonation, fraud, harassment or deceptive endorsements.
- Record at least three clean clips of the same speaker, roughly ten seconds each.
- Remove music, other voices, strong reverb, clipping and background noise.
- Keep the speaking style similar to the output you want.
- Create a folder under
tortoise/voices/, for exampletortoise/voices/my_voice/. - Save the clips as floating-point WAV files at 22,050 Hz and put them in that folder.
- Run the test command again with
--voice my_voice.
Tortoise was trained primarily on audiobook data. The project author warns that its dataset was not balanced for diversity, so output can be weaker for strong accents and minority voices. The official guide recommends at least three clips of about ten seconds and says more is generally better, while noting it had only been tested with up to five. Keep the clips clean, consistent and from the same speaker. See the repository’s voice customization guide for the current folder behavior.
Common Tortoise TTS errors
| Problem | What to do |
|---|---|
torch.cuda.is_available() is False | Confirm the NVIDIA driver, then reinstall PyTorch using the official selector for your supported CUDA setup |
CUDA out of memory | Close other GPU apps, shorten the text, start with ultra_fast and reduce the autoregressive batch size if using the API |
ModuleNotFoundError | Activate the tortoise environment and use python -m pip so pip and Python refer to the same environment |
| Transformers or Tokenizers conflict | Confirm the installed source: the exact 0.14.0 conflict is in current Git metadata, not the published PyPI 3.0.0 metadata. Keep source experiments separate. |
| Model download appears stuck | Allow several gigabytes of free space, check Hugging Face access and use only the project-linked weight repository |
| Generated audio repeats or misses words | Use shorter sentences, try another seed or preset, and regenerate the affected segment |
| Command works but no audio plays | Open the WAV file in results/; the standard script saves output rather than playing it automatically |
Linux and Apple Silicon notes
On Linux, use a virtual environment or Conda, install the correct PyTorch build first and then use the PyPI or GitHub route. On Apple Silicon, the official README documents an MPS path using a compatible PyTorch build, but also notes limitations such as DeepSpeed being unavailable. Treat the repository’s current Apple section as the source of truth because PyTorch support changes faster than this guide.
Frequently asked questions
Is Tortoise TTS free?
The source code is released under the Apache 2.0 licence. You still need to respect rights in input recordings, generated uses and any third-party models or services you combine with it.
Can Tortoise TTS run without an NVIDIA GPU?
Parts of the code can fall back to CPU or supported Apple hardware, but CPU inference is impractically slow for most users and the official local-install guidance expects NVIDIA. The official hosted demo showed a runtime error when checked on 29 July 2026; if it returns, remember that text and uploaded clips are processed remotely.
Where does Tortoise save audio?
The repository’s do_tts.py workflow writes output into its results directory. The Python example above writes tortoise-output.wav in the folder where you run the script.
Why is Tortoise TTS slow?
Tortoise combines an autoregressive decoder with diffusion-based generation and samples multiple candidates to improve quality. Higher-quality presets therefore require much more computation. Use fast or ultra_fast while testing.
What is the best Tortoise TTS alternative?
That depends on whether you value local privacy, multilingual speech, speed, licence terms or voice similarity. Tortoise remains interesting for expressive local experimentation, but compare active open-source speech projects before building a production workflow around it.
Bottom line
Tortoise text-to-speech still works, but its older dependencies reward a clean, isolated setup. Use a disposable environment, verify CUDA before generating audio, expect dependency problems on newer systems, especially the Git-source Transformers/Tokenizers conflict and keep your prompts short while testing. Most importantly, use custom voices only with informed permission.
For more local AI projects, see our updated guides to running Llama locally on Windows, using Aider for AI-assisted coding and generating music with MusicGen.
Thank you