Aratako/Irodori-TTS
A Flow Matching-based Text-to-Speech Model with Emoji-driven Style Control
Irodori‑TTS – 流匹配語音合成
是什麼 – 一種研究級的TTS系統,使用流匹配擴散模型(Rectified Flow Diffusion Transformer)從文字生成日語語音。它在DACVAE編碼器產生的連續潛在表示上運作,遵循Echo‑TTS的設計。
核心功能
- 零樣本語音克隆 – 提供一段短暫的參考錄音,模型即可模仿該說話人。
- 多模態「VoiceDesign」 – 結合普通文字、參考語音和可選的標題(對期望語音風格的簡短描述),控制說話人身份、情緒和語調。標題可以是普通文字或表情符號提示。
- 自動持續時間預測 – 模型會估計輸出應持續多久,因此通常無需指定長度。
- PEFT LoRA微調 – 可在發布的檢查點上訓練輕量級適配器,無需完整重訓練即可適應新資料。
- 說話人反轉 – 可訓練一個可重複使用的說話人嵌入檔案,可在推理時交換使用,避免每次呼叫都上傳參考音訊。
- MeanFlow蒸餾變體 – 一種蒸餾檢查點(v4‑Small‑MF),僅需4步擴散即可合成,顯著加快生成速度。
- 量化檢查點 – 提供int8/int4/float8僅權重變體,適用於低記憶體推理。
如何使用
- 安裝 – 克隆倉儲並使用
uv sync --extra cu128(或rocm,xpu,cpu)安裝適當的PyTorch擴展。 - 執行推理 – 一行命令(
infer.py)可指定Hugging Face檢查點、輸入文字、可選的參考wav(或嵌入)和輸出路徑。 - Web UI – 提供兩個Gradio應用:
gradio_app.py用於基本克隆/說話人反轉。gradio_app_voicedesign.py用於標題+參考的「VoiceDesign」模式。
- 訓練/微調 – 腳本(
train.py,prepare_manifest.py)支援全模型微調、LoRA適配器和說話人反轉訓練。透過torchrun啟用多GPU DDP。 - 轉換 – 訓練後可將檢查點轉換為純推理專用的
.safetensors檔案。
模型架構(v4.1‑Small)
- 共享ModernBERT編碼器 – 處理主文字和任何標題。
- 參考潛在編碼器 – 編碼最多120秒的參考音訊的DACVAE潛在表示。
- 條件投影器 – 將文字和標題嵌入映射到擴散模型的條件空間。
- 擴散Transformer(DiT) – 具有低秩AdaLN、半RoPE和SwiGLU MLP的聯合注意力塊。
- 持續時間預測器 – 內建模組,從條件輸入中估計輸出長度。
取得模型 – 預訓練檢查點和音訊樣本託管於Hugging Face上(例如 Aratako/Irodori‑TTS‑v4.1‑Small)。示範Space展示了模型的實際運作效果。
典型應用場景
- 為虛擬助手、有聲書或遊戲角色生成自然流暢的日語語音。
- 透過零樣本克隆快速原型化新說話人聲音。
- 透過提供文字標題(例如「平靜的女性聲音」或表情符號序列)實現風格可控的旁白。
- 在邊緣GPU上部署輕量級、量化的TTS服務。
相關專案 – 倉儲提到一個OpenAI相容伺服器(Irodori‑TTS‑Server),便於API暴露,且基於Echo‑TTS和Facebook的DACVAE編碼器。
所有細節均直接取自倉儲的README;未推斷任何額外功能。
相關
- 專案
- 專案
- 專案
- 專案
- 專案