タクシーを呼ぼうとしてこんなことを言われるかも!?(注:あくまでイメージです)

Googleが提案するスマートウォッチのプラットフォーム「Android Wear」では、利用者からの命令を音声コマンドで受け付けることができます。一部の音声コマンドはGoogle NowやGoogle マップなどのGoogleサービスだけでなく、サードパーティが提供するAndroid Wearアプリでも使えるようになっています。

そこで、今回の連載「スマホのちょっと深いとこ」では、Android Wearアプリの簡単なサンプルを用いて、音声コマンドのいろいろを試してみました。Googleが思い描くウェアラブルデバイスの未来が垣間見えるかもしれません。

【公開されている音声コマンドの仕様】

Android Wearスマートウォッチは内部的にはAndroid 4.4が動いており、スマートフォン同様サードパーティが提供するAndroid Wearアプリをインストールして使うことができます。インストールされたAndroid Wearアプリは、スマートウォッチの「開始」メニューから起動するほか、以下のような音声コマンドにより起動することができるようになっています。

機能 英語コマンド例 日本語コマンド例 取得できる情報
タクシーを呼ぶ "OK Google, get me a taxi" 「オーケーグーグル タクシーを呼ぶ」 なし
メモを入力 "OK Google, take a note" 「オーケーグーグル メモを入力」 メモの内容
アラームを設定 "OK Google, set an alarm for 8 AM" 「オーケーグーグル アラームを設定 朝9時半」 アラームの時刻
タイマーを設定 "Ok Google, set a timer for 10 minutes" 「オーケーグーグル タイマーを設定 10分」 タイマーの時間
自転車を開始・終了 "OK Google, start cycling" ※1 開始または終了の情報
ランニングを開始・終了 "OK Google, track my run" ※1 開始または終了の情報
運動を開始・終了 "OK Google, start a workout" ※1 開始または終了の情報
心拍計を表示 "OK Google, what’s my heart rate?" ※2 なし
歩数計を表示 "OK Google, how many steps have I taken?" 「オーケーグーグル 歩数計を表示」 なし

※1は日本語コマンドが不明、※2は今回使用したLG G Watchが心拍計機能を持っていないので試せませんでした。

これらの音声コマンドは、Android Wearアプリの設定ファイルに記述を追加するだけで、アプリで利用することができます(*1)(*2)

*1: (開発者向け説明)AndroidManifest.xmlのActivity定義に、各音声コマンドに対応するIntent Filter定義を追加することで音声コマンド対応を行います。音声コマンドに付随する情報はIntentのExtraから取得します。Intent FilterやExtraの仕様はGoogleのドキュメントに記述されています。

*2: (開発者向け説明)今回紹介した音声コマンドのほか、名前を指定して任意のActivityを起動させるコマンドや、Android Wearアプリから利用できるフリーテキストの音声認識コマンドがありますが、本記事では詳しく触れません。これらの詳細はGoogleのドキュメントを参照してください。

【サンプルアプリで音声コマンドを試してみる】

これらの音声コマンドを、実際にサンプルアプリを作って試してみました。「タクシーを呼ぶ」や「歩数計を表示」といった音声を入力するとそれをコマンドとして識別して、対応する処理を行わせることができます。今回は単純にメッセージを出し分けているだけですが、スマートフォンアプリやネットワーク上のサーバーと連携して処理を作りこめば、本当にタクシーを呼べるAndroid Wearアプリを作ることができるでしょう。

android_wear_voice_001
「タクシーを呼ぶ」の音声コマンドに反応させる例
android_wear_voice_002
「歩数計を表示」の音声コマンド。同じアプリの同じ画面でも、コマンドの種類によって挙動を変えることができる。

アラームやタイマーでは、音声で入力された「明日の朝9時半」や「10分」といった設定値を解釈してアプリが取得できます。こちらも実際にアラームやタイマーの処理を作って動作させることが可能でしょう。

android_wear_voice_003
音声で指定したアラーム時刻は数値としてアプリが取得できる
android_wear_voice_004
「10分」と音声指定した場合、アプリでは600秒と取得できる

なお今回使用したサンプルアプリはGitHubでソースコードを公開しています。音声コマンドに反応させるための最低限の実装が行われていますので、よろしければ参考にしてみてください。

【音声コマンドの拡張に期待】

現状定義されている音声コマンドを見ていると、フィットネス関連コマンドやタクシーを呼ぶコマンドなど、Googleがスマートウォッチをどのように使わせたいのかがなんとなく見えてきます。とはいえスマートウォッチの世界は始まったばかり。今Googleが考えている使い方がすべてではないはずです。今後もっと便利で思いがけない音声コマンドが登場して、新しい利用シーンを提案していくことを強く期待したいところです。


■関連リンク
エスマックス(S-MAX)
エスマックス(S-MAX) smaxjp on Twitter
S-MAX - Facebookページ
Adding Voice Capabilities(Android Developers)
サンプルコード(GitHub)
連載『吉川英一の「スマホのちょっと深いとこ」』記事一覧 - S-MAX
今日の気分はバリいくつ?