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僅權重變體,適用於低記憶體推理。

如何使用

  1. 安裝 – 克隆倉儲並使用 uv sync --extra cu128(或 rocm, xpu, cpu)安裝適當的PyTorch擴展。
  2. 執行推理 – 一行命令(infer.py)可指定Hugging Face檢查點、輸入文字、可選的參考wav(或嵌入)和輸出路徑。
  3. Web UI – 提供兩個Gradio應用:
    • gradio_app.py 用於基本克隆/說話人反轉。
    • gradio_app_voicedesign.py 用於標題+參考的「VoiceDesign」模式。
  4. 訓練/微調 – 腳本(train.py, prepare_manifest.py)支援全模型微調、LoRA適配器和說話人反轉訓練。透過 torchrun 啟用多GPU DDP。
  5. 轉換 – 訓練後可將檢查點轉換為純推理專用的 .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;未推斷任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案