當前位置: 妍妍網 > 碼農

一天漲13.3k星星,最強聲音複制TTS計畫,再也無法分辨是人還是AI在說話,因為它會笑和停頓

2024-06-01碼農

計畫簡介

ChatTTS是一個針對日常對話場景設計的生成式語音合成模型。該模型支持英語和中文,適用於各類語音互動套用,如智慧助手。ChatTTS不僅能夠控制發音的細節,如笑聲、停頓和插入語,還優於大多數開源語音合成模型,尤其是在語調上。此外,ChatTTS采用了40,000小時的預訓練數據進行開發,雖然為非商業研究和教育目的,但已在模型中添加了一些特別措施,以防止其被濫用。計畫旨在支持進一步的研究與開發,為語音合成領域提供強有力的工具。

掃碼加入AI交流群

獲得更多技術支持和交流

(請註明自己的職業)

DEMO

chat T T S is a text to speech model designed for dialogue applications. [uv_break]it supports mixed language input [uv_break]and offers multi speaker capabilities with precise control over prosodic elements [laugh]like like [uv_break]laughter[laugh], [uv_break]pauses, [uv_break]and intonation. [uv_break]it delivers natural and expressive speech,[uv_break]so please[uv_break] use the project responsibly at your own risk.[uv_break]

亮點

1. 對話式文本轉語音: ChatTTS 針對基於對話的任務進行了最佳化,能夠實作自然且富有表現力的語音合成。它支持多個發言者,便於進行互動對話。

2. 細粒度控制: 該模型能夠預測並控制細粒度韻律特征,包括笑聲、停頓和插入語。

3. 更好的韻律: 在語調方面,ChatTTS 超越了大多數開源文本轉語音模型。提供預訓練模型以支持進一步的研究和開發。

使用

1.基礎使用

import ChatTTSfrom IPython.display import Audiochat = ChatTTS.Chat()chat.load_models(compile=False) # Set to True for better performancetexts = ["PUT YOUR TEXT HERE",]wavs = chat.infer(texts, )torchaudio.save("output1.wav", torch.from_numpy(wavs[0]), 24000)

2.進階使用

#################################### Sample a speaker from Gaussian.rand_spk = chat.sample_random_speaker()params_infer_code = {'spk_emb': rand_spk, # add sampled speaker 'temperature': .3, # using custom temperature'top_P': 0.7, # top P decode'top_K': 20, # top K decode}#################################### For sentence level manual control.# use oral_(0-9), laugh_(0-2), break_(0-7) # to generate special token in text to synthesize.params_refine_text = {'prompt': '[oral_2][laugh_0][break_6]'} wav = chat.infer(texts, params_refine_text=params_refine_text, params_infer_code=params_infer_code)#################################### For word level manual control.text = 'What is [uv_break]your favorite english food?[laugh][lbreak]'wav = chat.infer(text, skip_refine_text=True, params_refine_text=params_refine_text, params_infer_code=params_infer_code)torchaudio.save("output2.wav", torch.from_numpy(wavs[0]), 24000)

常見問題

1.對於30秒的音訊片段,至少需要4GB的GPU記憶體。對於4090 GPU,它可以每秒生成大約7個語意標記的音訊。RTF約為0.3。

2.模型穩定性不夠好,存在諸如多發言者或音質不佳的問題。這通常是自回歸模型(例如 bark 和 valle)的一個問題,通常很難避免。可以嘗試多個樣本以找到合適的結果。

3.除了笑聲,還能控制什麽,能控制其他情緒嗎?在當前釋出的模型中,唯一的標記級控制單元是 [笑聲]、[無聲間斷] 和 [長間斷]。在未來版本中,可能會開源具有額外情緒控制能力的模型。

計畫連結

https://github.com/2noise/ChatTTS

關註「 開源AI計畫落地 」公眾號

與AI時代更靠近一點