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 |
🚀 はじめに(典型的な流れ)
- インストール – ハードウェアターゲットを選択:
# 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' ... - 設定 – TheStage AI エンジンを使用する場合、TheStage AI プラットフォームから API トークンを取得して実行:
thestage config set -t <YOUR_API_TOKEN> - クイック文字起こしを実行(単一ファイル):
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']) - ストリーミング例 – マイク音声をキャプチャしてライブキャプションを表示:
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) - デスクトップアプリ – ビルド済みの 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 に代わるセルフホスト型の選択肢を求める企業。
📚 さらに読む・リソース
- モデルハブ:https://huggingface.co/TheStageAI/thewhisper-large-v3-turbo/
- TheStage AI ElasticModels ドキュメント:https://docs.thestage.ai/elastic_models/docs/source/index.html
- チュートリアル(macOS ノートアプリ):https://app.thestage.ai/blog/Building-a-macOS-Note-Taker-app-on-Electron-with-TheWhisper?id=6
- Open ASR リーダーボード:https://github.com/huggingface/open_asr_leaderboard
TheWhisper は、研究グレードの Whisper モデルと実世界のハードウェア性能制約のギャップを埋める、実用的で本番環境に対応した音声認識スタックです。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト