音声入力をテキストに変換するツール。OpenAI Whisper APIを使用して高精度な音声認識を実現します。
- メニューバーアプリ: 設定したホットキーを押している間だけ録音(デフォルト: 左Control)
- CLI: 指定秒数の録音
- OpenAI Whisper APIによる音声→テキスト変換
- 変換したテキストをクリップボードにコピー&自動ペースト
- Python 3.13以上
- macOS(アクセシビリティ権限が必要)
- OpenAI APIキー
# リポジトリをクローン
git clone https://github.com/nibuno/voice-input-tool.git
cd voice-input-tool
# 依存関係をインストール(uvを使用)
uv sync
# または pip を使用
pip install -e ..env.example をコピーして .env を作成し、APIキーを設定します。
cp .env.example .env.env ファイルを編集:
OPENAI_API_KEY=sk-your-api-key-here
このツールを使用するには、以下の権限が必要です:
- マイク: システム設定 → プライバシーとセキュリティ → マイク
- アクセシビリティ: システム設定 → プライバシーとセキュリティ → アクセシビリティ(自動ペースト機能)
- 入力監視: システム設定 → プライバシーとセキュリティ → 入力監視(メニューバーアプリのホットキー検知)
仮想環境を有効化せずに、直接コマンドを実行できます:
# メニューバーアプリを起動
.venv/bin/voice-input-app
# CLIを起動
.venv/bin/voice-inputsource .venv/bin/activate
voice-input-app # または voice-input毎回パスを入力するのが手間な場合、シェルエイリアスを設定すると便利です。
~/.zshrc(または ~/.bashrc)に以下を追加:
alias voice="/path/to/voice-input-tool/.venv/bin/voice-input-app"設定後、ターミナルを再起動するか source ~/.zshrc を実行すると、voice コマンドで起動できます。
# 通常起動
.venv/bin/voice-input-app
# デバッグモード(詳細ログ出力)
.venv/bin/voice-input-app --debugvoice-input-app を起動すると:
- メニューバーに「Voice Input」が表示されます
- 設定したホットキー(デフォルト: 左Control)を押している間、録音されます
- キーを離すと、自動で文字起こし → ペーストされます
- メニューの「Hotkey」からホットキーを変更できます(設定は自動保存)
- メニューの「Input Device」から入力デバイスを固定できます(System Default でOSのデフォルトに戻ります)
- デバイスの抜き差し後は「Refresh Devices」で一覧を更新できます
- Toggleモードでは長時間録音を防ぐため、30秒で自動停止します(
max_recording_secondsで変更可能)
voice-input コマンドは指定した秒数だけ録音し、テキストに変換します。
# 基本的な使い方(5秒間録音)
.venv/bin/voice-input
# 録音時間を指定(例: 10秒)
.venv/bin/voice-input -d 10
# クリップボードにコピーのみ(ペーストしない)
.venv/bin/voice-input --no-paste| オプション | 説明 | デフォルト |
|---|---|---|
-d, --duration |
録音時間(秒) | 5.0 |
--no-paste |
自動ペーストを無効化 | false |
スタンドアロンの macOS アプリとしてビルドできます。
# PyInstaller をインストール
uv pip install pyinstaller
# ビルド実行
uv run pyinstaller VoiceInput.spec -yビルド後、dist/VoiceInput.app が作成されます。/Applications/ にコピーして使用できます。
詳細は docs/build.md を参照してください。
OpenAI Whisper APIの料金は$0.006/分です。月100分使用しても約$0.60と、非常に低コストで運用できます。