如何在 Glows.ai 使用 BreezyVoice 建立擬真聲音並生成語音
本教學說明如何在 Glows.ai 使用 NVIDIA GeForce RTX 4090 GPU 執行語音合成系統 BreezyVoice,生成個人化語音檔案。
BreezyVoice 是專為中文文字轉語音(TTS)設計的開放原始碼系統,功能包括:
- 僅需 5 秒語音樣本即可複製聲音
- 產生自然流暢、接近真人的語音
- 以 CosyVoice 擴充套件為基礎,屬於 Breeze2 系列
以下將使用 Glows.ai 的雲端 GPU 執行 BreezyVoice,建立聲音並生成語音檔案。

步驟一:建立執行個體
依照此教學在 Glows.ai 建立執行個體,並選擇官方 BreezyVoice WebUI 映像檔。
在 Create New 頁面選擇 Inference GPU -- 4090,再選擇 BreezyVoice WebUI 映像檔。此映像檔包含所有必要環境,並會在連接埠 8080 啟動 BreezyVoice WebUI 服務。

Data Drive 是 Glows.ai 的雲端儲存服務。你可以先將資料、模型或程式碼上傳至 Data Drive。建立執行個體時點選 Mount,即可將 Data Drive 掛載至執行個體,供執行個體存取其中的檔案。
設定完成後,點選右下角的 Complete Checkout 建立執行個體。

BreezyVoice WebUI 執行個體約需 30–60 秒啟動。啟動後,可在 My Instances 頁面查看狀態與資訊。相關連接埠如下:
- SSH Port 22:SSH 連線
- HTTP Port 8888:JupyterLab
- HTTP Port 8080:BreezyVoice WebUI 服務

步驟二:使用 BreezyVoice WebUI
在 My Instances 頁面,點選 HTTP Port 8080 下方的 Open,開啟 BreezyVoice WebUI。

你可以在 BreezyVoice WebUI 上傳錄音檔,或點選 Record 錄製語音樣本,建議長度為 20–30 秒。
接著在文字方塊中輸入該語音樣本的逐字稿。

在「Enter text to synthesize」文字方塊中輸入要合成的內容,點選 Synthesize Audio。生成時間約 7 秒,實際時間取決於語音檔案大小與合成內容長度。
合成完成後,點選 Play 試聽,或點選右上角的 Download,將音訊檔案儲存至 Data Drive。

步驟三:呼叫 BreezyVoice API
除了瀏覽器介面,也可以將 BreezyVoice 當作 API 服務使用。
在 My Instances 中,點選 HTTP Port 8888 的 Open 開啟 JupyterLab。接著開啟 Other 分類下的 Terminal,進入命令列介面。

在左側邊欄開啟 BreezyVoice-api.py,將連接埠從 8080 改成 8081,再按下 Ctrl + S 儲存,避免與 BreezyVoice WebUI 服務的連接埠衝突。

若要使用自訂語音樣本,請開啟 api.py,將程式碼中的音訊檔案路徑與對應逐字稿改成自己的音訊與文字。

在終端機依序執行以下命令,啟動 API 服務:
cd /BreezyVoice/
python api.py

服務會監聽連接埠 8081。在 My Instances 頁面點選 New Port Forwarding,新增連接埠轉送規則。填寫以下資訊,再點選 Create:
- 連接埠號碼:8081
- 通訊協定類型:HTTPS

連接埠設定約需 15 秒。如果頁面未自動重新整理,請手動重新整理。接著點選 HTTP Port 8081 旁的 Copy,複製 API 連結。
https://tw-02.access.glows.ai:23197?token=jrF2uJF3yj
# The token part is a parameter tag and can be omitted

在本機安裝 OpenAI 套件後,可以使用以下程式碼測試 API:
# If OpenAI is not installed, install it first via: pip install openai
import openai
client = openai.Client(base_url="https://tw-02.access.glows.ai:23197", api_key="sk-template")
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="放學我們一起去打籃球怎麼樣,今天天氣不錯",
)
speech_file_path = "./test_speech.wav"
with open(speech_file_path, "wb") as audio_file:
audio_file.write(response.content)
也可以使用以下 curl 命令直接呼叫 API:
curl -X POST "https://tw-02.access.glows.ai:23197/v1/audio/speech" \
-H "Authorization: Bearer sk-template" \
-H "Content-Type: application/json" \
--data '{
"model": "tts-1",
"voice": "alloy",
"input": "放學我們一起去打籃球怎麼樣,今天天氣不錯"
}' --output test_speech.wav
執行後,本機會產生名為 test_speech.wav 的合成語音檔案。
進階用法:Auto Deploy
前一種方式需要手動建立及釋放執行個體,若使用頻率不高,操作較為繁瑣。
你也可以使用 Glows.ai 的 Auto Deploy 服務。完成設定後會取得固定連結。連結收到請求時,Glows.ai 會自動建立執行個體並處理請求;若 5 分鐘內沒有新請求,系統會自動釋放執行個體。
請依下列步驟設定。
設定 Auto Deploy
前往 Auto Deploy 頁面,點選右上角的 New Deploy,新增部署設定。



查看設定資訊

呼叫 Auto Deploy 連結
API 呼叫方式與前述相同,只需將 API 連結換成 Auto Deploy 連結。
curl -X POST "https://tw-01.sgw.glows.ai:xxxxxx/v1/audio/speech" \
-H "Authorization: Bearer sk-template" \
-H "Content-Type: application/json" \
--data '{
"model": "tts-1",
"voice": "alloy",
"input": "放學我們一起去打籃球怎麼樣,今天天氣不錯"
}' --output test_speech.wav

請求完成後,若 5 分鐘內沒有新的 API 呼叫,系統會自動釋放執行個體資源。
Auto Deploy 頁面會顯示各部署的總費用與執行個體狀態。各狀態代表:
- Standby:設定已就緒,目前沒有執行中的執行個體。
- Idle:已收到請求,正在建立執行個體;或系統正在自動釋放執行個體。
- Running:執行個體已建立並正在處理請求。完成後會等待新請求;若 5 分鐘內沒有新請求,系統會自動釋放執行個體。

聯絡我們
使用 Glows.ai 時若有問題或建議,請透過以下方式聯絡我們:
- Email: support@glows.ai
- Line link: https://lin.ee/fHcoDgG