Fish Audio Drama 3 — single-speaker voice cloning
78
19 commits
2 linked in READMEs
updated Oct 15, 2026
A Gradio app that runs
fishaudio/drama-3 (35B MoE, 3B
active per token) in-process on a ZeroGPU large slice (RTX Pro 6000, 48 GB)
via one @spaces.GPU function. Record or upload a voice sample, type what that
sample says, and generate a new line in that voice.
Hardware: this Space must run on ZeroGPU hardware (Settings → Hardware → ZeroGPU). On CPU hardware the page opens, but Generate asks you to flip the hardware.
Inference uses the official PyTorch path of the model, vendored under fish_speech/
(adapted from hugging-apps/fish-audio-drama-3
via akhaliq/drama-3-tts):
the 32.2B FP8 MoE experts stay in FP8 — dequantised they would need ~67 GB and
would not fit the slice. The model loads at module scope, as the ZeroGPU docs
recommend: built on the meta device, materialised on CPU with FP8 experts, then
moved to cuda, so startup costs no GPU time. spaces is imported before CUDA
is initialized.
The page has five controls:
S0: or a speaker token.Example:
Hello, nice to meet you. My name is Chenyang.Have a nice day and enjoy Southern California sunshine.The output should say the new line in the reference voice, not repeat the introduction.
This page is a single-speaker preview. Multi-speaker scenes, streaming, and the HTTP API are documented with SGLang Omni:
Sampling is fixed: temperature=1.0, top_p=0.9, top_k=30, and
max_new_tokens=500 per chunk. The token budget is also capped by the context
window, so a chunk never asks for more frames than the prompt leaves free.
Long text is split into chunks inside that single generation call.
Each click books its own GPU slot with a dynamic @spaces.GPU(duration=...)
estimate (≤120 s requested; ZeroGPU books 1.5× on this hardware). GPU time
counts against the visitor's daily ZeroGPU quota — sign in for a larger
allowance.
It took us over half a year to bring SGLang Omni back to life. Thanks to all the people who helped us along the way.
Thanks so much for AK help to set up the space.
SGLang Omni team: Chenyang Zhao, Jingwen Gu, Shenggui Li, Richard Wang, Yichi Zhang, Xuesong Ye, Jiaxin Deng, Ratish P, Jiaxuan Luo, Xinyu Lu, Wenyao Gao, Ao Sun, Jintao Quaige Li, Yuhao Chen, Yuhan Zhou, Xuxiang Tian, Ruoyi Zhang, Junnan Li, Yixiao Zeng, Chenchen Hong, Huapeng Zhou, Yang Gao, Chaoye Fei, Yiyang Zh, Kang, Yitian Gong, Yuan Luo, Hao Jin, Yifei Gao, Gaokai Zhang, Lifan Shen, Hui Shen, Kejing Xia, Jinxin Li, Dongming Shen, Jun Liu, Yue Yin, Zhihao Guo, Jisen Li, Ruoyu He, Xuanyi Li, Chenye Zhu, Liang Zhen, Xiaodong Ye, Yizhi Zhen, Kaizuo Li, Chonghan Liu, Wei Guan, Zhuofeng Li
FishAudio Team: Shijia Liao, Shidong Li, Xuehao Yang, Jiahua Liu
preload_from_hub; first boot still
takes a while while the ~40 GB checkpoint is packed.Fish Audio Drama 3 — single-speaker voice cloning
78
19 commits
2 linked in READMEs
updated Oct 15, 2026
A Gradio app that runs
fishaudio/drama-3 (35B MoE, 3B
active per token) in-process on a ZeroGPU large slice (RTX Pro 6000, 48 GB)
via one @spaces.GPU function. Record or upload a voice sample, type what that
sample says, and generate a new line in that voice.
Hardware: this Space must run on ZeroGPU hardware (Settings → Hardware → ZeroGPU). On CPU hardware the page opens, but Generate asks you to flip the hardware.
Inference uses the official PyTorch path of the model, vendored under fish_speech/
(adapted from hugging-apps/fish-audio-drama-3
via akhaliq/drama-3-tts):
the 32.2B FP8 MoE experts stay in FP8 — dequantised they would need ~67 GB and
would not fit the slice. The model loads at module scope, as the ZeroGPU docs
recommend: built on the meta device, materialised on CPU with FP8 experts, then
moved to cuda, so startup costs no GPU time. spaces is imported before CUDA
is initialized.
The page has five controls:
S0: or a speaker token.Example:
Hello, nice to meet you. My name is Chenyang.Have a nice day and enjoy Southern California sunshine.The output should say the new line in the reference voice, not repeat the introduction.
This page is a single-speaker preview. Multi-speaker scenes, streaming, and the HTTP API are documented with SGLang Omni:
Sampling is fixed: temperature=1.0, top_p=0.9, top_k=30, and
max_new_tokens=500 per chunk. The token budget is also capped by the context
window, so a chunk never asks for more frames than the prompt leaves free.
Long text is split into chunks inside that single generation call.
Each click books its own GPU slot with a dynamic @spaces.GPU(duration=...)
estimate (≤120 s requested; ZeroGPU books 1.5× on this hardware). GPU time
counts against the visitor's daily ZeroGPU quota — sign in for a larger
allowance.
It took us over half a year to bring SGLang Omni back to life. Thanks to all the people who helped us along the way.
Thanks so much for AK help to set up the space.
SGLang Omni team: Chenyang Zhao, Jingwen Gu, Shenggui Li, Richard Wang, Yichi Zhang, Xuesong Ye, Jiaxin Deng, Ratish P, Jiaxuan Luo, Xinyu Lu, Wenyao Gao, Ao Sun, Jintao Quaige Li, Yuhao Chen, Yuhan Zhou, Xuxiang Tian, Ruoyi Zhang, Junnan Li, Yixiao Zeng, Chenchen Hong, Huapeng Zhou, Yang Gao, Chaoye Fei, Yiyang Zh, Kang, Yitian Gong, Yuan Luo, Hao Jin, Yifei Gao, Gaokai Zhang, Lifan Shen, Hui Shen, Kejing Xia, Jinxin Li, Dongming Shen, Jun Liu, Yue Yin, Zhihao Guo, Jisen Li, Ruoyu He, Xuanyi Li, Chenye Zhu, Liang Zhen, Xiaodong Ye, Yizhi Zhen, Kaizuo Li, Chonghan Liu, Wei Guan, Zhuofeng Li
FishAudio Team: Shijia Liao, Shidong Li, Xuehao Yang, Jiahua Liu
preload_from_hub; first boot still
takes a while while the ~40 GB checkpoint is packed.