Handy – 無料のオープンソース音声認識アプリ
92日前原文(github.com)
概要
Handyは完全オフラインで動作する、無料かつオープンソースの音声認識アプリケーション。
プライバシー重視で、ユーザーの音声データをクラウド送信しない設計。
クロスプラットフォーム対応(Windows、macOS、Linux)。
WhisperやParakeetなど複数の音声認識モデルを選択可能。
開発・拡張性が高く、コミュニティ貢献も歓迎。
Handyとは
- Handyは完全無料・オープンソース・拡張性重視の音声認識アプリケーション
- **Tauri(Rust + React/TypeScript)**で構築、クロスプラットフォーム対応
- ショートカットキーで録音開始、話した内容が任意のテキストフィールドに自動貼り付け
- 音声データは全てローカル処理、クラウド送信一切なし
- シンプル設計で「話した内容をテキスト化し貼り付ける」という一つの役割に特化
- 最もフォークしやすい音声認識アプリを目指す
主要機能と仕組み
- ショートカットキーで録音開始/停止(Push-to-talkモードあり)
- 録音中に話すだけでテキスト化
- WhisperやParakeet V3など多様な音声認識モデル選択
- Whisper:GPUアクセラレーション対応
- Parakeet V3:CPU最適化、言語自動判別
- **VAD(Voice Activity Detection)**による無音区間の自動除去
- ローカル処理のみでプライバシー保護を徹底
- Windows、macOS、Linux対応
インストールと初期設定
- 公式リリースページまたはWebサイトから最新版をダウンロード
- プラットフォーム別の手順でインストール
- マイク・アクセシビリティ権限を付与
- 設定画面でショートカットキーをカスタマイズ
- すぐに音声認識を利用開始
アーキテクチャ
- フロントエンド:React + TypeScript + Tailwind CSS
- バックエンド:Rust(システム統合・音声処理・ML推論)
- 主要ライブラリ
- whisper-rs:Whisperモデルによる音声認識
- transcription-rs:ParakeetモデルによるCPU最適化音声認識
- cpal:クロスプラットフォーム音声I/O
- vad-rs:音声活動検出
- rdev:グローバルショートカット・システムイベント
- rubato:音声リサンプリング
デバッグモード
- 高度なデバッグモード搭載
- macOS:Cmd+Shift+D
- Windows/Linux:Ctrl+Shift+D
既知の問題・制限事項
- Whisperモデルのクラッシュ(一部Windows/Linux環境で発生、要デバッグ協力)
- Waylandサポート(Linux):限定的、wtypeまたはdotoolのインストール推奨
- Linuxでの入力補助ツール
- X11:xdotool推奨
- Wayland:wtypeまたはdotool推奨(inputグループへのユーザー追加が必要)
- 録音オーバーレイ:Linuxでは一部コンポジタで貼り付け失敗の可能性
- 環境変数WEBKIT_DISABLE_DMABUF_RENDERER=1で一部問題回避可
- グローバルショートカットは外部ツールからも制御可能(SIGUSR2シグナル送信)
プラットフォーム・システム要件
- 対応OS
- macOS(Intel/Apple Silicon)
- Windows x64
- Linux x64
- 推奨要件
- Whisperモデル:MシリーズMac、Intel/AMD/NVIDIA GPU、Ubuntu 22.04/24.04
- Parakeet V3モデル:Intel Skylake(第6世代)以上、CPUのみで動作
今後のロードマップ・開発中機能
- デバッグログのファイル出力
- macOS向けキーボード改善(Globeキー対応、ショートカット処理の再設計)
- オプトイン型匿名利用統計(プライバシー重視で明確な設定可)
- 設定システムのリファクタリング
- Tauriコマンドパターンの整理・型安全化検討
オフラインモデル手動インストール手順
- ネットワーク制限環境向けの手動導入
- アプリデータディレクトリの特定(設定→About、またはデバッグメニュー)
- macOS: ~/Library/Application Support/com.pais.handy/
- Windows: C:\Users{username}\AppData\Roaming\com.pais.handy\
- Linux: ~/.config/com.pais.handy/
- modelsフォルダ作成
- モデルファイルを公式URLからダウンロードし配置
- Whisperモデル(.binファイル):そのままmodels直下に配置
- Parakeetモデル(.tar.gzアーカイブ):解凍し、規定ディレクトリ名でmodels直下に配置
- Handy再起動で認識、設定画面からモデル選択
- ファイル名・ディレクトリ名は厳密に指定通り
- アプリデータディレクトリの特定(設定→About、またはデバッグメニュー)
コントリビューション方法
- GitHub Issue(github.com/cjpais/Handy/issues)で課題確認
- リポジトリをフォークし、フィーチャーブランチ作成
- 対象プラットフォームで十分なテスト
- プルリクエスト提出(変更内容の明確な説明必須)
- ディスカッション参加・連絡先:contact@handy.computer
関連プロジェクト・ライセンス・謝辞
- Handy CLI:Python製コマンドライン版
- handy.computer:公式サイト(デモ・ドキュメント)
- MITライセンス採用
- 主要技術・プロジェクト協力
- Whisper by OpenAI
- whisper.cpp / ggml
- Silero
- Tauri
- コミュニティコントリビューター
「完璧な音声認識アプリを探す旅はここで終了。Handyは“あなた仕様”に作り変えられるから。」