安利兩款免費開源的聲音克隆、文本轉(zhuǎn)語音整合包軟件、一鍵本地安裝!

大家好,我是星哥,今天給大家介紹兩款聲音克隆、文本轉(zhuǎn)語音的軟件,一個是ChatTTS和Spark-TTS,并且都有一鍵安裝包,讓你無需復(fù)雜的配置,就能在本地輕松體驗聲音的魅力。

image-20250402195740983ChatTTS是什么?
打開網(wǎng)易新聞 查看精彩圖片
image-20250402195740983ChatTTS是什么?

ChatTTS是專為對話場景設(shè)計的語音生成模型,特別適用于大型語言模型(LLM)助手的對話任務(wù),以及諸如對話式音頻和視頻介紹等應(yīng)用。它支持中文和英文,通過使用大約100,000小時的中文和英文數(shù)據(jù)進行訓(xùn)練,ChatTTS在語音合成中表現(xiàn)出高質(zhì)量和自然度。

開源地址: https://github.com/2noise/ChatTTS

安裝ChatTTS

安裝ChatTTS有3種方式,第1種是Docker compose安裝ChatTTS-ui(推薦)、第2種是安裝一鍵安裝包(推薦)、第3種本地安裝方式、

本地部署ChatTTS 系統(tǒng)環(huán)境介紹

以下都安裝這個系統(tǒng)來介紹

系統(tǒng):Windows11專業(yè)版

CPU: 英特爾I7-13700KF

內(nèi)存: 32G

硬盤:1T nvme SSD +4T 機械

顯卡:RTX 4070 Ti

python版本:Python 3.13.2

系統(tǒng)要安裝Docker和Docker compose

Docker compose安裝ChatTTS-ui(推薦)

開源地址:https://github.com/jianchang512/ChatTTS-ui

1.拉取項目倉庫

在任意路徑下克隆項目,例如:

git clone https://github.com/jianchang512/ChatTTS-ui.git chat-tts-ui
2.啟動 Runner

進入到項目目錄:

cd chat-tts-ui

啟動容器并查看初始化日志:

gpu版本 docker compose -f docker-compose.gpu.yaml up -d  cpu版本     docker compose -f docker-compose.cpu.yaml up -d docker compose logs -f --no-log-prefix
打開網(wǎng)易新聞 查看精彩圖片
image-20250402173803394

稍等一段時間,使用命令docker ps查看,如下則表示安裝成功。

docker ps CONTAINER ID   IMAGE                                                       COMMAND                  CREATED         STATUS         PORTS                                                                              NAMES 7cce18cbbe8d   chat-tts-ui-chat-tts-ui                                     "/usr/local/bin/dock…"   7 minutes ago   Up 2 minutes   7070-7071/tcp, 8080-8082/tcp, 0.0.0.0:9966->9966/tcp, :::9966->9966/tcp            chat-tts-ui
3.訪問 ChatTTS WebUI

啟動:['0.0.0.0', '9966'],也即,訪問部署設(shè)備的IP:9966即可,例如:

  • ? 本機:http://127.0.0.1:9966

  • ? 服務(wù)器:http://192.168.1.100:9966

打開網(wǎng)易新聞 查看精彩圖片
image-20250402180205298 4.生成語言

隨便輸入一段莎士比亞的《哈姆雷特》生存還是毀滅
莎士比亞
活著還是去死?這真是一個值得思慮的問題。

去忍受那狂暴的命運無情的摧殘,還是挺身去反抗那無邊的煩惱,把它掃一個干凈。去死,去睡就結(jié)束了?如果睡眠能結(jié)束我們心靈的創(chuàng)傷和肉體所承受的千百樣痛苦,那真是生存求之不得的天大的好事。

image-20250402193631331
打開網(wǎng)易新聞 查看精彩圖片
image-20250402193631331

可以調(diào)試好可以下載語音。

Windows預(yù)打包版(推薦)

從 Releases中下載壓縮包,解壓后雙擊 app.exe 即可使用
某些安全軟件可能報毒,請退出或使用源碼部署
英偉達顯卡大于4G顯存,并安裝了CUDA11.8+后,將啟用GPU加速

ChatTTS-UI整合包下載

文件大?。?3.69G

pan點baidu點com/s/1Hnqzm8ZdDKYX0dbvGmW38g?pwd=khds (瀏覽器中)
提取碼: khds

由于平臺不讓放鏈接,可以關(guān)注“星哥玩云”公眾號,回復(fù)“TTS安裝包”獲得ChatTTS和Spark-TTS的一鍵安裝包

本地安裝(不推薦) 1.安裝Python 和 git環(huán)境

需要安裝python和git軟件

python需要 3.9+ 版本,比如我選擇python 3.10.2

安裝下git環(huán)境,這個就不詳細將。

2.克隆 ChatTTS-Ui

3.解壓后在根目錄下輸入CMD進入終端,然后依次執(zhí)行下面的安裝命令:

python -m venv venv .\venv\scripts\activate pip install -r requirements.txt
4.如果不需要CUDA加速,執(zhí)行

pip install torch==2.1.2 torchaudio==2.1.2

如果需要CUDA加速,執(zhí)行

pip install torch==2.1.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
5.啟動

最后執(zhí)行 python app.py 啟動,將自動打開瀏覽器窗口,默認地址 http://127.0.0.1:9966

(注意:默認從 modelscope 魔塔下載模型,不可使用代理下載,請關(guān)閉代理)

6.下載modelscope下載模型

源碼部署啟動后,會先從 modelscope下載模型,但modelscope缺少spk_stat.pt,會報錯,【點擊下載 spk_stat.pt】

下載后將該文件復(fù)制到 項目目錄/models/pzc163/chatTTS/asset/ 文件夾內(nèi)

注意 modelscope 僅允許中國大陸ip下載模型,如果遇到 proxy 類錯誤,請關(guān)閉代理。

如果你希望從 huggingface.co 下載模型,請打開 app.py 查看大約第50行-60行的注釋。如果需要GPU加速,必須是英偉達顯卡,并且安裝 cuda版本的torch

# 默認從 modelscope 下載模型,如果想從huggingface下載模型,請將以下3行注釋掉 CHATTTS_DIR = snapshot_download('pzc163/chatTTS',cache_dir=MODEL_DIR) chat = ChatTTS.Chat() chat.load_models(source="local",local_path=CHATTTS_DIR) # 如果希望從 huggingface.co下載模型,將以下注釋刪掉。將上方3行內(nèi)容注釋掉 #os.environ['HF_HUB_CACHE']=MODEL_DIR #os.environ['HF_ASSETS_CACHE']=MODEL_DIR #chat = ChatTTS.Chat() #chat.load_models()
Spark-TTS是什么

Spark-TTS 是最近備受矚目的一個語音克隆開源項目,由香港科技大學(xué)、西北工業(yè)大學(xué)、上海交通大學(xué)等多所高校聯(lián)合研發(fā)。經(jīng)過本地測試,其效果與 F5-TTS 不相上下。

Spark-TTS 支持中英文語音克隆,安裝部署過程并不復(fù)雜。本文將詳細介紹如何安裝部署,并進行修改,使其兼容 F5-TTS 的 API 接口,從而可以直接在 pyVideoTrans 軟件的 F5-TTS 配音渠道中使用。

Spark-TTS的項目地址

  • ?項目官網(wǎng): https://sparkaudio.github.io/spark-tts/

  • ?Github倉庫:https://github.com/SparkAudio/Spark-TTS

  • ?HuggingFace模型庫:https://huggingface.co/SparkAudio/Spark-TTS-0.5B

Spark-TTS的主要功能
  • ?零樣本文本到語音轉(zhuǎn)換:Spark-TTS 能在沒有特定語音數(shù)據(jù)的情況下,復(fù)現(xiàn)說話人的聲音,實現(xiàn)零樣本語音克隆。

  • ?多語言支持:Spark-TTS 支持中英雙語,可實現(xiàn)跨語言語音合成。用戶可以用一種語言輸入文本,生成另一種語言的語音輸出,滿足多語言場景下的語音合成需求。

  • ?可控語音生成:用戶可以通過調(diào)整參數(shù)(如性別、音調(diào)、語速、音色等)來定制虛擬說話者的聲音,生成符合特定需求的語音內(nèi)容。

  • ?高效簡潔的語音合成:基于 Qwen2.5 架構(gòu),Spark-TTS 無需額外的生成模型(如流匹配模型),直接從 LLM 預(yù)測的編碼中重建音頻,提高了語音合成的效率。

  • ?虛擬說話者創(chuàng)建:用戶可以創(chuàng)建完全由自己定義的虛擬說話者,通過參數(shù)調(diào)整使其具有獨特的語音風(fēng)格,適用于虛擬主播、有聲讀物等場景。

  • ?語音克隆與風(fēng)格遷移:Spark-TTS 支持從少量語音樣本中提取風(fēng)格特征,將其遷移到合成語音中,實現(xiàn)個性化語音風(fēng)格的復(fù)制和遷移。

Spark-TTS的應(yīng)用場景
  • ?語音助手開發(fā):Spark-TTS 可以用于開發(fā)個性化的語音助手,通過調(diào)整音色、語速和語調(diào)等參數(shù),生成自然流暢的語音輸出,為用戶提供更加人性化和個性化的交互體驗。

  • ?多語言內(nèi)容創(chuàng)作:工具支持中英雙語,能實現(xiàn)跨語言語音合成,適合需要在不同語言版本之間保持一致語音風(fēng)格的內(nèi)容創(chuàng)作者,例如制作多語言的有聲讀物、廣告或教育材料。

  • ?智能客服與信息播報:Spark-TTS 可以將文字信息轉(zhuǎn)化為自然語音,用于智能客服系統(tǒng),提供24小時不間斷的服務(wù),或者在公共交通、機場、醫(yī)院等公共場所進行信息播報。

  • ?語音克隆與虛擬角色配音:Spark-TTS 支持零樣本語音克隆,能快速復(fù)制特定說話人的聲音風(fēng)格,適用于虛擬角色配音、動畫制作或虛擬主播等領(lǐng)域。

安裝Spark-TTS Spark-TTS整合安裝包

由于迅雷限速下載還需要幾個小時,等下載好了,再發(fā)鏈接

image-20250402192830272
打開網(wǎng)易新聞 查看精彩圖片
image-20250402192830272

由于平臺不讓放鏈接,可以關(guān)注“星哥玩云”公眾號,回復(fù)“TTS安裝包”獲得ChatTTS和Spark-TTS的一鍵安裝包

1. 下載Spark-TTS源碼

推薦有一定操作基礎(chǔ)的這樣安裝

首先,在非系統(tǒng)盤創(chuàng)建一個由英文或數(shù)字組成的文件夾,例如D:/spark。之所以要求使用英文、數(shù)字且非系統(tǒng)盤,是為了盡量避免可能出現(xiàn)的中文、權(quán)限等方面的錯誤。

然后,訪問 Spark-TTS 官方代碼倉庫:https://github.com/SparkAudio/Spark-TTS

打開網(wǎng)易新聞 查看精彩圖片

下載完成后解壓,將所有文件和文件夾復(fù)制到D:/spark文件夾中。復(fù)制后的目錄結(jié)構(gòu)應(yīng)如下圖所示:

復(fù)制后目錄結(jié)構(gòu)如圖 2. 創(chuàng)建虛擬環(huán)境并安裝依賴
打開網(wǎng)易新聞 查看精彩圖片
復(fù)制后目錄結(jié)構(gòu)如圖 2. 創(chuàng)建虛擬環(huán)境并安裝依賴

創(chuàng)建虛擬環(huán)境

在該文件夾地址欄輸入cmd并回車,在彈出的黑色終端窗口中執(zhí)行以下命令:

python -m venv venv

執(zhí)行后,D:/spark目錄下會多出一個venv文件夾:

打開網(wǎng)易新聞 查看精彩圖片

成功后文件夾會多出一個 venv 目錄注意: 如果在執(zhí)行時提示 python 不是內(nèi)部或外部命令,說明沒有安裝 Python 或沒有將其添加到系統(tǒng)環(huán)境變量中,請參考相關(guān)文章安裝 Python。

接下來,執(zhí)行venv\scripts\activate激活虛擬環(huán)境。激活后,終端行首會出現(xiàn)(venv)字樣,表示激活成功。后續(xù)所有命令都需要在此環(huán)境下執(zhí)行,每次執(zhí)行前請檢查是否已激活。

確保開頭有(venv)字樣
打開網(wǎng)易新聞 查看精彩圖片
確保開頭有(venv)字樣

安裝依賴

在已激活的虛擬環(huán)境中,繼續(xù)在終端中執(zhí)行以下命令,安裝所有依賴:

pip install -r requirements.txt 或者: pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
3. 下載模型

開源 AI 項目所需的模型通常托管在 Hugging Face (huggingface.co) 上。由于該網(wǎng)站在國內(nèi)已被屏蔽,因此需要科學(xué)上網(wǎng)才能下載模型。請確保已配置好科學(xué)上網(wǎng)環(huán)境,并設(shè)置了系統(tǒng)代理。

在當前目錄D:/spark下創(chuàng)建一個名為down.txt的文本文件,將以下代碼復(fù)制粘貼到文件中并保存:

from huggingface_hub import snapshot_download snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="pretrained_models/Spark-TTS-0.5B") print('下載完成')

然后,在已激活虛擬環(huán)境的終端窗口中執(zhí)行以下命令:

python down.txt

注意檢查命令行前是否存在(venv)

等待終端提示下載完成。

如果輸出類似以下信息,說明網(wǎng)絡(luò)連接錯誤,可能是科學(xué)上網(wǎng)環(huán)境配置不正確:

Returning existing local_dir `pretrained_models\Spark-TTS-0.5B` as remote repo cannot be accessed in `snapshot_download` ((MaxRetryError("HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /api/models/SparkAudio/Spark-TTS-0.5B/revision/main (Caused by ConnectTimeoutError( , 'Connection to huggingface.co timed out. (connect timeout=None)'))"), '(Request ID: aa61d1fb-ffc7-4479-9a99-2258c1bc0aee)')).
打開網(wǎng)易新聞 查看精彩圖片
連接失敗,請正確配置科學(xué)上網(wǎng)環(huán)境 4. 啟動 Web 界面

模型下載完成后,就可以啟動并打開 Web 界面了。

在已激活虛擬環(huán)境的終端中執(zhí)行以下命令:

python webui.py

等待出現(xiàn)如下信息時,表示啟動完成:

啟動成功
打開網(wǎng)易新聞 查看精彩圖片
啟動成功

此時,可以在瀏覽器中打開地址http://127.0.0.1:7860,Web 界面如下圖所示:

打開web界面 5. 語音克隆測試
打開網(wǎng)易新聞 查看精彩圖片
打開web界面 5. 語音克隆測試

如下圖所示,選擇一個你想要克隆音色的音頻文件(時長 3-10 秒,發(fā)音清晰,背景干凈)。

然后在右側(cè)Text of prompt speech中輸入該音頻對應(yīng)的文本內(nèi)容,左側(cè)輸入你希望生成的語音文本,最后點擊底部的Generate按鈕開始執(zhí)行。

執(zhí)行語音克隆
打開網(wǎng)易新聞 查看精彩圖片
執(zhí)行語音克隆

執(zhí)行完成后,如下圖所示。

6. 在 pyVideotrans 軟件中使用

Spark-TTS 與 F5-TTS 非常相似,只需進行簡單修改,就可以直接在 pyVideotrans 的 F5-TTS 配音渠道中使用 Spark-TTS。

打開webui.py文件,在大約第 135 行的上方粘貼以下代碼:

    def basic_tts(gen_text_input, ref_text_input, ref_audio_input,remove_silence=None,speed_slider=None):         """         Gradio callback to clone voice using text and optional prompt speech.         - text: The input text to be synthesised.         - prompt_text: Additional textual info for the prompt (optional).         - prompt_wav_upload/prompt_wav_record: Audio files used as reference.         """         prompt_speech = ref_audio_input         prompt_text_clean = None if len(ref_text_input) < 2 else ref_text_input         audio_output_path = run_tts(             gen_text_input,             model,             prompt_text=prompt_text_clean,             prompt_speech=prompt_speech         )         return audio_output_path,prompt_text_clean
打開網(wǎng)易新聞 查看精彩圖片
特別要注意代碼對應(yīng)層級需對齊

特別注意:Python 代碼使用空格進行縮進對齊,否則代碼會報錯。為避免出錯,建議不要使用記事本打開webui.py文件,而是使用專業(yè)的代碼編輯器,例如 Notepad++ 或 VSCode 等免費工具。

然后,找到大約第 190 行的generate_buttom_clone = gr.Button("Generate")代碼。 在其上方粘貼以下代碼,同樣必須注意對齊:

generate_buttom_clone2 = gr.Button("Generate2",visible=False) generate_buttom_clone2.click(        basic_tts,        inputs=[           text_input,           prompt_text_input,           prompt_wav_upload,           text_input,           text_input        ],        outputs=[audio_output,prompt_text_input],        api_name="basic_tts"  )
打開網(wǎng)易新聞 查看精彩圖片
注意層級對齊

保存文件后,重新啟動webui.py

python webui.py
打開網(wǎng)易新聞 查看精彩圖片
啟動時務(wù)必注意(venv)
  • ? 將地址http://127.0.0.1:7860填寫到 pyVideotrans 軟件的 “菜單” -> “TTS 設(shè)置” -> “F5-TTS” 的 API 地址中,即可開始使用。參考音頻的位置和填寫方式與 F5-TTS 的使用方法一致。

結(jié)束

ChatTTS和Spark-TTS都是非常優(yōu)秀的免費開源聲音克隆、文本轉(zhuǎn)語音軟件。 感興趣的小伙伴可以試試。

寫文不易,如果你都看到了這里,請點個贊和在看,分享給更多的朋友;也別忘了關(guān)注星哥玩云!這里有滿滿的干貨分享,還有輕松有趣的技術(shù)交流~點個贊、分享給身邊的小伙伴,一起成長,一起玩轉(zhuǎn)技術(shù)世界吧!