Local speech recognition & synthesis
Last updated
Make a two-speaker dialogue WAV with Fish Audio Drama 3
Assign dialogue turns with speaker tags and match each voice to a reference clip.
Drama 3 is a TTS1 model that takes speaker-tagged dialogue, reference audio, and transcripts to generate a WAV with multiple voices. Its local setup needs Linux or WSL, at least 48 GB of NVIDIA GPU2 memory, and the FP83 path.
Give the script speakers and delivery cues
Fish Audio Drama 3 is a multi-speaker TTS model that turns a script into speech. Add speaker tags and dialogue, then provide a reference audio clip and its transcript for each voice to create one WAV with multiple speakers. It fits scenes or longer readings with recurring voice changes. Drama 3 model card
Drama 3 is a mixture-of-experts model with 35B total parameters and 3B active for each token4. Its model card lists 83 languages, and the script can identify up to 16 speakers with tags from speaker 0 through speaker 15. Repeat a speaker's tag on each turn so the same character keeps the assigned voice.
Speaker tags identify who reads each line, while short bracketed cues describe a moment's delivery. The model card shows point tags such as [sighs] and [laughs]. Generate the passage and listen to whether the cue produces the delivery you intended.

Check GPU memory and runtime support first
Fish Audio's current installation guide requires at least 48 GB of GPU memory for Drama 3 FP8. It supports NVIDIA GPUs on Linux or WSL. CPU5, Apple MPS, AMD ROCm6, and torch.compile are not supported, so choose another model if you need to generate on a Mac or CPU. Official installation requirements
The install guide lists 24 GB of GPU memory for S2-Pro and supports CPU or NVIDIA GPU inference7. Drama 3's FP8 path needs at least 48 GB of NVIDIA GPU memory, so the two models target different hardware.
The published run used one concurrent stream on an H200 and a pre-encoded English Seed-TTS reference; the result aggregates four runs. The mean RTF8 and TTFA p50 are results for this setup.
| Model | Local runtime requirement | Published measurement |
|---|---|---|
| Drama 3 | FP8, at least 48 GB NVIDIA GPU memory, Linux or WSL | One H200 stream: mean RTF 0.131 and TTFA p50 88.9 ms |
| S2-Pro | 24 GB GPU memory listed; CPU or NVIDIA GPU supported | No S2-Pro result is included here for a direct comparison with Drama 3. |
Install the CUDA runtime on Linux or WSL
On Ubuntu or WSL, prepare Python 3.12 and an NVIDIA driver, then install the audio system packages listed by the repository. The commands below clone the source and install its CUDA9 12.9 dependencies into the Python environment.
sudo apt-get update && sudo apt-get install -y portaudio19-dev libsox-dev ffmpeg
curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
git clone https://github.com/fishaudio/fish-speech.git
cd fish-speech
uv sync --python 3.12 --extra cu129After uv sync finishes, keep working from the repository directory. If your shell is elsewhere, change into fish-speech before continuing.
Download the model files and prepare speaker references
Download this Drama 3 revision into checkpoints/drama-3. It includes the codec10.pth required for inference, so you do not need separate S2-Pro weights. The public model can be downloaded without a login token.
uv pip install "huggingface_hub[cli]"
uv run hf download fishaudio/drama-3 --revision e0a9218aa48888270f06ef1ed9ea67622c0e17d2 --local-dir checkpoints/drama-3Save the two reference recordings as speaker0.wav and speaker1.wav in the fish-speech directory. Listen to each clip and transcribe its exact words. Use recordings with the speakers' permission.

Match two references to two speakers and save a WAV
The CLI11 pairs reference audio and transcripts in the order you provide them. Put the exact words spoken in speaker0.wav after that clip, then the transcript for speaker1.wav. The lines below are examples; replace them with the actual words in your WAV files before running the command. Keep the script's speaker numbers in the same order.
The command pairs two reference WAVs with their transcripts, then switches speakers within one script. The official CLI accepts repeated reference-audio and transcript options. Official Drama 3 CLI
uv run python fish_speech/models/text2semantic/inference.py \
--checkpoint-path checkpoints/drama-3 \
--text "<|speaker:0|>제가 먼저 장면을 설명할게요. [laughs] <|speaker:1|>좋아요. 다음 대사를 이어가죠. [sighs]" \
--prompt-audio speaker0.wav \
--prompt-text "오늘은 새 전시를 소개합니다." \
--prompt-audio speaker1.wav \
--prompt-text "첫 번째 작품은 창가에 걸려 있어요." \
--output drama-two-voices.wav \
--device cuda:0Check the voices and dialogue in the output WAV
When the command completes, drama-two-voices.wav appears in the fish-speech directory. Listen through it to check voice changes, each line's pronunciation, and the placement of the laugh and sigh. If a voice sounds wrong, check that speaker's reference clip and transcript before generating again.
The example selects cuda:0 for one GPU. For multiple GPUs, pass the CLI's comma-separated device list and reserve memory on the last GPU for both the tower and codec.
License terms: revenue threshold and delivery method
Drama 3 ships with the Fish Audio Community License 1.0, updated October 13, 2026. It permits research and non-commercial use, plus limited commercial use when your and your affiliates' combined gross revenue from all sources over the preceding 12 months is below USD 500,000. If you install the model for a third party's operations or deliver them a copy of the model, that company must also meet the threshold. Full license
A self-service API12, website, or app where users request speech generation is a Hosted Service and needs a separate written license regardless of revenue or purpose. The license excludes speech for content or products you create or control, and production work where you operate the model and deliver only finished files. A free, non-commercial research or demo service is also excluded when it meets the stated conditions. Distribution requires the “Built with Fish Audio” attribution and a license copy; obtain consent before imitating an identifiable person's voice.
Checked October 16, 2026: Hugging Face metadata still shows the earlier Research License label. The conditions above follow the LICENSE text distributed with the current model.

Terminology notes
Text-to-Speech — Technology that converts text into spoken audio with pronunciation and prosody.
Back to the textGPU — A processor designed to handle many calculations in parallel. It performs model computations during AI inference.
Back to the textFP8 — A floating-point format that represents each value with 8 bits.
Back to the textToken — A unit into which a model divides input or output for processing.
Back to the textCPU — The central processor that runs the operating system and general-purpose instructions; in AI workloads it also handles tasks such as preprocessing and data movement.
Back to the textROCm — AMD’s software platform for AI and high-performance computing on GPUs. Support depends on the combination of GPU, operating system, driver, and framework versions.
Back to the textInference — The process of using a trained model to compute an output for an input. Here, local inference means running the model on the user’s device.
Back to the textReal-Time Factor — Generation time divided by the duration of the output. Under comparable conditions, a lower value indicates faster generation.
Back to the textCUDA — A software platform for general-purpose computing on NVIDIA GPUs.
Back to the textAudio codec — A method or software for encoding, compressing, and decoding digital audio. Size, compatibility, and lossiness vary by codec.
Back to the textCLI — Short for Command-Line Interface: operating a program by entering commands in a terminal.
Back to the textAPI — A defined interface that lets other code call a program’s functions.
Back to the text
Frequently asked questions
- What should you check first in this article?
- Drama 3 is a TTS model that takes speaker-tagged dialogue, reference audio, and transcripts to generate a WAV with multiple voices. Its local setup needs Linux or WSL, at least 48 GB of NVIDIA GPU memory, and the FP8 path.
- How much memory does it need?
- Fish Audio's current installation guide requires at least 48 GB of GPU memory for Drama 3 FP8. It supports NVIDIA GPUs on Linux or WSL. CPU, Apple MPS, AMD ROCm, and torch.compile are not supported, so choose another model if you need to generate on a Mac or CPU. [Official installation requirements](https://github.com/fishaudio/fish-speech/blob/main/docs/en/install.md#requirements)
- Where can you check the conditions and sources?
- Fish Audio Drama 3 is a multi-speaker TTS model that turns a script into speech. Add speaker tags and dialogue, then provide a reference audio clip and its transcript for each voice to create one WAV with multiple speakers. It fits scenes or longer readings with recurring voice changes. [Drama 3 model card](https://huggingface.co/fishaudio/drama-3)
Read next
Local speech recognition & synthesis
Fish Audio Drama 3 int4: 41.5 GB down to 22 GB
Local speech recognition & synthesis
Compare local TTS models: languages, hardware and speed evidence
Local speech recognition & synthesis
Make speech on your own computer: a local TTS guide
Local speech recognition & synthesis
Transcribe Korean speech live and save text with Nemotron 3.5 ASR
