LoginSignup
3
6

More than 5 years have passed since last update.

iOS/Androidの音声操作について+最小実装方法

Last updated at Posted at 2019-02-08

冒頭

仕事でiOS/Androidアプリの音声操作について調査することになったのでまとめることにした。(まだ調査中)

スマートスピーカーで音声操作が徐々に普及してきて、スマホでもそれを実現するためのツールが揃ってきた。

各社が対応していく中で対応しないわけにもいかないので調査、という流れ。

各社対応

MoneyFoward
Freee

比較表

下記のツールを使えば実現できる

iOS Andorid
ロック中 SiriKit ?
アプリ起動中 SFSpeechRecognizer SpeechRecognizer

両OSを開発しているとUI/UXの統一性の問題で使えるツールに制約が出てくる。

SiriKit

iOS12の目玉ツールで、Shortcutにも登録可能。
色々試している途中だが、簡単に実現させたいならまずは下記参照で。
方法は2通りあって、
- NSUserActivity
- Intent
のどちらかで実現できるらしい。(Intentだけしか試していない)

GitHub Sample Code

?(Android)

Google Assistant

Google Assistantを使おうとしたが、Googleサービスしか利用できなさそうだった。
しかもロック中に使えるかどうかは端末によりけり。(参考

ちなみにGoogle Assistantについてはこちら
これを見るとNetflixとかサードパーティー製アプリが呼び出されてるんだけど特別なのかな?
と思ったが、調べると「Actions on Google」ってプラットフォームを使えばいいらしい。(参考
ただ、制約上できるのかどうか。。。
特に何も実装しなくても「〇〇アプリを開いて」と言えば、候補を出してくれる(但し、候補をタッチしないといけない)
参考

IFTTT

対応させたいサービスがIFTTTに登録されていればIFTTT経由で連携可能かもしれないが、
IFTTTには対応していないのでこのやり方は不可。

SFSpeechRecognizer

サンプルがあまり見つからなかったが最小構成の丁度良い記事を見つけた
簡単に実装できたのでまずは試してみるのにおすすめ
Swiftでリアルタイム音声認識するための最小コード

環境は
- Macbook Pro 2018 (10.14)
- Xcode (10.1)

SpeechRecognizer

下記サンプルコードで実装できた

SpeechRecognizerで「メリークリスマス」を音声認識してみよう

環境は
- Macbook Pro 2018 (10.14)
- Android Studio

まとめ

アプリ内であれば簡単に音声操作させることが可能だと分かった

宿題

Androidのロック中操作方法調べる

その他参考文献

SiriKit
SFSpeechRecognizer
SpeechRecognizer

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6