概要
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は“あなた仕様”に作り変えられるから。」