[實做]用5090來做文字轉聲音模型

首先感謝01跟各位網友支持,前篇居然置頂了,
沒想到自己工作上的小研究這麼多人有興趣,非常

在上一篇文章用G835+5090、把影片聲音一一轉成文字之後,下一步計畫就是用AI方式做真人語音模型,配上文字簡報內容,直接轉成語音,讓PM / RD外派人力來錄製教育訓練內容。靠著ChatGPT跟上網查詢,大致有了以下思路:
  1. 影片有聲音 > 取得影片相關者的同意 > 建立特定人聲模型
  2. 利用TTS(TTS = Text to Speech,文字轉語音)的模型,在本機端進行聲音資料庫的打造。
  3. 找尋相關的TTS程式以及模型,並建構可以使用操作的環境。
  4. 匯入影片(聲音)、建立模型之後,再把要配的文字(本文)輸入操作環境,輸出特定人聲說出的語音檔案。
  5. 最後再將聲音與簡報整合即可(日後PM/RD就提供文字說明即可,不用再排時間錄音了)
思路整理是不會太複雜,但後面大模型的取得、還有程式內容,複雜程度就有點高。以下用我個人測試過的環境,來說明一下怎麼做到建立萬用的聲音模型。

**特別注意**

「聲音」這種東西我覺得是個人識別很重要的特徵,就跟指紋一樣,隨便擷取別人的聲音挪為己用,我覺得是違法且不道德的事情。所以如果有類似操作,記得要取得聲音當事人的同意,也不要隨便到網路下載別人的聲音來建立私人的資料庫。雖然現在法律還跟不上腳步,但以公司立場的話我自己也會特別注意。


[實做]用5090來做文字轉聲音模型

一開始查詢到可以在本機端執行TTS相關的資料,大多與Open WebUI這一套程式有關。它是一款可以在本地執行LLM模型、並用瀏覽器操作的程式,安裝完畢、打開瀏覽器即可使用。它用起來就像是一個私人的ChatGPT一樣,而TTS原本是研發來輔助、朗讀文字用(就像我們現在對手機上的Siri或是Gemini問問題,手機會直接語音回覆你一樣),所以下載並佈署好這套模型,就可以在本機端使用。

[實做]用5090來做文字轉聲音模型

Open WebUI專案:https://github.com/open-webui/open-webui
我自己使用的環境是在Windows 11之上,為了配合Open WebUI的作業環境,我查到的大部份文章都是指引到使用「Docker」來快速的建立使用環境:

[實做]用5090來做文字轉聲音模型

Docker是利用容器、映像的概念,可以在作業系統之間提供跨平台、高效率的作業環境,所以在單機、NAS市場、雲端等應用上都有很多使用者,我自己也嘗試學習了一陣子Docker相關的操作與知識。不過必須坦白說,在學習這些觀念跟操作知識上,像是Docker相關容器、跨平台的使用等等,真的讓我頭昏眼花,關鍵字可以查詢「Open AI TTS WebUI 聲音模型」等等。由於Docker的使用上,需要依靠指令輸入才能達到最短的佈署時間,這需要的學習曲線比較長,迫使我必須要嘗試其他方案,於是就進入了今天的重點:GPT-SoVITS。

GPT-SoVITS是一套開放原始碼的語音合成系統,融合了「SoVITS(Soft Voice Conversion with VITS)」跟類似GPT的特徵建模能力,同時又整合成單一的安裝包,在Windows作業系統底下號稱「一鍵佈署」,而且非常適合不太有程式基礎的人。原本被Docker跟開發環境搞得頭昏眼花的我,在死馬當活馬醫的情況下嘗試了一下,瞬間找到明燈,以下就分享安裝的流程。

[實做]用5090來做文字轉聲音模型

下載位置:https://github.com/RVC-Boss/GPT-SoVITS

[實做]用5090來做文字轉聲音模型


GPT-SoVITS簡單說,就是一個直接把複雜功能包裝好語音合成界面,可以在瀏覽器裡面執行,裡面最大的特色如下:
  1. 只要5秒的聲音樣本,就可以立即獲得文字到樣本語音的轉換過程。
  2. 只要1分鐘的訓練數據就可以微調模型,提升聲音的相似度與真實感。
  3. 跨語言支援:可以支援中文、英文、日文、韓文、粵語的混和輸出。
  4. WebUI工具:可以自動分離聲音與背景音、訓練、自動語音識別、文字標註等等。
簡單地說,我需要的功能全部都在這套安裝包內,不需要下載Python的執行環境或是Docker這樣的跨平台工具,下面就簡單說明一下怎麼在Windows上面安裝。

[實做]用5090來做文字轉聲音模型

一樣,在Code的部份點開,點選下載。

[實做]用5090來做文字轉聲音模型
以管理員身份,執行go-webui.bat這個檔案,就會開始啟動。

[實做]用5090來做文字轉聲音模型

用瀏覽器打開指定的位置,就可以看到GPT-SoVITS開始執行了。以下分別說明一下各個欄位的功能。

[實做]用5090來做文字轉聲音模型

左上第一區是上傳聲音檔案的地方,由於GPT-SoVITS是以小模型為主,所以聲音檔案只要3~10秒內即可,超過會被系統拒絕。左上第二區則是上傳聲音檔案的參考文字,假如有的話填入也可以提高辨識度,但也可以完全不填。

[實做]用5090來做文字轉聲音模型

右上的話則是聲音檔案的語言種類選擇,還有參考用的音色上傳。語言選擇很好理解,就是如果你的聲音來源有中英文夾雜(「我要call一個meeting」這種感覺),就可以用中英混合。右邊的話則是你可以用其他音色來做參考,像是男生的聲音、但是是比較好聽的(請注意版權、授權問題),就可以混進來用,為了安全,我是沒有選這一項。

[實做]用5090來做文字轉聲音模型

左下的「需要合成的文本」當然指的就是你計畫輸出聲音的文字了,簡單說你輸入什麼,就會用你提供的聲音樣本念出這些文字,也是我現在需要的功能:用文字輸出我指定人聲的聲音檔案。

[實做]用5090來做文字轉聲音模型

右下的話,則是說話速度、還有各種GPT採樣參數的調整,
因為這邊比較複雜、且訓練的資料量可能會增大,所以我就不特別說明。

官方也有提供demo網站,可以自己玩看看(有免費次數限制)
外部連結 -> https://lj1995-gpt-sovits-proplus.hf.space/

以下我用一段文字,搭配檔案給大家參考:

運動是指通過身體鍛鍊來增強體質、提高技術、改善健康的活動。 它有很多好處,例如增強心肺功能、降低罹患慢性病的風險,以及維持健康的體重。 主要的運動類型有有氧運動(如跑步、游泳)、阻力運動(如重訓)和柔軟度訓練(如伸展)。 選擇適合的運動並持之以恆,能有效提升整體健康。

運算出來的wav檔案:

https://drive.google.com/file/d/1Ap0QkMsz19tPTRVnEn4XD7HsXOiTlZ4L/view?usp=sharing

這是沒有任何微調的結果,不太在意語感或是腔調的話幾乎可以直接使用!
不過調整好的參數就存在本機這邊,記得要把相關參數記好。

[實做]用5090來做文字轉聲音模型

轉換過程中,所有運算都在本機的5090上面運作,所以吃載狀況就會隨著文字長短有所改變。同樣一段文字,在沒有GPU、只有內顯的筆電上,操作起來就非常慢,就不為難它了,有5090當然要用爆!(握拳)

小結

在整個過程影片轉文字、文字轉建模語音這樣的過程中,我大概把網路上找得到有關的文章都翻過了一輪,收穫了一點心得:
  1. 你完全可以在雲端或是DIY電腦上完成一樣的事情,但因為組織需求(失敗筆電還可以拿去給其他單位用、資訊單位跟老闆覺得雲端太貴、老闆不想資料上傳雲端)的關係,在筆電上做、搭配高階GPU,也是完全可行。
  2. 本機端而言,只要GPU夠高階(或是說VRAM夠大),讀取模型、根據需求做運算的時候,就會非常節省時間。一樣的事情我用一般看資料用的文書筆電做測試,就是慢太多了,至少差了10倍以上的速度。
  3. TTS相關的技術幾乎每天都有新東西,我後來學會上網只看最近一年內的技術文章,因為看太舊的東西可能連CUDA版本、Python版本、Docker版本都會有所不同,版本不同就會導致指令輸入參數時常常報錯,要特別確認自己正在幹嘛。
  4. 安裝包是高手整理好的功能,但是如果要更細的微調(像之前網路上流傳,用孫燕姿的聲音,唱各種華語老歌),GPT-SoVITS或是本體SoVITS都有更深入的選項,但這個就留給有時間的人親自嘗試了。
上述這些事情大概花了我2個禮拜左右才陸續能掌握個3-4成,相信有基礎的人應該可以更快學會操作這些東西,兩篇文章就當作拋磚,盡量白話說明,希望能有更厲害的人分享更強的應用~
2025-12-10 19:29 發佈
厲害~ 下一步就會是複製上傳的聲音
有深度 看起來可以
要好好的來研究
iorz4244 wrote:
首先感謝01跟各位網...(恕刪)


留起來研究~
厲害
iorz4244 wrote:
首先感謝01跟各位網...(恕刪)


AI語音

現在都是中國口音嗎?
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?