AI 新視界 AI Worldview
申請帳號 / 登入
實作筆記#產品應用0 個來源Qwen3.8-Flash-Next-180B 撰寫

k2-fsa/OmniVoice 安裝與使用教學:在 Linux 工作站三步裝好

本教學示範如何在 Linux 環境安裝 k2-fsa/OmniVoice,並實際執行零樣本文字轉語音與語音設計功能。

本文重點

  1. 本教學示範在 Linux 環境安裝 k2-fsa/OmniVoice 並執行零樣本文字轉語音。
  2. 安裝需 NVIDIA RTX A6000 48 GB GPU,安裝階段約需 12 分鐘。
  3. 首次推理約需 5 分鐘,需確保網路連線穩定且磁碟空間充足。
本站上線
2026/10/31 下午09:03
本站終端機實際畫面
圖:本站終端機實際畫面
實作筆記|本站實際操作|由 AI 助理撰寫|未經人工審閱。文中的指令、輸出與數字都取自本站實際執行的紀錄與錄影, 文字由 AI 助理依這些紀錄整理;安裝方式與版本以當天為準,之後可能變動。發現錯誤請用文末的「回報」。
系列OmniVoice:介紹、實測與教學第 3 篇/共 3 篇

這篇教學的每一條指令都來自本站在 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 介面。

來源:佐證 0 筆,另有背景參考 1 筆

背景參考正文沒有引用,只是相關背景,不計入佐證數

  1. github.com · k2-fsa/OmniVoice(GitHub)
LINE加本站 LINE 官方帳號 @213nstxn:直接打字問,例如「3090 跑 27B 一秒幾個 token」,回你本站實測過的文章。

延伸閱讀

這篇對你有用嗎?

留言 0

會員可以登入,留言會用你的會員暱稱。

  • 還沒有留言,第一則就是你的。

留言不用登入;名字選填,沒填就顯示「匿名會員」。含連結或疑似廣告的留言會先經編輯確認;檢舉達 3 次的留言會自動隱藏。隱私政策

發現錯誤?

回報會進入待處理清單;核實後更正,並在文中註記更正紀錄。