Skip to content
自託管 · 多引擎聚合 · OpenAI 全相容

新一代高效能統一語音辨識API 聚合閘道與私有化基座

秒級在私有伺服器或 Mac 上部署工業級 ASR 基礎設施。聚合 Faster-Whisper、X-ASR (Zipformer)、Qwen3-ASR 與 FireRedASR,完美相容 OpenAI Audio API 標準。

# 1. Pull and run OneASR with GPU acceleration
$ docker run -d -p 8000:8000 --gpus all codeandxv/oneasr:latest
INFO: Preloading ASR Engines [whisper-medium, xasr-zh-en]...
INFO: Application startup complete. Uvicorn running on http://0.0.0.0:8000
OpenAI API ready at /v1/audio/transcriptions

專為高吞吐、低延遲與數據隱私打造

滿足團隊從個人生產力到企業私有化語音管道的一切需求。

🔄零改動平替

OpenAI 規範全相容

無縫平替 /v1/audio/transcriptions。零修改直連 Dify、FastGPT、Open WebUI、DuRT 及官方 OpenAI SDK。

⚡隨插即用

多引擎聚合與熱切換

透過清晰的 YAML 配置自由切換 Faster-Whisper、Zipformer (X-ASR)、Qwen-ASR 與 FireRedASR 等前沿模型。

🌊< 200ms 極速

低延遲全雙工 WebSocket

支援毫秒級分塊即時雙工流式傳輸,專為即時字幕、會議同傳與語音對話智能體(Voice Agent)打造。

🎯原生 VAD

智能 VAD 與精準分段

深度整合 Silero-VAD 語音活動檢測,具備自然停頓斷句、長音訊切片與 ASR 連續複讀幻覺自動過濾機制。

🖥️開箱即用

內建 Vue 3 視覺化面板

開箱即用的 Web 儀表板,支援即時麥克風錄音測試、大檔案音視頻轉錄、GPU 狀態監視與任務佇列追蹤。

🔒絕對隱私

100% 數據掌控與私有化

所有音訊流與文字數據全程停留在本地或內網環境。零雲端中轉、零遙測收集、零供應商鎖定。

支援的 ASR 引擎矩陣

根據具體的語言類型、延遲要求與硬體算力,靈活匹配最佳推理引擎。

引擎名稱引擎定位支援語種推理延遲 / RTF硬體加速支援最佳適用場景
Faster-Whisper檔案轉錄推薦長音訊與批次轉錄99+ 種全球語言(多語言)0.12x - 0.25x RTFCUDA, Metal, CPU (int8/fp16)多語種長檔案轉錄、Podcast 字幕生成、跨語種聽寫
X-ASR (Zipformer2)超低延遲首選即時流式語音辨識中文、英文、中英混合< 160ms 塊級延遲CPU, ONNX, Metal, CUDA超低延遲即時字幕、會議同傳、語音互動助理
Qwen3-ASR (1.7B)大模型語音辨識30+ 種語言、常見方言0.15x - 0.35x RTFCUDA (vLLM / PyTorch), Metal複雜中文方言、吵雜環境降噪辨識、特定行業術語
FireRedASR工業級通用 ASR中文、英文0.18x - 0.30x RTFCUDA, PyTorch企業級政企會議紀要、高保真普通話客服中心

OneASR 核心處理流水線

從音訊接收、預處理、動態分發到結構化結果輸出的標準架構。

Step 01

1. 接收與音訊預處理

透過 REST 或 WebSocket 接入音訊,自動重採樣為 16kHz 單聲道,並由 Silero-VAD 進行智能語音分段。

Step 02

2. 動態引擎分發調度

根據請求攜帶的語言標籤與延遲模式,秒級分發至預熱就緒的 ASR 引擎(Whisper/Zipformer/Qwen)。

Step 03

3. 神經網路推理與對齊

聲學與語言模型協同解碼,利用 CUDA TensorRT 或 Metal 算力加速生成詞級毫秒時間戳。

Step 04

4. 後處理與標準化輸出

標點規範化、去重去噪,最終組裝為 OpenAI JSON、SRT 或 VTT 格式返回。

以開發者體驗為核心

使用你熟悉的工具和標準協定,數行程式碼無縫整合 OneASR。

from openai import OpenAI

# Initialize client pointing to your local OneASR gateway
client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="sk-oneasr-v1-p_L3kXm9QZ8sT2vA4wE7rY1u"
)

# Transcribe audio file with word-level timestamps
with open("podcast.mp3", "rb") as audio_file:
    transcript = client.audio.transcriptions.create(
        model="faster-whisper",
        file=audio_file,
        response_format="verbose_json",
        timestamp_granularities=["word", "segment"]
    )

print(transcript.text)