技術 約4分で読めます

LuxTTS - 1GB VRAMで動くZipVoiceベースの軽量ボイスクローニング

オープンソースTTSモデルが毎月のように出てくる状況だが、LuxTTSは「軽さ」に全振りしているのが特徴的だった。1GB VRAMに収まるモデルでGPU 150倍リアルタイム、CPUでもリアルタイム超えの速度が出る。

ZipVoiceベースのアーキテクチャ

LuxTTSはZipVoiceをベースに、推論ステップを4ステップに蒸留(distillation)した構成。通常のTTSモデルが多段階の推論を必要とするのに対し、少ないステップ数で10倍大きいモデルと同等の品質を出すことを狙っている。

主な技術的特徴を整理した。

特徴内容
4ステップ蒸留ZipVoiceの推論パイプラインを4ステップに圧縮
48kHzボコーダ多くのTTSが24kHz出力なのに対し、48kHzで出力。サンプリングレートが高い分だけクリアな音声になる
改良サンプリング標準的なEulerサンプリングではなく独自の手法を使用
1GB VRAMコンシューマGPUならほぼ何でも動く

スペックと対応環境

項目内容
VRAM1GB未満
推論速度(GPU)150倍リアルタイム
推論速度(CPU)リアルタイム超
出力品質48kHz
ボイスクローンゼロショット対応
対応デバイスCUDA / CPU / MPS(Apple Silicon)
ライセンスApache 2.0

対応言語は英語と中国語が中心。公式サイトでは日本語・韓国語・フランス語も挙げているが、英語以外の品質についてはユーザー報告がまちまちで、日本語のネイティブ品質を期待するのは厳しそう。

セットアップと使い方

git clone https://github.com/ysharma3501/LuxTTS.git
cd LuxTTS
pip install -r requirements.txt

基本的な音声生成のコード。

from zipvoice.luxvoice import LuxTTS
import soundfile as sf

# モデルロード(GPU)
lux_tts = LuxTTS('YatharthS/LuxTTS', device='cuda')
# CPU: lux_tts = LuxTTS('YatharthS/LuxTTS', device='cpu', threads=2)
# Apple Silicon: lux_tts = LuxTTS('YatharthS/LuxTTS', device='mps')

# リファレンス音声をエンコード
encoded_prompt = lux_tts.encode_prompt('reference.wav', rms=0.01)

# 音声生成
text = "Hello, this is a test of LuxTTS voice cloning."
final_wav = lux_tts.generate_speech(text, encoded_prompt, num_steps=4)

# 保存
final_wav = final_wav.numpy().squeeze()
sf.write('output.wav', final_wav, 48000)

主要なパラメータは以下の通り。

パラメータデフォルト説明
num_steps4推論ステップ数。3〜4が品質と速度のバランス
rms0.01音量制御
t_shift0.9品質と精度のバランス
speed-再生速度調整
ref_duration5秒リファレンス音声の使用長

ボイスクローンの実力

150倍リアルタイムという速度は確かに速い。ただし、ボイスクローンの品質については評価が分かれている。

HackerNoonのレビューでは「テキスト合成の品質は良いが、ボイスクローンは他のモデルに比べると見劣りする」という指摘がある。リファレンス音声の品質に大きく依存し、ノイズの多い音声だとクローン精度が落ちるとのこと。

2026年のオープンソースボイスクローンのランキングでは、Fish Speech V1.5、CosyVoice2-0.5B、IndexTTS-2がトップ3に挙がっており、LuxTTSはランク外。軽さと速度を取るか、品質を取るかのトレードオフになる。

導入コスト

LuxTTSの最大の強みはコストの低さにある。

1GB VRAMで動くため、数年前のエントリーGPUでも問題ない。CPUでもリアルタイム超えなので、GPUなしの環境でも実用的に使える。クラウドAPI不要でランニングコストゼロ。セットアップもgit cloneとpip installだけで、Docker不要、ComfyUI不要。Pythonスクリプト数行で音声が出る。ライセンスはApache 2.0なので商用利用も制限なし。

ただし、Float16最適化は未実装(開発中)で、現在はFloat32での推論。v1.5のリリースも控えている。

このブログで取り上げたTTSとの比較

モデルパラメータVRAM速度日本語ボイスクローンクローン品質
LuxTTS非公開(軽量)1GB150x RT✅(ゼロショット)
Qwen3-TTS0.6B / 1.7B4〜16GBストリーミング97ms✅(3秒)
KugelAudio7B不明AR+拡散❌(欧州24言語)✅(5〜30秒)
Pocket TTS100MCPU動作リアルタイム超
MioTTS0.1B〜2.6B可変llama.cpp対応✅(日英)-
MimikaStudio複数エンジン可変エンジン依存エンジン依存エンジン依存

LuxTTSの立ち位置は「とにかく軽くて速い英語TTS」。日本語品質を求めるならQwen3-TTSかMioTTS、クローン品質重視ならQwen3-TTSやKugelAudio、極限の軽さならPocket TTS(100M)という使い分けになる。英語中心でレイテンシと軽さを優先したい場面、GPUリソースが限られた環境、チャットボットの音声応答のようにリアルタイム性が重要な用途に向いている。日本語の高品質TTSやボイスクローンの忠実度を求めるなら、素直に他のモデルを使ったほうがいい。


個人的には、1GB VRAMで48kHz出力というスペックは面白いと思った。ただ、日本語が弱いのと、ボイスクローンの品質が他のモデルに追いついていないのが現状。v1.5でFloat16対応が入れば速度はさらに上がるだろうし、品質改善にも期待したいところ。