TheStageAI/TheWhisper

Optimized Whisper models for streaming and on-device use

📚 クイック概要

TheWhisper は、OpenAI の Whisper モデルを基盤とするオープンソースの音声認識システムです。本プロジェクトは以下を提供します:

  • 元の固定 30 秒ウィンドウではなく、短い音声チャンク(10〜30 秒)を受け付けるファインチューニング済み Whisper チェックポイント。
  • 2 つの主要なハードウェアファミリー向けの高性能推論エンジン:
    • NVIDIA GPU(RTX 4090、L40s、H100、A100、Jetson-Thor):独自の TheStage AI「ElasticModels」エンジン経由、および標準の Hugging Face Transformers 経由。
    • Apple Silicon / macOS:CoreML(および MLX)エンジン経由で、約 2 W の消費電力と約 2 GB の RAM で動作。
  • マイクやファイルから音声を継続的に入力し、単語レベルのタイムスタンプを受け取れるストリーミング API。
  • シンプルな Python ラッパー(ASRPipeline、StreamingPipeline)と、JavaScript/Electron で書かれたサンプルフロントエンド。
  • リアルタイム文字起こしを実演する、macOS 向けのビルド済みデスクトップアプリ TheNotes。
  • バニラ Whisper と比較したベンチマーク(レイテンシ、メモリ、消費電力、WER)。benchmark/ フォルダに公開。

本リポジトリは、オンプレミス、クラウド、またはデバイス上で低遅延・低消費電力の ASR サービスをセルフホストしたい開発者を対象としています。


🛠️ コアコンポーネント

コンポーネント 機能 主要技術
モデル重み 柔軟なチャンクサイズを持つファインチューニング済み Whisper-large-v3(および「turbo」バリアント)。 Hugging Face 🤗 hub
推論エンジン NVIDIA(TensorRT ベースの ElasticModels)および Apple Silicon(CoreML/MLX)向けに最適化されたランタイム。 TheStage AI、NVIDIA、Apple
Python API 単一ファイルの文字起こしには ASRPipeline、連続音声には StreamingPipeline。 PyTorch、Torch-Audio、カスタムラッパー
ストリーミングユーティリティ 音声チャンクを入力し結果を出力する MicStream、FileStream、StdoutStream。 Pure Python
フロントエンドデモ ライブキャプションを表示する Electron アプリと React の例。 Electron、ReactJS

🚀 はじめに(典型的な流れ)

  1. インストール – ハードウェアターゲットを選択:
    # Apple Silicon
    pip install .[apple]
    
    # NVIDIA GPU
    pip install .[nvidia]
    # (optional) TheStage AI optimized engine
    pip install 'thestage-elastic-models[nvidia]==0.2.4.post0' ...
    
  2. 設定 – TheStage AI エンジンを使用する場合、TheStage AI プラットフォームから API トークンを取得して実行:
    thestage config set -t <YOUR_API_TOKEN>
    
  3. クイック文字起こしを実行(単一ファイル):
    from thestage_speechkit.nvidia import ASRPipeline
    model = ASRPipeline(model='TheStageAI/thewhisper-large-v3-turbo',
                        chunk_length_s=10, device='cuda')
    result = model('speech.wav')
    print(result['text'])
    
  4. ストリーミング例 – マイク音声をキャプチャしてライブキャプションを表示:
    from thestage_speechkit.streaming import StreamingPipeline, MicStream, StdoutStream
    pipe = StreamingPipeline(model='TheStageAI/thewhisper-large-v3-turbo',
                             chunk_length_s=10, platform='apple')
    mic = MicStream(step_size_s=0.5)
    out = StdoutStream()
    while (chunk := mic.next_chunk()) is not None:
        txt, _ = pipe(chunk)
        out.write(txt, None)
    
  5. デスクトップアプリ – ビルド済みの macOS TheNotes パッケージをダウンロードするか、React/Electron チュートリアルに従って独自にビルド。

📊 パフォーマンスハイライト

  • NVIDIA L40s:whisper-large-v3 モデルで約 220 tokens/秒(10 秒チャンクで約 0.5 秒のレイテンシ)。
  • Apple Silicon:約 2 W の消費電力、約 2 GB の RAM、M2/M3 チップでリアルタイムストリーミング。
  • 精度:Open ASR 多言語リーダーボードで評価。WER はバニラ Whisper と同等でありながら、より低いレイテンシを提供。
  • さまざまなチャンクサイズ(10 秒、15 秒、20 秒、30 秒)のベンチマークは benchmark/README.md にあります。

📦 リポジトリの内容

  • thestage_speechkit/ – Apple および NVIDIA パイプライン、VAD、ストリーミングヘルパーを含む Python パッケージ。
  • electron_app/ – Electron フロントエンドのソースとビルド手順。
  • benchmark/ – レイテンシ、メモリ、消費電力、WER をまとめたスクリプトと表。
  • README.md – このドキュメント、クイックスタート、使用例。
  • Hugging Face 上の thewhisper-large-v3 および thewhisper-large-v3-turbo のモデルカード。

🛡️ ライセンスと商用利用

  • コードは MIT License の下で公開されています(LICENSE を参照)。
  • モデル重みは Hugging Face 上でオープンソースです。
  • TheStage AI 最適化エンジンを年間 4 GPU を超えて必要とする企業は、TheStage AI の連絡ページから商用ライセンスを申請できます。

🎯 利用対象者

  • リアルタイムキャプション、音声アシスタント、会議の文字起こしサービスを構築する開発者。
  • Jetson デバイスや Apple Silicon ラップトップに ASR を展開するエッジ/IoT チーム。
  • 予測可能なレイテンシとコストで、クラウド STT API に代わるセルフホスト型の選択肢を求める企業。

📚 さらに読む・リソース


TheWhisper は、研究グレードの Whisper モデルと実世界のハードウェア性能制約のギャップを埋める、実用的で本番環境に対応した音声認識スタックです。

関連

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