Skip to content

ref_audio長度限制與串流翻譯 #11

@jimmy92919

Description

@jimmy92919

目前在體驗下來,發現模型的輸出似乎主要針對簡體中文與英文最佳化。為了讓系統能更好地支援繁體中文,我做了一些嘗試與修改,並遇到了一些小問題想向作者請教與分享:

  1. 關於 ref_audio 的長度限制與最佳化
    我嘗試使用繁體中文的語音作為 ref_audio 來引導模型口音。在測試過程中發現,若音檔太長會觸發 token 數量超出 1000 的限制(報錯 Tensor sizes mismatch),測試下來極限大約在 15 秒左右。
    因此我目前在程式碼中加入了「自動裁切」的機制。
    想請教作者: 若考量到「完美複製音色」與「最低推理延遲(Latency)」的 Trade-off,官方最推薦的 ref_audio 長度大約落在哪個秒數區間(例如 3至5 秒或 8至10 秒)?

  2. 關於串流輸出 (Streaming) 結合繁體轉換
    由於模型還是會輸出簡體字或大陸慣用語,我使用了 OpenCC 作為後端繁體轉換器。
    但在結合 streaming 逐字輸出時遇到了一個坑:如果單字轉換會破壞語意(例如:模型先吐出「內」,再吐出「存」,若逐字翻譯會變成「內存」,但繁中習慣稱為「記憶體」)。
    我的解法: 我實作了一個「字串緩衝區(Buffer)」邏輯,將累積的簡體字串整句丟給 OpenCC 翻譯後,比對多出來的繁體字再透過 chunk 傳給前端,成功解決了串流語意截斷的問題。(但目前這只能做到字幕的轉換,音訊是無法轉換的),所以必須得讓模型參考額外的簡中與繁中的資料庫才能做到真正轉換。
    想詢問未來官方模型是否有機會在 System Prompt 階段,就能更穩定地原生支援繁體中文的語音輸出呢?或是有能使用的微調框架呢?或者作者有更好的方法與方向?

  3. 模型未來會支援預設音色呢?
    目前我觀察到原本repo中使用了cache的方法將ref_audio的編碼儲存在np.ndarray中,但此舉會消耗些許的VRAM來儲存,是否未來會有預設音色做使用?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions