MacでAndroid風OK Googleで音声検索起動

Mac

2016年4月に「今の10代からしたら上の年齢層はなんで音声入力使わないのか不思議」という意味合いのツイートが話題になりました。現時点では極端な意見だとは思いますが、もしかしたら近い将来に主流の考えになるのかもと感じました。

このところ音声認識の性能は急速に進歩しており、音声アシスタントソフトウェアの分野では Apple (Siri), Google (Now), Microsoft (Cortana), Amazon (Echo) の熾烈な戦いが繰り広げられています。

音声入力の存在感が日増しに高まっている昨今ですが、いかがお過ごしでしょうか。

Mac でも Web の音声検索がしたい。スマホみたいに。

iOS では「Hey Siri」と話して Siri を呼び出すことができます。Android では「OK Google」と話して音声操作を始めることができます。いずれも音声入力から直接 Web 検索をすることが可能です。

これらの方法からでなくとも、音声による Web 検索は、特にスマホやタブレットにおいては大変便利なので使っている方も多いかと思います。

パソコンではハードウェアキーボードで検索語句を入力して検索するのが一般的ですが、スマホやタブレットでの音声検索の楽ちんな操作感を知ってしまうと、パソコンでも音声検索したいと思ってしまいます。

現状どんな方法があるのか

そこでどうすればパソコンで音声検索ができるのか調べてみました。

Windows 10 の音声アシスタント「Cortana」からは Web 検索が可能です。しかし OS X El Capitan では標準の音声入力から直接 Web 検索することができません。

2016年5月現在、 OS X で Web を音声検索する通常の方法は、 Google Chrome で Google 検索のサイトを開き、マイクアイコンをクリックして Google 音声検索を開始するというものです。

(マイクアイコンをクリックする操作は以前は「OK Google」と呼びかけることで代替できましたが、この機能は2015年10月に利用者が少ないという理由で削除されてしまいました

この手順を毎回手動でやるとなるととても面倒で、簡単で楽という音声検索のメリットが損なわれてしまいます。

「OK Google」で検索できるようにしてみた

そこで、いつでもどこからでも OS X 標準の音声入力に「OK Google」と呼びかけることで Google 音声入力を起動する設定方法を考案しましたのでご紹介します。

前提となる環境は以下の通りです。

  • Mac
    • 手元では OS X Yosemite で動作しました。El Capitan でも動くと思います。
  • マイク
    • MacBook 内蔵マイクでもOK
  • Google Chrome
  • BetterTouchTool

設定の概略は以下の通りです。

  • OS X の音声入力を有効化する
  • BetterTouchTool で、 Google サイトを開き、読み込み完了まで数秒待ち、Ctrl + Shift + .(ピリオド)を入力するという一連の動作をするグローバルショートカットキーを作成する
  • アクセシビリティの音声入力で、「オーケーグーグル」というキーワードで上記グローバルショートカットを入力するユーザコマンドを作成する

これで、OS X 標準の音声入力に「OK Google(オーケーグーグル)」と話して数秒待つと、 Google Chrome でGoogle 音声検索が起動し、音声入力待ち状態になります。そこで検索語句を音声入力することで Google 音声検索ができます。

設定手順の詳細説明

設定手順を順を追って説明します。

マイクの準備

マイクがあれば Mac に接続してください。MacBook の内蔵マイクでもOKですが、IP電話用ヘッドセットなどの外部マイクがあればより音声入力しやすいと思います。iPhone 付属品のイヤホン EarPods にはマイクが付いており音声入力に十分使えるのでおすすめです。

音声入力の有効化

こちらのページを参考に音声入力を「入」にしてください。「拡張音声入力を使用」にチェックを入れてください。後述のユーザコマンド定義のために必要です。それなりのサイズのデータダウンロードが必要になります。

これで、音声入力を開始するショートカット(デフォルトでは Fn キーを2回押す)を入力することで音声入力の開始と停止を切り替えできるようになります。

テキストエディットなどのテキストエディタで音声入力を試して動作確認してみてください。

ブラウザの準備

Google Chrome がインストールされていない場合はインストールしてください。デフォルトのブラウザでない場合はデフォルトのブラウザに設定してください。ブラウザの機能で Google 音声検索が可能なのは Google Chrome のみです。手順の仕組み上デフォルトのブラウザである必要があります。

BetterTouchTool のインストール

BetterTouchTool は非常に強力なショートカットキー割り当てツールです。Apple のセキュリティ基準の関係で App Store に置かれていないですが、この分野では長い間定番のアプリであり、有料化したという点からも一定の信頼がおけるものであると考えています。

インストールしていない場合は、こちらのサイトで BetterTouchTool をダウンロードしインストールしてください。

2016年1月に有料化されましたが無料試用可能です。ライセンス入手する場合は BTT Remote (iOSアプリ)のアドオン購入による方法がおすすめです。

BetterTouchTool でのショートカットキー作成

  1. Gestures ボタンを押し Keyboard タブを選択
  2. 左ペインの Select Application で Global (地球アイコン)を選択
  3. 右下の + Add New Shortcut をクリック
  4. Keyboard Shortcut の空欄をクリックしてから、任意のショートカットキーを決めて押下して設定
    • Google 音声認識をグローバルショートカットで呼び出す場合のショートカットキーになります。いつでもどこでも使えるグローバルショートカットキーとして定義するので、OS もどのアプリも使ってなさそうなショートカットキーを割り当てるのが望ましいですが、いつでも変更可能なので、とりあえずは適当なキーコンビネーションを設定して、何かのアプリでショートカットキーが被って困ったら変更したらいいと思います。僕はShift+Cmd+gにしました。
  5. Trigger Predefined Action をクリックして Open URL / Open URL With Selection を検索・選択し、フォームに https://www.google.co.jp を入力
  6. Attach Additional Action をクリック
  7. Trigger Predefined Action をクリックして Delay Next Action を検索・選択し、スライダーで遅延時間を設定
    • 時間を長めにするほど動作が不発になる可能性が下がりますが、音声検索が起動するまでの時間が長くなります。僕は5秒程度にしました。
  8. Attach Additional Action をクリック
  9. Trigger Other Keyboard Shortcut の空欄をクリックし、 Shift + Ctrl + .(ピリオド)を押下して設定
    • これは Google 検索サイトで音声検索を開始するショートカットキーです。
  10. Trigger Predefined Action をクリックして Send Shortcut to Specific App を検索・選択し、アプリ選択欄をクリックして Google Chrome.app を選択
  11. Bring app to front before sending the shortcut のチェックボックスをチェック

以上で BetterTouchTool 側の設定は完了です。

OS X 標準音声入力のユーザコマンド作成

BetterTouchTool で作成したショートカットを音声入力で呼び出すための設定を行います。

  1. システム環境設定のアクセシビリティを開き、左ペイン内を下にスクロールして「音声入力」を選択
  2. 「音声入力コマンド...」ボタンをクリック
    • 画像はOS X Yosemite のものなのでそうなっていないですが、OS X El Capitan では、「音声入力コマンド...」ボタンの下部に「次のキーワードで音声入力を有効にする」というチェックボックスがあります。これを有効にすると、音声入力を開始していなくても指定したキーワードに続けて音声入力コマンドを発声することで直接音声入力コマンドの実行ができます。つまり、音声入力が待受状態かどうかを気にすることなく、真の意味でいつでも音声だけで Google 音声検索の起動が可能になります。El Capitan を使ってらっしゃる方はぜひ有効にすることをおすすめします。
  3. 左下の「高度なコマンドを有効にする」にチェックを入れ、+ボタンをクリック
  4. 「音声コマンド」に「オーケーグーグル」と入力
    • 音声コマンドはここで任意に設定できるので、あえて「ヘイシリ」とすることもできます。
  5. 「対象」は「すべてのアプリケーション」のままで
    • これでどこでも入力可能な音声コマンドになります。
  6. 「実施動作」のプルダウンメニューで「キーボードショートカット...」を選択し、キー入力待ちになるので、BetterTouchTool でショートカットを作成した際に決めたショートカットキーを入力

「完了」ボタンを押してウィンドウを閉じてください。

以上で設定は全て完了です。

使い方

いつでも、何のアプリを開いている時でもこの音声コマンドは使用可能です。

  1. 音声入力が開始されていない場合は開始してください。デフォルトでは Fn キーを2回押すと音声入力が開始され、マイクアイコンが表示されます。
  2. 「OK Google(オーケーグーグル)」とカタカナ読みで発声してください。

(OS X El Capitan でアクセシビリティの「次のキーワードで音声入力を有効にする」をチェックしている場合は、音声入力が待受状態でなくても直接「(キーワード) OK Google(オーケーグーグル)」と続けて発声すればよいです)

うまくいけば、Google Chrome で Google 検索ページが開き、数秒後に音声の入力待ち状態になるはずです。

「OK Google」ではなくキーボードショートカットで呼び出したい場合は、BetterTouchTool でショートカットを作成した際に決めたショートカットキーを使えば呼び出せます。

既に Google Chrome の Google 検索ページを開いている状況でなら、Shift + Ctrl + .(ピリオド)を押すことで即座に音声検索を起動できます。

備考

OS X 標準の音声入力は開始するまでに少々時間がかかりますし、音声入力の前に毎回キーボード入力が必要というのも微妙なので、一度開始したら音声入力をした後も停止せずに音声入力を動作させ続ける形での利用がおすすめです。数十分〜数時間ほどで自動的にオフになるようですが、しばらくは待受状態を維持可能です。

「OK Google」と話しかけた際に Google Chrome の Google 検索ページが開いたけれど音声検索が起動しないという場合は、BetterTouchToolで設定したショートカットの途中の Delay Next Action の設定時間が短すぎる可能性があるので長くしてみてください。

Google 検索ページの読み込み完了を決め打ちのタイマーで待つという方法は不安定でカッコ悪いと自覚していますが、ちゃんと読み込み完了を待つ方法を思いつかず断念しています。うまい方法をご存じでしたらご教示下さい。

まとめ

BetterTouchTool と OS X の設定を組み合わせることで、Mac でも音声で Web の音声検索を起動することが可能になりました。

ちなみに、OS X の次期バージョンで Siri が搭載されるのではと噂されています。

OS X に Siri が搭載されればこんなことをする必要はなくなるだろうと思いますが、それまでの間のつなぎとしてでも役に立てばと思います。

コメント