fluxions-ai/vui

Vui Nano — a small, context-aware text-to-speech model trained on real conversations. 219M active params (305M total), Apache 2.0, voice cloning, streaming, runs on CPU (dependency-free C build). Ships with a full real-time voice assistant: WebRTC, ASR, local LLM, OpenAI Realtime API compatible.

Vui – 流式串流對話式語音助手

什麼是 Vui – Vui (發音為 “vooey”) 是一個開源、即時的語音助手技術棧。透過單一 Python 伺服器將語音轉文字 (ASR)、本地大型語言模型 (LLM) 以及流式文字轉語音 (TTS) 模型整合在一起,讓你可以直接與電腦對話並立即聽到語音回覆。

核心模型Vui Nano – 一個基於 Qwen-3 TTS 編碼器構建的 300 M 參數語音 Transformer 模型。它是在對話式語音(包括呼吸聲、笑聲、猶豫聲)上進行訓練的,並且可以透過語音複製來模擬多種預設的人格特質。

關鍵能力

  • 全雙工語音迴圈 – WebRTC + WebSocket 管道:ASR → LLM → TTS,具備由 VAD 驅動的輪流對話與 barge-in 功能(你可以中斷回覆)。
  • 流式 TTS – 在 RTX 4090 上使用 bf16 推論與 CUDA graphs,速度可達約 9 倍即時速度。
  • OpenAI Realtime API 相容性 – 為任何遵循 OpenAI 規範的客戶端提供即插即用的 ws://…/v1/realtime 端點。
  • One-shot 語音備忘錄端點POST /v1/voice-note 可在單次 HTTP 呼叫中執行整個流程(輸入音訊,輸出帶有 base64-WAV 的 JSON)。
  • 可插拔後端 – LLM 可選擇 Ollama、vLLM 或任何與 OpenAI 相容的服務;ASR 可選擇 faster-whisper (GPU) 或 Moonshine (CPU/ONNX)。
  • 工具路由 (“thoughts stream”) – 一個並行的 LLM 會監控每一次對話,並能調用約 15 種內建工具(記憶、計時器、網路搜尋、委派給 Claude 風格的任務伺服器)而無需喚醒詞語法。
  • 語音複製與調節 – 上傳樣本以複製說話者;兩個調節向量可以讓你調整語音品質 (six SQ channels) 與每秒字數 (WPS)。
  • 跨平台支持 – 支援 Linux + NVIDIA GPU 的 Docker-compose,以及 macOS 的原生安裝(使用 Apple Silicon 的 MLX 後端),並提供透過 Cloudflare Tunnel 或 Tailscale 進行行動裝置存取的文檔路徑。

安裝方式

# 一鍵式安裝程式 (偵測 Docker 與原生安裝,拉取依賴項,下載模型)
curl -fsSL https://install.fluxions.ai | bash

該腳本會將 repo 複製到 ~/vui, 設定 Python (uv), 安裝 ffmpeg, Ollama, 以及 Claude Code CLI,然後在 http://localhost:8080 啟動 UI。

典型的 Docker 工作流程

  1. 安裝 Docker + NVIDIA Container Toolkit。
  2. 為 Ollama 拉取一個 LLM,例如 ollama pull qwen3.5:4b
  3. docker compose up -d – 啟動 Vui 流式串流容器(以及可選的 Ollama/Claude 旁路服務)。
  4. 打開瀏覽器,允許麥克風存取權限,並開始對話。

原生安裝工作流程 (無 Docker) – 安裝 ffmpeg,執行 uv sync (或在 Apple Silicon 上執行 uv sync),啟動 Ollama,拉取一個模型,然後:

python -m vui.serving.stream   # server 伺服器端點於 http://localhost:8080

環境變數 (VUI_OLLAMA_URL, VUI_OLLAMA_MODEL, VUI_LLM_BACKEND, 等) 讓你可以將伺服器指向任何相容的 LLM 後端。

Demo 工具實用程序

  • demo.py – 一個 Gradio UI,可單獨執行 TTS 模型 (語音複製上傳, CLI 渲染)。
  • docker compose 設定檔 (profiles) 讓你可以添加 Ollama 容器或 Claude-task 旁路服務,以進行委派、多步驟的動作 (電子郵件, 日曆, 網路研究)。

可擴展性

  • ASR – 可在 UI 中切換 faster-whisper (GPU) 與 Moonshine (CPU/ONNX)。
  • LLM – 任何 Ollama 模型、vLLM 伺服器或 OpenAI 相容的端點。
  • Tools – “thoughts” 路由是可插拔的;你可以透過 docs/thoughts-tools.md 指南來添加你自己的本地函數 (計時器, smart-home 開關)。
  • Search providers – 使用 Serper, Brave, 或 Tavily APIs 進行單次查詢的事實性檢索。

更多資訊請參閱

總結 – Vui 提供了一個生產等級、端到端的語音助手技術棧,你可以透過 Docker 或在本地 (GPU 或 Apple Silicon) 執行,具備可更換的 ASR/LLM/TTS 組件、工具整合、以及與 OpenAI 相容的即時串流接口。它是一個真正的 AI/ML 專注於語音中心化對話式代理的專案。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案