這篇教學的每一條指令都來自本站在 RTX A6000 48 GB 工作站 上實際錄下的終端機過程(2026-08-24 的版本,commit 08be0b4ccbac),照順序做即可。
開始前
本教學基於 Ubuntu 24.04 (Linux kernel 7.0.0) 環境,需具備 NVIDIA RTX A6000 (48 GB VRAM) 或同等效能的 GPU,並安裝 Python 3.12.3、uv 0.11.2 及 Node.js v18.19.1。由於模型載入與依賴套件下載耗時較長(安裝階段約需 12 分鐘,首次推理約 5 分鐘),建議確保網路連線穩定且磁碟空間充足。
安裝與執行
步驟 1:取得程式碼
從 GitHub 複製 k2-fsa/OmniVoice 原始碼,並切換至指定的 commit 版本以確保環境一致性。
git clone https://github.com/k2-fsa/OmniVoice OmniVoice cd OmniVoice
成功時會看到:顯示 commit 資訊 '08be0b4 2026-08-24' 以及目錄結構包含 'omnivoice' 和 'pyproject.toml'。(這一步我們花了 2.4 秒,結束碼 0)
Press RETURN to continue 08be0b4 2026-08-24 Fix: type of input waveform in process method in `denoise_aud io.py` (#254) 2.2M . CONTRIBUTING.md examples omnivoice README.md uv.lock docs LICENSE pyproject.toml tests
步驟 2:安裝 PyTorch
安裝與 CUDA 12.8 相容的 PyTorch 2.8.0 及 torchaudio,這是執行深度學習模型的核心依賴。
uv pip install torch==2.8.0+cu128 torchaudio==2.8.0+cu128 --extra-index-url https://download.pytorch.org/whl/cu128
成功時會看到:顯示 'Installed 26 packages',包含 torch==2.8.0+cu128 與 torchaudio==2.8.0+cu128。(這一步我們花了 365.5 秒,結束碼 0)
+ setuptools==78.1.0 + sympy==1.14.0 + torch==2.8.0+cu128 + torchaudio==2.8.0+cu128 + triton==3.4.0 + typing-extensions==4.16.0
步驟 3:安裝專案依賴
以開發模式安裝 OmniVoice 專案本身及其剩餘依賴套件(如 transformers, gradio 等)。
uv pip install -e .
成功時會看到:顯示 'Installed 80 packages',其中包含 'omnivoice==0.2.1' 與 'transformers==5.22.1'。(這一步我們花了 355.5 秒,結束碼 0)
+ typer==0.27.3 + typing-inspection==0.4.4 + tzdata==2026.6 + urllib3==2.8.0 + uvicorn==0.54.0 + webdataset==1.0.2
步驟 4:語音設計生成
使用 --instruct 參數指定語音特徵(如女性、低音、英式口音),測試零樣本語音設計功能。
omnivoice-infer --model k2-fsa/OmniVoice --text 'Hello, this is a test of zero-shot voice design.' --instruct 'female, low pitch, british accent' --output demo_design.wav
成功時會看到:顯示 'Saved to demo_design.wav',且過程中有模型載入與生成的 INFO 日誌。(這一步我們花了 328.2 秒,結束碼 0)
elif re.match('(flt)p?( \(default\))?$', token):
/home/user/lab/notes/k2-fsa-omnivoice/.venv/lib/python3.12/site-packages/pydub/utils.py:314: SyntaxWarning: invalid escape sequence '\('
elif re.match('(dbl)p?( \(default\))?$', token):
2026-10-31 18:31:08,471 INFO [infer.py:128] Loading model from k2-fsa/OmniVoice on cuda ...
2026-10-31 18:36:25,751 INFO [infer.py:139] Generating audio for: Hello, this is a test of zero-shot voice design....
2026-10-31 18:36:27,230 INFO [infer.py:159] Saved to demo_design.wav步驟 5:自動語音生成
不指定特定語音特徵,讓模型自動選擇預設語音進行文字轉語音,測試基本 TTS 功能。
omnivoice-infer --model k2-fsa/OmniVoice --text 'This is a test for text to speech.' --output demo_auto.wav
成功時會看到:顯示 'Saved to demo_auto.wav',生成速度快於語音設計模式。(這一步我們花了 6.9 秒,結束碼 0)
$ omnivoice-infer --model k2-fsa/OmniVoice --text 'This is a test for text to speech.' --output demo_auto.wav 2026-10-31 18:36:30,942 INFO [infer.py:128] Loading model from k2-fsa/OmniVoice on cuda ... 2026-10-31 18:36:32,777 INFO [infer.py:139] Generating audio for: This is a test for text to speech.... 2026-10-31 18:36:34,262 INFO [infer.py:159] Saved to demo_auto.wav
步驟 6:非語言符號測試
在文字中插入 '[laughter]' 等非語言符號,測試模型對語氣與音效的處理能力。
omnivoice-infer --model k2-fsa/OmniVoice --text '[laughter] You really got me.' --output demo_nonverbal.wav
成功時會看到:顯示 'Saved to demo_nonverbal.wav',確認模型能解析並生成帶有笑聲的音訊。(這一步我們花了 6.8 秒,結束碼 0)
$ omnivoice-infer --model k2-fsa/OmniVoice --text '[laughter] You really got me.' --output demo_nonverbal.wav 2026-10-31 18:36:37,881 INFO [infer.py:128] Loading model from k2-fsa/OmniVoice on cuda ... 2026-10-31 18:36:39,580 INFO [infer.py:139] Generating audio for: [laughter] You really got me.... 2026-10-31 18:36:41,109 INFO [infer.py:159] Saved to demo_nonverbal.wav
確認裝好了
執行完步驟 4 至 6 後,當前目錄應出現 demo_design.wav、demo_auto.wav 與 demo_nonverbal.wav 三個音訊檔。播放這些檔案可聽到對應的語音內容,其中 demo_design.wav 應呈現英式口音,demo_nonverbal.wav 應包含笑聲。
可能遇到的問題
1. 步驟 4 執行時若出現 pydub 的 SyntaxWarning (invalid escape sequence),這是 Python 3.12 對舊版 pydub 的正則表達式警告,不影響音訊生成結果,可忽略。
2. 首次執行步驟 4 時,模型從 Hugging Face 下載並載入至 GPU 需耗時約 5 分鐘,請耐心等待直到出現 'Saved to' 訊息。
接下來
安裝成功後,您可以嘗試修改 --text 參數輸入不同語言的文字,或使用 --instruct 嘗試其他語音風格(如 'male, high pitch, american accent')。此外,專案內含 examples 目錄,可參考其中的腳本進行批次處理或整合至 Web 介面。
- 它是什麼、解決什麼問題:k2-fsa/OmniVoice 是什麼:支援 600 多種語言的零樣本文字轉語音模型
- 本站的實測結果:OmniVoice 實測:在 RTX A6000 上生成多語言零樣本語音



