Yap: オープンソースオンデバイスボイスディクテーション macOS向け

Yap: オープンソースオンデバイスボイスディクテーション macOS向け

Yapは、macOS向けのオープンソース音声ディクテーションツールで、ユーザーはアクティブなテキストフィールド内で直接音声をテキストに変換できます。AppleのネイティブSpeechフレームワークを活用することで、Yapはクラウド接続、APIキー、または外部機械学習モデルのダウンロードを必要とせず、完全にオンデバイスで動作するプライバシー重視の低遅延体験を提供します。

Apple Speech Frameworkを使用したオンデバイス転写

Yapは、macOS 26 (Tahoe)で導入されたSpeechAnalyzerおよびSpeechTranscriberAPIを利用します。これらのAPIにより、アプリケーションはオペレーティングシステム自身によって管理および配布される音声テキスト変換モデルを使用できます。この設計により、アプリケーションがWhisperで使用されるような重いモデルウェイトをバンドルする必要がなくなります。これらのモデルは通常、数百メガバイトのRAMを消費し、古いIntelベースのMacではパフォーマンスの低下を引き起こす可能性があります。

開発者が引用したベンチマークによると、Appleのネイティブ音声APIはクリアなオーディオでは単語誤り率(WER)が2.12%、ノイジーなオーディオでは4.56%であり、Whisper Small(それぞれ3.74%と7.95%)を上回りながら、5,559のLibriSpeechクリップで約3倍高速に動作します。

コア機能とワークフロー

  • トリガーベースのディクテーション: ユーザーはショートカットを押して録音を開始し、もう一度押して停止します。その結果得られたテキストは、アクティブなアプリケーションのフォーカスされたテキストフィールドに自動的に貼り付けられます。
  • ライブフィードバック: 話している間、小さなウィンドウにライブ波形と転写のリアルタイムプレビューが表示されます。
  • ローカル履歴: すべての転写がローカルに保存され、ユーザーは過去のディクテーションを検索、コピー、削除できます。
  • カスタマイズ可能なトリガー: ショートカットは完全に再バインド可能で、右シフトキーなどのシングルモディファイアトリガーもサポートします。
  • プライバシーを設計に組み込む: アプリはネットワークコールを行わず、テレメトリを含まず、ユーザーアカウントを必要としません。

技術的実装とアーキテクチャ

YapはネイティブSwiftで記述されています(約3,000行のコード)そして小さなフットプリントを維持し、アイドル時は約60MBのメモリを使用します。

オーディオ処理と挿入

文の最初の単語がクリップされないように、YapはAVAudioEngineを使用してオーディオをキャプチャし、音声スタックが初期化される間バッファリングします。転写は、SpeechAnalyzerを使用してボラティル結果を有効にしライブプレビューを行い、サポートされていないロケールについてはSFSpeechRecognizerがフォールバックとして機能します。

他のアプリケーションへのテキスト挿入は、クリップボードにテキストを書き込み、System Eventsを介して–Vコマンドをシミュレートすることで実現されます。開発者はChromiumベースのアプリに関する特定の実装詳細を指摘しています:これらのブラウザはペーストボードを非同期で読み取るため、アプリは元のクリップボードの内容を復元する前に待機します。クリップボードを слишком早く復元すると、古いデータが貼り付けられます。

セキュリティとサンドボックス

YapはMac App Store外で配布され、サンドボックス化されていません。これは技術的必要性であり、macOS App Sandboxは他のアプリケーションを駆動するためのSystem Eventsの使用と、フォーカスされたUI要素を読み取る能力を禁止しており、これらは他のアプリにテキストを貼り付けるディクテーションツールにとって両方とも必要です。

インストールと要件

システム要件: YapはmacOS 26 (Tahoe)以降およびソースからビルドする場合はXcode 26が必要です。

インストール方法:

  • Homebrew: brew install --cask frigadehq/tap/yap
  • ダイレクトダウンロード: 最新の.dmgはGitHub Releasesページから入手できます。

必要な権限: 初回起動時に、Yapはマイク、音声認識、アクセシビリティ(アクティブなアプリを特定するため)、およびオートメーション(テキストを貼り付けるため)へのアクセスを必要とします。アクセシビリティの権限は、システム設定で手動で有効にする必要があります。

コミュニティの洞察

このプロジェクトはその速度とプライバシーで好評を得ていますが、一部のユーザーは組み込みのmacOSディクテーション機能との違いについて疑問を呈しています。また、Appleのネイティブモデルは非常に競争力がありますが、NVIDIA Parakeet TDT v2などの専門モデルは特定のベンチマークでまだ優位性を保っていると指摘されています。

Sources