VoiceInkのCustom Command:音声入力を貼り付けずにスクリプトへ渡す
著者 Ryleigh Newman · 公開日
Custom Command(カスタムコマンド)は、VoiceInkの出力モードのひとつです。貼り付けの代わりに、VoiceInkは音声入力が終わったテキストを、自分で書いたシェルコマンドに渡し、その結果はコマンドが決めます。メモへの追記、検索を開く、自作のスクリプトを呼ぶ、自分で動かしているサービスに送信する、といったことができます。VoiceInkがテキストに対してできることのなかで、いちばん柔軟な機能です。ただし、使い始める前に知っておくべき厳しい制限がいくつかあります。
私は別のMac用音声入力アプリ、YapToTextを作っています。VoiceInkについて書いた内容は、その点をふまえて読んでください。ここに書いたVoiceInkの事実はすべて、2026年10月10日に読んだ公式ドキュメントにもとづいています。
無料でダウンロードできます。アカウント不要で、機能の制限もありません。AppleシリコンのMac、macOS 14以降に対応しています。 ソースコードはGitHubにあります。
ほかの言語で読む: English, العربية, Čeština, Dansk, Deutsch, Ελληνικά, Español, Suomi, Français, עברית, हिन्दी, Magyar, Bahasa Indonesia, Italiano, 한국어, Norsk, Nederlands, Polski, Português, Română, Русский, Slovenčina, Svenska, ไทย, Türkçe, Українська, Tiếng Việt, 简体中文, 繁體中文
コマンドが受け取るもの
VoiceInkは、同じ最終テキストを2つの方法で渡します。標準入力と、変数 $VOICEINK_TRANSCRIPT です。テキストはUTF-8で、ドキュメントでは、空白、句読点、改行が壊れないように、この変数を引用符で囲むよう勧めています。
- AI Enhancementがオフの場合。 VoiceInkの書式設定と単語の置換が済んだあとの文字起こしです。
- AI Enhancementがオンで正常に動いた場合。 整形されたテキストです。
- AI Enhancementがスキップされたか失敗した場合。 加工されていない最終の文字起こしです。
コマンドが、音声、プロンプト、選択したテキスト、クリップボードのテキスト、画面のテキストを直接受け取ることはありません。文脈を結果に反映したい場合は、ドキュメントによると、プロンプトとContext Awarenessを使います。そうすれば、文脈はすでに最終テキストに入っています。
実行のされ方
VoiceInkのドキュメント Custom Commands より。2026年10月10日に読みました。
| 項目 | 動作 |
|---|---|
| シェル | /bin/zsh -lc |
| タイムアウト | 10秒。その後、VoiceInkがコマンドを停止する |
| 権限 | VoiceInkと同じmacOSユーザの権限 |
| レコーダー | コマンドの開始前に閉じられる |
| 成功 | 終了コード0。それ以外は失敗として扱われる |
| 出力 | 標準出力とエラーは診断用に保存され、アプリに貼り付けられることはない |
| 見つからないコマンド | VoiceInkはシェルのPATHを試す。失敗する場合は /opt/homebrew/bin/tool のようにフルパスを使う |
つまずきやすい制限
- 自動では何も貼り付けられません。 アプリにテキストがほしい場合は、コマンド自身がコピーまたは貼り付けを行う必要があります。
- 10秒で、確認の質問もできません。 コマンドは入力を待てません。長くかかる処理は、自分でバックグラウンドのプロセスを開始して、すぐに終了させてください。
- 保存された文字起こしは変わりません。 コマンドが出力した内容が書き戻されることはありません。
- Auto Sendは使えません。 Auto SendはPaste outputでのみ動作し、Custom Commandでは動作しません。
- ライブの音声入力のみです。 Transcribe fileのキューにあるファイルは、出力コマンドを実行せずに保存されます。
- 空のコマンドは使えません。 コマンドが空のModeは保存できません。
組み込みのテンプレート
VoiceInkのドキュメント Custom Commands より。2026年10月10日に読みました。
| テンプレート | 動作 |
|---|---|
| Paste and Press Tab | テキストをコピーして貼り付け、そのあとTabを押す |
| Lowercase and Paste | テキストを小文字にして、コピーし、貼り付ける |
| Remove Trailing Period and Paste | 最後のピリオドをひとつ取り除いてから貼り付ける |
| Append to Journal | ~/Documents/VoiceInk/journal.md にテキストを追加する |
| Search Web | テキストをウェブ検索で開く |
ドキュメントでは、テンプレートから始めて編集することを勧めています。いちばん簡単な例が2つあります。テキストをコピーする例と、メモに追記する例です。
printf "%s" "$VOICEINK_TRANSCRIPT" | pbcopymkdir -p "$HOME/Documents/VoiceInk"
printf -- "- %s\n" "$VOICEINK_TRANSCRIPT" >> "$HOME/Documents/VoiceInk/notes.md"動いたかどうかの確認
VoiceInkは、Custom Commandのあとに成功や失敗のメッセージを表示しません。ドキュメントには、直近10分間の配信ログを表示するTerminalのコマンドがあります。コマンドが成功したか、失敗したか、10秒を超えたかがわかります。
/usr/bin/log show --last 10m --style compact \
--predicate 'subsystem == "com.prakashjoshipax.voiceink" AND category == "TranscriptionDelivery"'ドキュメントは、このログに音声入力したテキストが含まれることがあると警告しています。また、コマンドがテキストをウェブサービスに送る場合は、そのサービスがテキストを受け取ります。VoiceInkは、設定されたものを実行するだけです。
YapToTextの場合
VoiceInkについてはドキュメントより、2026年10月10日に読みました。YapToTextについてはアプリ自身の設定にもとづいています。
| VoiceInk | YapToText | |
|---|---|---|
| テキストを渡してシェルコマンドを実行 | あり。Custom Commandの出力 | なし |
| カーソルの位置に貼り付け | Paste output | Paste。初期設定 |
| 代わりに入力する | このページには記載なし | Type character by character |
| クリップボードのみ | pbcopy のようなコマンドを使う | Copy to clipboard only |
| そのあとにキーを押す | Paste and Press Tabテンプレート | アプリごとに Return または Command Return |
| 入力前に確認する | このページには記載なし | Review before inserting。初期設定ではオフ |
音声入力で自分のスクリプトを動かしたいなら、VoiceInkのCustom Commandは、YapToTextにはない機能です。カーソルの位置に、周囲の言葉に合わせたテキストを入れたいなら、YapToTextが初期設定でそれを行い、スクリプトは必要ありません。出力モードを設定する場所はVoiceInkのModesのページで説明しています。モードを中心に作られたもうひとつのアプリとの比較は、VoiceInkとsuperwhisperの比較にあります。
無料でダウンロードできます。アカウント不要で、機能の制限もありません。AppleシリコンのMac、macOS 14以降に対応しています。 ソースコードはGitHubにあります。
まとめ
- 何か。 最終テキストを渡して、自分のシェルコマンドを実行する出力モードです。
- テキスト。 標準入力と $VOICEINK_TRANSCRIPT にあります。
- 制限。 10秒、入力なし、自動の貼り付けなし、ライブの音声入力のみです。
- デバッグ。 アプリにメッセージは出ません。上のTerminalコマンドでログを読みます。
- 始め方。 5つのテンプレートのどれかを編集します。
VoiceInkがCustom Commandの仕様を変えた場合は、GitHubでissueを作成してください(英語)。このページを更新します。すべて読んでいます。
無料でダウンロードできます。アカウント不要で、機能の制限もありません。AppleシリコンのMac、macOS 14以降に対応しています。 ソースコードはGitHubにあります。
ガイド
そのほかのガイド(英語)
出典
- https://tryvoiceink.com/docs/custom-commands (確認日 2026年10月10日)
- https://tryvoiceink.com/docs/mode-settings (確認日 2026年10月10日)
- https://github.com/ryleighnewman/YapToText (確認日 2026年10月10日)
- https://apps.apple.com/us/app/yaptotext/id6786382289 (確認日 2026年10月10日)
よくある質問
VoiceInkのCustom Commandとは何ですか
出力モードです。貼り付けの代わりに、VoiceInkが自分で書いたシェルコマンドを実行し、音声入力の最終テキストを渡します。
VoiceInkのCustom Commandはどうやってテキストを受け取りますか
UTF-8で、標準入力と変数 $VOICEINK_TRANSCRIPT に入ります。空白や改行を保つには、変数を引用符で囲みます。
VoiceInkのCustom Commandで何も貼り付けられなかったのはなぜですか
Custom Commandの出力は、自動では貼り付けを行いません。Paste and Press Tab テンプレートのように、コマンド自身がテキストをコピーまたは貼り付ける必要があります。
VoiceInkのCustom Commandは何秒まで実行できますか
10秒です。それを過ぎるとVoiceInkが停止します。長くかかる処理は、バックグラウンドのプロセスを開始してください。
YapToTextにはVoiceInkのようなカスタムコマンドがありますか
音声入力のあとにシェルコマンドを実行することはできません。カーソルの位置に貼り付けるか入力し、クリップボードへのコピーのみにも設定でき、テキストが入ったあとにReturnを押すこともできます。