Quantatirsk/qwen3-asr

All in one Qwen3-ASR Server, compatible with OpenAI API

Qwen3‑ASR — ローカル音声認識APIサービス

何であるか – オープンソースの Qwen3‑ASR 音声認識モデル(0.6 B および 1.7 B)をラップし、馴染み深い OpenAI互換 および Alibaba Cloud互換 のHTTPおよびWebSocketエンドポイントを通じて公開する、即時実行可能なサーバーです。GPUでは公式の vLLM バックエンド、CPU/macOSではバンドルされた Rust バックエンドで動作可能で、ホスト環境に応じて最適なランタイムを自動選択します。

主な機能

  • ハイブリッドランタイム – GPU → vLLM、CPU/macOS → Rustベースの QwenASR。
  • 話者ダイアライゼーション – マルチ話者検出(CAM++モデル)と自動話者ラベル付けをサポート。
  • リアルタイムストリーミング – 低遅延音声認識用の WebSocket API(Paraformer + Qwen3‑ASR)。
  • スマートな音声処理 – VAD駆動のセグメンテーション、遠方音声ノイズフィルタリング、バッチ推論(GPUで2〜3倍の高速化)。
  • API互換性 – OpenAI /v1/audio/transcriptions エンドポイントおよび Alibaba Cloud Speech REST/WebSocketプロトコルと互換。既存のクライアントコードをローカルサーバーに接続可能。
  • リソースに応じたモデル選択 – VRAMに応じて 0.6 B または 1.7 B モデルを自動選択。QWEN3_ASR_MODEL で上書き可能。

実行方法

  1. Docker(推奨).env.example.env にコピーし、APIキーが必要なら編集。次を実行:
    docker-compose up -d               # GPUイメージ(デフォルト)
    # またはCPUのみ
    docker-compose -f docker-compose-cpu.yml up -d
    
    サービスは http://localhost:17003 で利用可能。Swaggerドキュメントは /docs にあります。
  2. カスタムGPUビルド – リポジトリには CUDA 12.6、12.8(デフォルト)、13.0 をターゲットとする Dockerfile.gpu とビルド引数が提供されています。
  3. オフラインデプロイ – インターネット接続のあるマシンで ./scripts/prepare-models.sh を実行し、生成された qwen3-asr-models-*.tar.gz をtar化。ターゲットホストにコピーし、展開して Docker Compose で起動。
  4. ローカル開発 – Python 3.10+ をインストール後、次を実行:
    uv sync                     # GPUスタック(CPU用は ./scripts/sync_cpu_env.sh)
    source .venv/bin/activate
    python start.py
    
    macOS/Apple Silicon は自動的に Rustバックエンドを使用します。

APIの使用方法

  • OpenAIスタイル(POST /v1/audio/transcriptions):
    from openai import OpenAI
    client = OpenAI(base_url="http://localhost:8000/v1", api_key="my_key")
    with open("audio.wav", "rb") as f:
        resp = client.audio.transcriptions.create(file=f, response_format="verbose_json")
    print(resp.text)
    
  • Alibaba Cloudスタイル(POST /stream/v1/asr または WebSocket /ws/v1/asr/qwen)。
  • サポートされる応答形式:jsontextsrtvttverbose_json
  • パラメータで話者ダイアライゼーションの有効/無効、単語レベルのタイムスタンプ(オフラインエンドポイントでのみ利用可能)の要求、言語ヒントの指定が可能。

サポートされるモデル

モデルID サイズ 一般的なVRAM要件 備考
qwen3-asr-1.7b 1.7 B ≥ 32 GB 高精度、多言語(52言語+方言)
qwen3-asr-0.6b 0.6 B < 32 GB 軽量、Rust経由でCPU/macOSで動作

ライセンス – MIT(LICENSE を参照)。

誰が使うか – OpenAI や Alibaba Cloud の音声APIと同じコードで呼び出せる、自己ホスト型でプライバシーを重視した音声認識サービスが必要な開発者。外部クラウドプロバイダーに依存せずに、オプションの話者ダイアライゼーションとリアルタイムストリーミングを希望する人向け。

関連

  • プロジェクト
  • Dispatch
  • Dispatch
  • プロジェクト
  • プロジェクト