使用AI技術,實現(xiàn)對話場景的文本轉語音解決方案
共 3104字,需瀏覽 7分鐘
·
2024-06-11 07:40
大家好,我是小麥,今天給大家分享一款免費,可用于對話場景的文本轉語音工具。
閱讀感悟
不知道大家在日常的學習、工作中是否有這樣的一個情況,當我們閱讀完一篇文章,很快就能讀完,但印象不會很深;或者說在很多時候,對著電腦、手機看久了,眼睛很疲勞,希望能夠通過聽覺來接收我們文章的內容。我自己在時常閱讀公眾號文章,就很喜歡去聽,而不是閱讀的方式。逐漸發(fā)現(xiàn)聽內容比閱讀內容更容易吸收,而且能夠極大的緩解我們的眼睛疲勞。
通過將視覺轉為聽覺,在很大程度上增加了我們的用戶體驗性,同時也能更好的幫助我們了解到文章的內容。例如我們在開車時,不方便閱讀精彩的文章,這時候通過將視覺轉為聽覺,就可以了解到文章內容。
上面提到的問題,也很簡單,無非就是將文本內容轉成音頻內容。市面上也有很多這樣的技術,能夠將文本轉成音頻。很多的大企業(yè)也提供了這樣的開發(fā)能力,通過與平臺對接,將我們自己產(chǎn)品的內容轉換為音頻內容。隨著技術的發(fā)展,音頻的模式也越來越豐富。例如支持音頻人性別、音色、音頻背景等方面的設置。
這些產(chǎn)品的功能雖然很強大,但需要具備一定的程序開發(fā)能力,對于不懂程序開發(fā)的用戶來說,不是很友好。最重要的問題,當我們要生成很多的音頻文件時,就需要付費使用,費用成本也不低。
ChatTTS是什么
今天要分享的內容就是ChatTTS,ChatTTS是什么呢?它又比其他的文章轉音頻有什么好處呢?
ChatTTS是一款基于對話場景下,經(jīng)過優(yōu)化,適用于自然、對話式文本轉語音,并且是免費開源支持多種語言的工具。你可以將它嵌入到自己的程序中,同時你也可以使用官方的在線工具,直接使用。
用官方的描述,ChatTTS是什么。ChatTTS是專為對話場景設計的語音生成模型,特別適用于大型語言模型(LLM)助手的對話任務,以及諸如對話式音頻和視頻介紹等應用。它支持中文和英文,通過使用大約100,000小時的中文和英文數(shù)據(jù)進行訓練,ChatTTS在語音合成中表現(xiàn)出高質量和自然度。
如何使用
如果你是一個非編程人員,可以直接使用官網(wǎng)的在線語音生成工具就可以了。直接將需要轉換成語音的文本貼如內容框,同時也可以針對生成的語音做一些調整,例如音速、音色等內容。生成好之后,點擊頁面的下載按鈕,就可以把音頻文件保存在本地,這樣你就可以在其他地方使用了。
如果你是一名編程人員,希望能夠繼承到自己的產(chǎn)品中,這就需要你編程適當?shù)拇a才可以實現(xiàn)。不過這樣非常的簡單,官方也提供了代碼示例,就短短的幾行代碼就可以做到。
1、從GitHub上下載代碼
git clone https://github.com/2noise/ChatTTS
2、安裝代碼依賴 在開始之前,請確保已安裝所需的軟件包。您將需要torch和ChatTTS。如果尚未安裝,可以使用pip安裝。
pip install torch ChatTTS
3、導入所需要的庫 在你的代碼文件中導入必要的庫。您將需要torch、ChatTTS和IPython.display中的Audio。
import torch
import ChatTTS
from IPython.display import Audio
4、初始化ChatTTS 創(chuàng)建ChatTTS類的實例并加載預訓練模型。
chat = ChatTTS.Chat()
chat.load_models()
5、準備文本內容 定義要轉換為語音的文本。將YOUR TEXT HERE替換為您想要的文本。
texts = ["你好,歡迎使用ChatTTS!"]
6、生成語音 使用infer方法從文本生成語音。設置use_decoder=True以啟用解碼器。
wavs = chat.infer(texts, use_decoder=True)
7、播放音頻 使用IPython.display中的Audio類播放生成的音頻。將采樣率設置為24,000 Hz并啟用自動播放。
Audio(wavs[0], rate=24_000, autoplay=True)
至此,整個程序的功能就實現(xiàn)了。可以通過下面完整代碼,不難看出短短幾行代碼就能夠將我們所需要的文本內容轉成語音文件。
import torch
import ChatTTS
from IPython.display import Audio
# 初始化ChatTTS
chat = ChatTTS.Chat()
chat.load_models()
# 定義要轉換為語音的文本
texts = ["你好,歡迎使用ChatTTS!"]
# 生成語音
wavs = chat.infer(texts, use_decoder=True)
# 播放生成的音頻
Audio(wavs[0], rate=24_000, autoplay=True)
ChatTTS
可能你會產(chǎn)生一個疑問,市場上這么多的文字轉語音工具,那ChatTTS有什么優(yōu)勢,或者說有什么特點呢?前面也提到了,該工具是免費開源,并且支持程序接入,同時也是支持在線使用。
具體的特點,來看看官網(wǎng)都是怎么說的呢。
1、多語言支持
ChatTTS 的一個關鍵特性是支持多種語言,包括英語和中文。這使其能夠為廣泛用戶群提供服務,并克服語言障礙。
2、大規(guī)模數(shù)據(jù)訓練
ChatTTS 使用了大量數(shù)據(jù)進行訓練,大約有1000萬小時的中文和英文數(shù)據(jù)。這樣的大規(guī)模訓練使其聲音合成質量高,聽起來自然。
3、對話任務兼容性
ChatTTS 很適合處理通常分配給大型語言模型LLMs的對話任務。它可以為對話生成響應,并在集成到各種應用和服務時提供更自然流暢的互動體驗。
4、開源計劃
項目團隊計劃開源一個經(jīng)過訓練的基礎模型。這將使學術研究人員和社區(qū)開發(fā)人員能夠進一步研究和發(fā)展這項技術。
5、控制和安全性
團隊致力于提高模型的可控性,添加水印,并將其與LLMs集成。這些努力確保了模型的安全性和可靠性。
6、易用性
ChatTTS 為用戶提供了易于使用的體驗。它只需要文本信息作為輸入,就可以生成相應的語音文件。這樣的簡單性使其方便有語音合成需求的用戶。
使用感受
不管是在線工具,還是通過程序接入的方式,都整體體驗了一次。效果相對還是不錯的,對于生成內容比較多,又擔心費用問題的群體可以考慮。其中還有一個亮點,它可以根據(jù)你文本的描述,生成對應的語言特色。
例如我在生成的文本中,提到了用四川話。最終生成的音頻效果,就會帶有四川話的特點。
本工具的分享就此結束,希望該工具的分享也對你有所幫助。
