模型 / 資料集
OpenMOSS/MOSS-TTS avatar
OpenMOSS/MOSS-TTS

MOSS-TTS 家族:一個倉庫裡放五種語音模型,先搞清楚你要哪一個

An open-source model family for long-form speech, dialogue synthesis, voice design, sound effects, and real-time streaming TTS

4,107 個 Star373 個 ForkPythonApache-2.0

秒懂

它是什麼?
OpenMOSS 把長文朗讀、多講者對話、即時串流、音效生成與聲音設計拆成不同模型,共用同一個倉庫與同一套權重發布管道。選型比安裝更花時間,而且官方文件對硬體需求著墨不多。
適合誰用?
需要長文朗讀與多語複製的團隊,可以從 MOSS-TTS-v1.5 或 4B 的 Local Transformer v1.5 開始評估;需要多講者對話與配音的,看 MOSS-TTSD;要在 CPU 或瀏覽器上跑語音複製的,看獨立的 MOSS-TTS-Nano 倉庫;要生成環境音效的,看 MOSS-SoundEffect-v2 的 DiT 路線。不該採用的情況同樣明確:如果你的場景要求可預期的 GPU 記憶體上限、可查證的即時延遲數字,或需要一份已經凍結的版本紀錄,這個倉庫目前的公開材料給不了你,README 沒有硬體需求表,也查不到任何正式 release。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 10 天前。
用什麼語言寫的?
主要是 Python(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

五個任務對應五個模型,不是一個模型打全部

MOSS-TTS 不是單一模型,而是一個模型家族。README 開頭就把它定位成 speech and sound generation model family,涵蓋穩定長文語音、多講者對話、聲音與角色設計、環境音效,以及即時串流 TTS。倉庫裡用一張對照表回答了最實際的問題:你想做什麼,就從哪個模型開始。在 CPU 或瀏覽器上做語音複製,指向獨立的 MOSS-TTS-Nano 倉庫;多語長文朗讀與語音複製,指向 MOSS-TTS-v1.5 與 Local Transformer v1.5;多講者對話、播客與配音,指向 MOSS-TTSD;即時串流語音,指向 moss_tts_realtime 子目錄;聲音設計或環境音效,指向已發布模型清單與 moss_soundeffect_v2。這種切分方式對選型有幫助,代價是你不能只讀一個 README 就以為掌握了全部。五條路線的骨幹架構不同,權重不同,推論後端支援也不同,把它們當成同一個專案來評估會出錯。

架構分歧:Qwen3 骨幹加音訊 tokenizer,對上 DiT 加 Flow Matching

從 release notes 能拼出的架構輪廓大致是這樣。語音合成這一側走的是語言模型路線:MOSS-TTS-Local-Transformer-v1.5 是一個 4B 的 MossTTSLocal checkpoint,把骨幹從 Qwen3-1.7B 放大到 Qwen3-4B,並改用 MOSS-Audio-Tokenizer-v2 取得原生 48 kHz 立體聲輸出。也就是說,文字與音訊都被離散化成 token,交給同一個 transformer 解碼,音訊 tokenizer 負責最後的波形還原。音效生成則是另一條路:MOSS-SoundEffect-v2.0 用 DiT 骨幹搭配 Flow Matching 目標函數,產生 48 kHz 的雙語音效,長度上限 30 秒。這兩種方法在推論時的批次行為、可控性與失敗模式都不一樣,DiT 路線的 30 秒上限是硬邊界,不是建議值。同一個倉庫裡放著兩套世界觀,好處是音效與語音可以一起評估,壞處是任何一句關於 MOSS-TTS 的效能描述都必須先講清楚指哪個子模型。

v1.5 加了什麼:語言標籤、停頓控制與更穩的複製

MOSS-TTS-v1.5 的 release notes 列出四項變化:提供語言標籤時多語合成更強、語音複製更穩定、長參考音檔配短文字的複製表現更好、以及跟隨標點韻律。其中最具體的是顯式停頓控制,寫法是 `[pause X.Ys]`,直接放在要停頓的文字位置。這是一個很實際的設計,因為長文朗讀最常見的抱怨就是換氣位置不對,而韻律模型很難只靠標點推斷。要注意的是,這類控制標記本質上是文字輸入的一部分,如果你的推論鏈路中間有正規化步驟,或者你用的後端不是官方範例,標記是否被辨識取決於該後端的實作,README 沒有保證跨後端一致。語言標籤同理:文件說的是提供標籤時效果更強,反過來說,不提供標籤時多語混合文本的表現就沒有被承諾。

推論後端:vLLM-Omni 與 SGLang-Omni 各支援一部分

這是這個專案目前最值得注意的工程細節。2026.6.2 的更新指出 vLLM-Omni 支援整個 MOSS-TTS 系列,涵蓋 MossTTSDelay、MossTTSRealtime、MossTTSNano 三種架構,對應 MOSS-TTS-v1.5、MOSS-TTS、MOSS-TTSD、MOSS-SoundEffect、MOSS-VoiceGenerator、MOSS-TTS-Realtime 與 MOSS-TTS-Nano,並附上 recipe 與離線推論範例路徑。2026.6.18 的更新則說 SGLang-Omni 對 MOSS-TTS-Local-Transformer-v1.5 提供 Day-0 支援,是第一個支援 MossTTSLocal 架構的推論後端,提供 OpenAI 相容的 `/v1/audio/speech` 端點、串流與語音複製。把這兩段並排看,結論很清楚:不同子模型落在不同後端上,MossTTSLocal 目前只有 SGLang-Omni 這條路。如果你的服務已經綁定其中一個後端,選型時就該先確認目標模型有沒有對應 recipe,而不是先選模型再找推論方案。`/v1/audio/speech` 這個端點名稱意味著既有 OpenAI 語音客戶端有機會直接改 base URL 接上,但這只是端點相容,參數與回應格式是否一致,README 沒有交代。

安裝與啟動:從 README 看得到的指令與設定

README 沒有提供 pip 安裝段落,也沒有 requirements 檔的內容,所以能給的具體指引有限。可以確認的是三條路徑。第一,權重從 Hugging Face 的 OpenMOSS-Team/moss-tts collection 或 ModelScope 的 openmoss/MOSS-TTS collection 取得,這兩個位置在 README 的 badge 區塊以連結形式出現。第二,若走 vLLM-Omni,對應的 recipe 位於該專案的 `recipes/OpenMOSS/MOSS-TTS.md`,離線推論範例在 `examples/offline_inference/text_to_speech/moss_tts`。第三,若走 SGLang-Omni,cookbook 分為 `docs/cookbook/moss_tts_local.md` 與 `docs/cookbook/moss_tts.md` 兩份,前者對應 Local Transformer,後者對應其餘架構。子目錄方面,即時串流的說明在 `moss_tts_realtime/README.md`,音效在 `moss_soundeffect_v2/README.md`。設定鍵的部分,README 只明確提到 `[pause X.Ys]` 這個內嵌於文字的寫法,沒有列出任何 YAML 或環境變數形式的設定項。倉庫裡也沒有檢索到任何正式 release,因此沒有版本標籤可以鎖定,部署時只能依 commit 或權重檔的雜湊自行記錄。

文件沒有回答的問題:硬體、延遲與版本

這是評估這個專案時最需要保留的地方。README 全篇沒有硬體需求表,沒有說明 4B 的 Local Transformer v1.5 在什麼 GPU 上、用多少記憶體可以跑起來,也沒有給出即時串流模式的端到端延遲數字。MOSS-TTS-Nano 的更新提到在 4 顆 CPU 核心上支援串流輸出,這是唯一一處帶有具體資源描述的敘述,而且指的是另一個倉庫裡的模型,不能外推到 v1.5 或 TTSD。倉庫首頁放了 star-history 的 trending badge,但這類數字不能當成成熟度證據,也不能用來推測推論成本。另一個實際問題是版本管理:檢索到的近期 release 為空,表示沒有 tag 或 release note 頁面可以對照,模型名稱裡的 v1.5、v2.0 是權重層級的版本,不是倉庫的版本。當你回報一個 bug 時,對方能問的只有 commit 與權重檔名。這對需要可重現建置的團隊是一個真實的摩擦點。

什麼時候該換工具:與純 TTS 服務和單一模型倉庫的差別

如果你的需求只是把一段文字轉成語音,而且不需要多講者、不需要音效、不需要串流,那麼這個倉庫的廣度對你是負擔。你要讀懂五個子模型的分工,確認你要的架構落在哪個推論後端,還要面對沒有 release tag 的版本管理。這種情況下,一個只做單一任務、有明確版本號與硬體需求表的 TTS 專案會更容易評估。反過來說,如果你的產品同時需要長文朗讀與環境音效,把兩者放在同一個倉庫、同一套權重發布管道下,確實省掉了兩套授權與兩套相容性矩陣的麻煩。與商業雲端 TTS API 相比,這裡的差別在於控制權而非品質:你可以自行微調、自行決定取樣策略、自行決定音訊 tokenizer 的版本,代價是上述所有硬體與延遲問題都要自己量。README 有 Fine-tuning 與 Accelerated inference backends 兩個章節錨點,但提供的內容中沒有展開細節,實際微調成本無法從這份材料判斷。

授權與維護成本:Apache-2.0 涵蓋程式碼,權重另計

倉庫的 license 識別碼是 Apache-2.0,這通常意味著程式碼可以商用、可以修改、需要保留版權聲明與變更說明。但這裡有一個容易忽略的界線:模型權重是另外發布在 Hugging Face 與 ModelScope 上的,程式碼的授權不自動等於權重的授權條款,權重頁面可能有自己的使用限制。README 沒有在提供的內容中說明權重授權,這一點必須到各權重頁面自行確認,本文不構成法律意見。維護成本方面,從 release notes 的節奏可以看出這個家族更新頻繁:2026 年 3 月到 6 月之間陸續發布 MOSS-TTS-Nano、MOSS-SoundEffect-v2.0、MOSS-TTS-v1.5、MOSS-Audio-Tokenizer-v2 與 MOSS-TTS-Local-Transformer-v1.5,同時 vLLM-Omni 與 SGLang-Omni 的支援是分批補上的。這意味著你鎖定的推論後端版本與權重版本需要一起記錄,否則升級其中一項就可能遇到架構不匹配。音訊 tokenizer 從 v1 到 v2 的替換尤其要注意,因為它直接改變取樣率與聲道數。

編輯結論

需要長文朗讀與多語複製的團隊,可以從 MOSS-TTS-v1.5 或 4B 的 Local Transformer v1.5 開始評估;需要多講者對話與配音的,看 MOSS-TTSD;要在 CPU 或瀏覽器上跑語音複製的,看獨立的 MOSS-TTS-Nano 倉庫;要生成環境音效的,看 MOSS-SoundEffect-v2 的 DiT 路線。不該採用的情況同樣明確:如果你的場景要求可預期的 GPU 記憶體上限、可查證的即時延遲數字,或需要一份已經凍結的版本紀錄,這個倉庫目前的公開材料給不了你,README 沒有硬體需求表,也查不到任何正式 release。動手前先確認三件事:你要的架構在 vLLM-Omni 或 SGLang-Omni 的哪個 recipe 裡有對應支援、權重檔的實際大小與音訊 tokenizer 版本是否匹配、以及 `[pause X.Ys]` 這類控制標記在你的推論路徑上會不會被當成普通文字唸出來。

官方來源

  1. Issues
  2. License: Apache-2.0
  3. OpenMOSS/MOSS-TTS on GitHub
  4. Project website
  5. README
社群筆記

社群筆記