MacOSで音声入力コマンドを自作する

みなさん、こんにちは。
最近やっと涼しくなって来ましたね。急な気温の変化で体調を崩さないよう気をつけましょう、渋谷です。
今回はMac OSの音声入力コマンドを自作してみます。
何をさせるか悩んだのですが、Google Chromeをシークレットモードで立ち上げるコマンドを作成していきます。
設定
- システム環境設定->キーボード->音声入力の音声入力をオンにする。
- システム環境設定->音声入力->音声入力コマンドの高度なコマンドを有効にするにチェックをつける。
AutomatorにAppleScriptを書く
Automatorとは
Automator は、簡単に作業を効率化できるパーソナル自動化アシスタントです。Automator を使えば、単純なドラッグアンドドロップ操作で「自動化レシピ」を作成し、実行できます。自動化レシピは、単純なタスクも複雑なタスクも、必要なときに必要な場所で実行してくれます。
出典:Mac 101:Automator
簡単に言うと、Macに入っている単純な作業を自動化してくれるツールです。
AppleScriptとは
AppleScript(アップルスクリプト)は、アップルが開発したClassic Mac OS/macOS用のオブジェクト指向のスクリプト言語。System 7(Mac OS 7にあたる)から採用されている。
標準環境で利用でき、ある程度自然言語(英語)に似た構文を持つ。制御構文、ハンドラや変数、オブジェクトやプロパティの記述といったプログラミングの基本機能を言語に備えており、Mac OSのプロセス間通信機能の一つであるApple eventによって、システムや様々な対応アプリケーションにまたがって制御できる。
出典:AppleScript
今回はAutomatorで起動させるスクリプトを書いていきます。
実装
- Spotlight検索でAutomatorを検索し、起動する。
- 下記画像のような画面が表示されるので、音声入力コマンドを選択する。
- ライブラリ/ユーティリティ/AppleScriptを実行 をダブルクリックするとワークフローにAppleScriptのエディタが表示されるので、そこにGoogle Chromeをシークレットモードで起動するコードをコーディングし、再生ボタンでテスト実行する。
-- 開くURLを指定する
set open_url to "https://blog.fox-hound.tech/"
-- Google Chromeを開く
tell application "Google Chrome"
-- シークレットモードで開く
set secretWindow to make new window with properties {mode:"incognito"}
tell secretWindow
-- 開くURLを指定しする
set newTab to make new tab with properties {URL:open_url}
end tell
end tell
- テスト実行が正常に動作したら、音声入力コマンドにスクリプトを実行させるワードを設定し、コマンド有効にチェクを入れる。今回はテックというワードで実行させる。
- 保存する。保存時に、音声入力コマンドの名前を入力する欄が表示されるので、好きな名前で保存する。
保存したコマンドは<ユーザーディレクトリ>/Library/Speech/Speakable Items/
に保存される。
実行
fnキーを2回押して音声入力を起動し、はっきりと テック と言ってみると、Google Chromeがシークレットモードで起動し、FOXHOUND Techのページが開かれます。
まとめ
そういえばmacには音声入力があるのに使ったことがなかったので、なんとかして使ってみたいと思いこの記事を書くに至りました。
AppleScriptを書くのは初めてでしたが、英語の構文のように書けると感じました。また、AutomatorはAppleScriptではなくJavaScriptでも書けるようなので、興味のある方は実装してみて下さい。