* 戳上方藍字「 開源先鋒 」關註我
推薦閱讀:
大家好,我是開源君!
在人工智慧領域,文本到語音(Text-to-Speech, TTS)技術一直是研究的熱點之一。隨著技術的發展,人們對於TTS系統的要求也越來越高,不僅僅是將文本轉換為語音,更希望這些語音能夠自然、流暢,甚至能夠表達出一定的情感。
最近一個叫
ChatTTS
的計畫可謂是火出圈了,短短開源3天的時間就收獲了9K star,並且仍在不斷增長。
今天開源君就來和大家分享一下這個火爆的計畫。
計畫簡介
ChatTTS
是一個文本到語音(Text-to-Speech,簡稱TTS)模型,專為對話場景設計,如比如像大型語言模型(LLM)助手這樣的套用。它支持多說話者,使得互動式對話成為可能。此外,它還提供了細粒度的控制功能,可以預測和控制諸如笑聲、停頓和插入語等韻律特征。
官方的介紹及演示
這個計畫不僅支持中文和英文兩種語言,而且還經過了超過10萬小時的中文和英文數據訓練,非常厲害。
目前開源版本是一個40,000小時預訓練模型,且未進行二次微調(SFT)。
目前在Github上面收獲了21.5K star!
效能特色
對話式TTS:ChatTTS針對基於對話的任務進行了最佳化,支持自然和富有表現力的語音合成。它支持多個說話者,有助於進行互動對話。
細粒度控制:模型能夠預測並控制細粒度的韻律特征,包括笑聲、停頓和插入語。
更好的韻律:在韻律方面,ChatTTS超過了大多數開源TTS模型。計畫還提供了預訓練模型以支持進一步的研究和開發。
計畫安裝部署
要使用ChatTTS,首先需要安裝必要的庫,然後可以透過以下基礎程式碼來進行語音合成:
import ChatTTS
from IPython.display import Audio
chat = ChatTTS.Chat()
chat.load_models(compile=False) # 設定為True以獲得更好的效能
texts = ["PUT YOUR TEXT HERE"]
wavs = chat.infer(texts)
torchaudio.save("output1.wav", torch.from_numpy(wavs[0]), 24000)
官方還提供了更高階的使用範例,包括采樣說話者、自訂溫度、top P解碼等,可以自行去計畫地址檢視。
計畫使用體驗
官方提供的部署方式對於我們來說,還是有很多不便的地方。
如果想要能快速上手體驗的話,可以直接試試各路網友們根據這個計畫制作的各種工具。
1、線上工具
網址:https://chattts.com/
這個看似官網的線上工具,提供了線上體驗ChatTTS的功能。
直接輸入要轉換的文字,調整一下界面的參數,就可以直接生成。
在體驗ChatTTS時,我們還可以透過一些特殊的標記來控制語音輸出的細節,比如笑聲、停頓等。目前可控制的有笑聲、停頓這2種。
[laugh] 代表笑聲
[uv_break] 代表停頓
如下範例文本
大家好啊[uv_break],我是開源君[laugh]很高興和大家一起交流開源計畫,[uv_break]請大家多多指點。[laugh]
效果如下:
2、一鍵安裝包
這個計畫直接將ChatTTS進行了打包,可以一鍵進行安裝使用。這個計畫提供了一個簡單的本地網頁界面直接使用,同時支持對外提供API介面。
詳細可以檢視計畫文件:
計畫地址:https://github.com/jianchang512/ChatTTS-ui
3、線上colab
官方提供了ipynb檔供各位偵錯體驗
https://github.com/2noise/ChatTTS/blob/main/example.ipynb
另外還有一些網友大神也制作了線上的colab版本,對於我們程式設計師來說,進行各種偵錯體驗,可再方便不過了。
因為某些原因,連結就不貼了,各位去搜尋引擎裏面直接找就行。
有需要的也可以長按下圖,添加加開源君微信。
ChatTTS
是一個非常有潛力的計畫,它不僅能夠提供高品質的語音合成,而且還具有對話式TTS和細粒度控制的特點。計畫團隊還計劃開源更多的功能,包括多情緒控制和流式音訊生成等。
不過,需要註意的是,這個計畫目前僅用於學術目的,作者並不保證資訊的準確性、完整性或可靠性,並且對於使用ChatTTS技術的方式有嚴格的限制,以防止其被用於不當目的。
更多細節功能,感興趣的可以到計畫地址檢視:
計畫地址:
https://github.com/2noise/chattts