@NFTCPS: 电诈园区又有新武器用了,语音克隆这块又被卷到新高度了。 LuxTTS,一个轻量级 TTS 模型,我看完只想说三个字:真离谱。 快:单卡 150 倍实时,连 CPU 都能跑得比真人说话还快 清:直接 48khz,大部分模型还卡在 24khz…
摘要
LuxTTS 是一个轻量级语音克隆 TTS 模型,支持 48kHz 高清输出,单 GPU 可达 150 倍实时速度,仅需 1GB 显存即可本地运行,性能媲美十倍大的模型。
查看缓存全文
缓存时间: 2026/07/05 18:36
电诈园区又有新武器用了,语音克隆这块又被卷到新高度了。
LuxTTS,一个轻量级 TTS 模型,我看完只想说三个字:真离谱。
快:单卡 150 倍实时,连 CPU 都能跑得比真人说话还快 清:直接 48khz,大部分模型还卡在 24khz 省:1GB 显存就够,你那块老显卡也能带得动
克隆效果还敢叫板比它大 10 倍的模型,本地就能玩,不用求人。
https://github.com/ysharma3501/LuxTTS…
ysharma3501/LuxTTS
Source: https://github.com/ysharma3501/LuxTTS
LuxTTS
LuxTTS is an lightweight zipvoice based text-to-speech model designed for high quality voice cloning and realistic generation at speeds exceeding 150x realtime.
https://github.com/user-attachments/assets/a3b57152-8d97-43ce-bd99-26dc9a145c29
The main features are
- Voice cloning: SOTA voice cloning on par with models 10x larger.
- Clarity: Clear 48khz speech generation unlike most TTS models which are limited to 24khz.
- Speed: Reaches speeds of 150x realtime on a single GPU and faster then realtime on CPU’s as well.
- Efficiency: Fits within 1gb vram meaning it can fit in any local gpu.
Usage
You can try it locally, colab, or spaces.
Simple installation:
git clone https://github.com/ysharma3501/LuxTTS.git
cd LuxTTS
pip install -r requirements.txt
Load model:
from zipvoice.luxvoice import LuxTTS
# load model on GPU
lux_tts = LuxTTS('YatharthS/LuxTTS', device='cuda')
# load model on CPU
# lux_tts = LuxTTS('YatharthS/LuxTTS', device='cpu', threads=2)
# load model on MPS for macs
# lux_tts = LuxTTS('YatharthS/LuxTTS', device='mps')
Simple inference
import soundfile as sf
from IPython.display import Audio
text = "Hey, what's up? I'm feeling really great if you ask me honestly!"
## change this to your reference file path, can be wav/mp3
prompt_audio = 'audio_file.wav'
## encode audio(takes 10s to init because of librosa first time)
encoded_prompt = lux_tts.encode_prompt(prompt_audio, rms=0.01)
## generate speech
final_wav = lux_tts.generate_speech(text, encoded_prompt, num_steps=4)
## save audio
final_wav = final_wav.numpy().squeeze()
sf.write('output.wav', final_wav, 48000)
## display speech
if display is not None:
display(Audio(final_wav, rate=48000))
Inference with sampling params:
import soundfile as sf
from IPython.display import Audio
text = "Hey, what's up? I'm feeling really great if you ask me honestly!"
## change this to your reference file path, can be wav/mp3
prompt_audio = 'audio_file.wav'
rms = 0.01 ## higher makes it sound louder(0.01 or so recommended)
t_shift = 0.9 ## sampling param, higher can sound better but worse WER
num_steps = 4 ## sampling param, higher sounds better but takes longer(3-4 is best for efficiency)
speed = 1.0 ## sampling param, controls speed of audio(lower=slower)
return_smooth = False ## sampling param, makes it sound smoother possibly but less cleaner
ref_duration = 5 ## Setting it lower can speedup inference, set to 1000 if you find artifacts.
## encode audio(takes 10s to init because of librosa first time)
encoded_prompt = lux_tts.encode_prompt(prompt_audio, duration=ref_duration, rms=rms)
## generate speech
final_wav = lux_tts.generate_speech(text, encoded_prompt, num_steps=num_steps, t_shift=t_shift, speed=speed, return_smooth=return_smooth)
## save audio
final_wav = final_wav.numpy().squeeze()
sf.write('output.wav', final_wav, 48000)
## display speech
if display is not None:
display(Audio(final_wav, rate=48000))
Tips
- Please use at minimum a 3 second audio file for voice cloning.
- You can use return_smooth = True if you hear metallic sounds.
- Lower t_shift for less possible pronunciation errors but worse quality and vice versa.
Community
- Lux-TTS-Gradio: A gradio app to use LuxTTS.
- OptiSpeech: Clean UI app to use LuxTTS.
- LuxTTS-Comfyui: Nodes to use LuxTTS in comfyui.
- FalAI hosting: Luxtts demo hosted by FalAI
- Lux-TTS ONNX: Onnx code to use luxtts
Thanks to all community contributions!
Info
Q: How is this different from ZipVoice?
A: LuxTTS uses the same architecture but distilled to 4 steps with an improved sampling technique. It also uses a custom 48khz vocoder instead of the default 24khz version.
Q: Can it be even faster?
A: Yes, currently it uses float32. Float16 should be significantly faster(almost 2x).
Roadmap
- Release model and code
- Huggingface spaces demo
- Release MPS support (thanks to @builtbybasit)
- Release LuxTTS v1.5
- Release code for float16 inference
Acknowledgments
Final Notes
The model and code are licensed under the Apache-2.0 license. See LICENSE for details.
Stars/Likes would be appreciated, thank you.
Email: [email protected]
相似文章
@Honcia13: 开源TTS直接卷疯了!园区诈骗又有新武器? 清华 OpenBMB 刚刚放出 VoxCPM2: 200亿参数 + 200万小时多语言数据训练,48kHz录音棚级音质! 最狠的是——完全不用Tokenizer,直接在连续潜空间做扩散自回归,细…
清华大学 OpenBMB 发布了 VoxCPM2,这是一个拥有 200 亿参数的开源多语言 TTS 模型,支持无需 Tokenizer 的连续潜空间扩散自回归生成,具备 48kHz 录音棚级音质和强大的声音克隆与设计能力。
@FeitengLi: 99M 参数的 TTS 跑在 CPU 上,比 2B 大模型跑在 A100 上还快。 Supertone 新开源的 supertonic-3 ONNX Runtime,完全本地,浏览器能跑,手机能跑,树莓派也能跑。
Supertone released Supertonic 3, an open-source TTS model with 99M parameters that runs faster on CPU than a 2B model on A100, supporting 31 languages and ONNX Runtime for fully local inference.
@Gorden_Sun: 有道开源Confucius4-TTS 1.3B大小的TTS模型,支持多语言,支持语音克隆,效果不错,速度特别快。 Github:https://github.com/netease-youdao/Confucius4-TTS… 在线使用:…
有道开源了1.3B参数的Confucius4-TTS模型,支持14种语言的零样本语音克隆与跨语言语音合成,速度快且效果优秀。
@NFTCPS: 4GB显存跑70B大模型?这事儿真成了! AirLLM玩了个骚操作——分层推理,不一次性把模型怼进显存,而是一层层加载、算完就扔,硬生生把巨无霸塞进小破卡。 最骚的是:100%开源,白嫖警告 https://github.com/0xSo…
AirLLM 是一个完全开源的工具,通过分层推理技术(逐层加载并立即释放显存),使得 70B 大语言模型可在仅 4GB 显存的 GPU 上运行,无需量化、蒸馏或剪枝,并已支持 Llama3.1 405B 在 8GB 显存上运行。
@lxfater: 网易有道开源了子曰4大模型,27B参数内,数理 SOTA 但真正让我觉得有趣的是它那个语音功能!! 克隆个声音不稀奇,ElevenLabs 早能做 但它们都有个通病,跨语种会串口音 拿你的中文声音去说日语,它带着一口中国腔,一听就是外国人…
网易有道开源了子曰4大模型,27B参数,数理性能达到SOTA;其语音功能支持3秒跨语言声音克隆,14种语言且无口音问题,同时开源了全场景智能体龙虾。