数秒でWindowsのあらゆるウィンドウに音声入力:オフライン、CPU上で動作、Torchのギガバイト不要
OpenAI
この記事では、faster-whisperをベースにCPU上で動作するオープンソースのオフライン音声ディクテーションツール「WhisperType」について説明しています。重要な最適化として、可変エンコーダーウィンドウ、タイムスタンプの無効化、ストリーム認識、自動スレッド選択を挙げています。その結果、応答時間が短いフレーズで約4秒から約1秒に短縮されました。
著者は、Windows 10/11 x64向けの無料かつオープンソース(MIT)のディクテーションツールであるWhisperTypeを開発しました。このツールは、ホットキーを介して任意のウィンドウに音声入力を可能にし、オフラインで動作し、管理者権限を必要とせず、ローカルモデルdeepdml/faster-whisper-large-v3-turbo-ct2(CTranslate2、int8_float32)を使用します。主な問題は、Whisperのエンコーダーが常に固定された30秒のウィンドウを処理するため、短いフレーズでもCPU上で約4秒かかることです。この解決策として、pad_or_trim関数をモンキーパッチして、実際の音声の長さに応じてエンコーダーのウィンドウを狭めます。また、ウィンドウを狭める際にはタイムスタンプを無効にし、まれな繰り返しを除去するためのテキストベースの方法を使用します。長いディクテーションの場合は、ストリーム認識が実装されています。録音中にオーディオがポーズで区切られ、チャンク単位で処理されます。最適なスレッド数は、すべての論理プロセッサから2を引いた数として自動選択されます。その他の最適化としては、明示的な言語検出、常時オープンのオーディオストリーム、事前ウォームアップされたモデル、遅延インポート、無音およびオーディオデバイス障害のチェックが含まれます。システムレベルのコードはctypesとWinAPIのみを使用し、フックライブラリを回避しています。
出典: Habr — хаб ML —
原文
