🔥 L40s Server Is Now Live – Just 0.83 credits/hr!

如何在 Glows.ai 使用 BreezyVoice 建立擬真聲音並生成語音

教學

本教學說明如何在 Glows.ai 使用 NVIDIA GeForce RTX 4090 GPU 執行語音合成系統 BreezyVoice,生成個人化語音檔案。

BreezyVoice 是專為中文文字轉語音(TTS)設計的開放原始碼系統,功能包括:

  • 僅需 5 秒語音樣本即可複製聲音
  • 產生自然流暢、接近真人的語音
  • CosyVoice 擴充套件為基礎,屬於 Breeze2 系列

以下將使用 Glows.ai 的雲端 GPU 執行 BreezyVoice,建立聲音並生成語音檔案。

image-20250527143008021

步驟一:建立執行個體

依照此教學在 Glows.ai 建立執行個體,並選擇官方 BreezyVoice WebUI 映像檔。

Create New 頁面選擇 Inference GPU -- 4090,再選擇 BreezyVoice WebUI 映像檔。此映像檔包含所有必要環境,並會在連接埠 8080 啟動 BreezyVoice WebUI 服務。

image-20250527142118492

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

設定完成後,點選右下角的 Complete Checkout 建立執行個體。

image-20250527142206510

BreezyVoice WebUI 執行個體約需 30–60 秒啟動。啟動後,可在 My Instances 頁面查看狀態與資訊。相關連接埠如下:

  • SSH Port 22:SSH 連線
  • HTTP Port 8888:JupyterLab
  • HTTP Port 8080:BreezyVoice WebUI 服務

image-20250527142608982

步驟二:使用 BreezyVoice WebUI

My Instances 頁面,點選 HTTP Port 8080 下方的 Open,開啟 BreezyVoice WebUI

image-20250527142840557

你可以在 BreezyVoice WebUI 上傳錄音檔,或點選 Record 錄製語音樣本,建議長度為 20–30 秒。

接著在文字方塊中輸入該語音樣本的逐字稿。

image-20250527143100877

在「Enter text to synthesize」文字方塊中輸入要合成的內容,點選 Synthesize Audio。生成時間約 7 秒,實際時間取決於語音檔案大小與合成內容長度。

合成完成後,點選 Play 試聽,或點選右上角的 Download,將音訊檔案儲存至 Data Drive

image-20250527143541680

步驟三:呼叫 BreezyVoice API

除了瀏覽器介面,也可以將 BreezyVoice 當作 API 服務使用。

My Instances 中,點選 HTTP Port 8888Open 開啟 JupyterLab。接著開啟 Other 分類下的 Terminal,進入命令列介面。

image-20250527145829523

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

image-20250527150120234

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

image-20250527153430931

在終端機依序執行以下命令,啟動 API 服務:

bash
cd /BreezyVoice/
python api.py

image-20250527153307923

服務會監聽連接埠 8081。在 My Instances 頁面點選 New Port Forwarding,新增連接埠轉送規則。填寫以下資訊,再點選 Create

  • 連接埠號碼:8081
  • 通訊協定類型:HTTPS

image-20250527153652631

連接埠設定約需 15 秒。如果頁面未自動重新整理,請手動重新整理。接著點選 HTTP Port 8081 旁的 Copy,複製 API 連結。

bash
https://tw-02.access.glows.ai:23197?token=jrF2uJF3yj
# The token part is a parameter tag and can be omitted

image-20250527153921579

在本機安裝 OpenAI 套件後,可以使用以下程式碼測試 API:

python
# 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:

bash
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,新增部署設定。

image-20250527162345042

image-20250527162731979

image-20250527162828692

查看設定資訊

image-20250527162928849

呼叫 Auto Deploy 連結

API 呼叫方式與前述相同,只需將 API 連結換成 Auto Deploy 連結。

bash
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

image-20250527163237581

請求完成後,若 5 分鐘內沒有新的 API 呼叫,系統會自動釋放執行個體資源。

Auto Deploy 頁面會顯示各部署的總費用與執行個體狀態。各狀態代表:

  • Standby:設定已就緒,目前沒有執行中的執行個體。
  • Idle:已收到請求,正在建立執行個體;或系統正在自動釋放執行個體。
  • Running:執行個體已建立並正在處理請求。完成後會等待新請求;若 5 分鐘內沒有新請求,系統會自動釋放執行個體。

image-20250527163744664

聯絡我們

使用 Glows.ai 時若有問題或建議,請透過以下方式聯絡我們:

Glows.ai
所有服務運作正常
ISO/IEC 27001:2022 Certified
  • Twitter
  • Github
  • Discord
© 2025 Glows.ai-版權所有