Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
たぶん世界初…?Google Assistant搭載〇〇〇を作ってみた
Search
田中みそ
June 26, 2018
Programming
2k
3
Share
たぶん世界初…?Google Assistant搭載〇〇〇を作ってみた
「スマートスピーカーを遊びたおす会」で発表したスライドです。
■デモ動画
https://youtu.be/nQVJRvZ0TEE
田中みそ
June 26, 2018
More Decks by 田中みそ
See All by 田中みそ
アレをアレに完全に埋め込むアレを作ってみた
miso
0
210
アレをアレに埋め込むアレを作ってみた
miso
0
140
プラレールのめちゃくちゃ良く折れるアレをできる限り手抜きして3Dプリンターでなんとかしようとした
miso
0
110
子どもの写真からデフォルメフィギュアを作ってみた
miso
1
1.1k
LINE x IoT 入門ハンズオン
miso
0
320
M5ATOMでNintendo Switchを自動化してみた
miso
0
720
ngrokを使ったLINE Bot開発を超絶楽ちんにする「linegrok」のご紹介
miso
0
500
opnizのご紹介
miso
0
910
ルービックキューブスクランブラーが欲しかったので作ってみた
miso
0
1k
Other Decks in Programming
See All in Programming
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
Claspは野良GASの夢をみるか
takter00
0
160
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
3.2k
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
470
Modding RubyKaigi for Myself
yui_knk
0
880
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.4k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
490
Webフレームワークの ベンチマークについて
yusukebe
0
100
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
170
net-httpのHTTP/2対応について
naruse
0
440
Featured
See All Featured
A better future with KSS
kneath
240
18k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
310
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
830
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
WCS-LA-2024
lcolladotor
0
620
Faster Mobile Websites
deanohume
310
31k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Transcript
たぶん世界初…? Google Assistant搭載 〇〇〇を作ってみた 田中 みそ (田中 大樹)
自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook:
田中みそ GitHub: miso-develop
自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook:
田中みそ GitHub: miso-develop
リリースしたアプリ/スキル クロマチックチューナー(Google Assistant/Alexa) 指定の音の正弦波を流す楽器のチューニングアプリ 相対音感クイズ(Google Assistant/Alexa)
Cの次に鳴るコードが何のコードか当てるクイズアプリ マルバツゲーム(Alexa) まんまマルバツゲームのスキル ギタースケール辞典(Alexa) 知りたいギタースケールをキーと一緒に話しかけると スケール音を教えてくれるスキル
None
Google Homeでつくるスマートホーム
None
もっと自分に合ったスマートスピーカーが あるんじゃないか…?
Google Assistant搭載 バナナパンツ
つくりかた(ハードウェア)
つくりかた(ハードウェア) バナナパンツ … 1,382円 Raspberry Pi Zero W
… 1,296円 スピーカー(Speaker pHAT) … 1,566円 マイク(USB) … 145円 モバイルバッテリー … 1,399円 SDカード … 618円 ケーブル、コネクタ … 約1,000円 合計 … 約7,406円 いるもの
Raspberry Pi Zero W Speaker pHAT モバイルバッテリー micro SD USBマイク
USB L字変換コネクタ USBケーブル USB延長ケーブル
None
None
None
None
完 成
つくりかた(ソフトウェア)
つくりかた(ソフトウェア) Google Assistant SDK Google Assistant Library
Google Assistant Service ラズパイZeroは Library非対応 ServiceはgRPCが使えれば どの言語でもOK (主要言語は大体対応) Serviceはウェイクワード が使えない…!
つくりかた(ソフトウェア) Snowboy 好きなウェイクワードを登録して使えるサービス 様々なプログラミング言語に対応
つくりかた(ソフトウェア) Snowboyでウェイクワードを検出 「OK バナナ」 ↓ Google Assistantをマイクオープン
それぞれNode.jsパッケージを使用して実装 snowboy https://github.com/kitt-ai/snowboy google-assistant https://github.com/endoplasmic/google-assistant
つくりかた(ソフトウェア) Snowboy Webページからオリジナルウェイクワードを登録し、 定義ファイルをDLして参照 感度やマイク音量を変数でいじれるので調整 ウェイクワード検知でGoogle
Assistantを マイクオープンさせる
Google Assistant SDK GCPコンソールでGoogle Assistant SDKを 有効化し、認証ファイルをDLして参照
初回起動時に接続アカウント指定 Google Assistantの音声検知イベントを拾って ローカルコマンドを実行 つくりかた(ソフトウェア)
つくりかた(ソフトウェア) ハマりどこ 突然マイクが死ぬ 録音デバイスの優先順位定義configを作成 突然Speaker pHATのLEDが死ぬ
↑の定義configを削除すると直る マイクは何故か再び死ぬことはなかった google-assistantが、ラズパイZeroじゃ スペックが低いっぽくて動かない Issueでも上がっててプルリクまで投げられてるけど マージされてない修正を適用したらとりあえずいけた
性能評価
性能評価 マイク Snowboyは感度調節できるけど認識がイマイチ… タイピング音に良く反応する Google Assistantの認識は本家と遜色ない
スピーカー 音量はわりと出る バナナパンツとしては十分 音質は見た目通りな感じ 音楽聴くには微妙だけど、音声のやりとりには十分
性能評価
性能評価 動作(速度、安定性) 反応はそこそこ遅い 所詮バナナ 応答の音声再生が不安定
改善の余地はありそうだけど反応速度と トレードオフっぽいかも
Google Assistant性能 天気とかは普通に聞ける ピカチュウトークは利用できない 「使用中のアカウントではピカチュウを利用できません」
バナナパンツとしては妥当 自作アプリや個人リリースのアプリは普通に使える IFTTT連携も問題なし 性能評価
性能評価 消費電力(稼働時間) 待機時: 約0.61Wh(約120mAh) 音楽再生時: 約1.02Wh(約200mAh)
ピーク時: 約1.53Wh(約300mAh)
性能評価 消費電力(稼働時間) 待機時: 約0.61Wh(約120mAh) 音楽再生時: 約1.02Wh(約200mAh)
ピーク時: 約1.53Wh(約300mAh) 今回使用したモバイルバッテリーの容量は6700mA 待機状態を単純計算で56時間稼働 実際はロスが発生し一般的なモバイルバッテリーのロス率は4割ほどらしい となると33.6時間ほど 丸一日は持ちそう 一ヶ月ノンストップ稼働した場合の電気代は20円~25円ほど
課題 音声出力動作の安定化 音声データの通信、復元部をいじってみる LEDをカラフルにチカチカさせたい Speaker pHATはカッコイイけどGPIO全部埋まっちゃう
Speaker pHATをやめてスピーカー部を自分で実装 マイク感度を改善 USBマイクじゃなくてGPIO実装 小型化 ついでに電源もGPIO給電にすればもっと小型化できそう
さいごに ウェアラブル音声アシストって案外いいですね 1部屋1台 → 1人1台 場所にとらわれない
今あるもの ヘッドフォン 音楽聴く時以外も着けてるのはきつい 首掛けスピーカー いい感じっぽいけど、常に着けてる感はなさそう スマートウォッチ やっぱこれが本命
おわり ご清聴ありがとうございました