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
GWにスマートスピーカーアプリを作ってみた
Search
ykagano
May 18, 2018
Programming
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GWにスマートスピーカーアプリを作ってみた
WEBエンジニア勉強会#07 発表資料
ykagano
May 18, 2018
More Decks by ykagano
See All by ykagano
決済システムの信頼性を支える技術と運用の実践
ykagano
0
1.2k
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
1
2.3k
プレイングマネージャーになったときの話
ykagano
2
1.5k
WEBエンジニアが知っておきたい決済の仕組み
ykagano
2
3.9k
プロジェクトにおけるリーダブルコードの考え方
ykagano
2
2.2k
開発効率を上げるSwaggerの話
ykagano
0
1.5k
Other Decks in Programming
See All in Programming
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
470
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
210
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
130
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
120
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
300
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
250
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
5.5k
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
170
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
330
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
A Soul's Torment
seathinner
6
3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Utilizing Notion as your number one productivity tool
mfonobong
4
360
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The Limits of Empathy - UXLibs8
cassininazir
1
410
Git: the NoSQL Database
bkeepers
PRO
432
67k
Ruling the World: When Life Gets Gamed
codingconduct
0
280
Transcript
GWに スマートスピーカーアプリを 作ってみた @ykagano
1 ▪⾦融系のエンジニアです • SIerの会社 : 電⼦マネーシステムの受託開発 • 電⼦マネーの会社 : Web/スマホアプリ開発・企画
• Web系の会社 : 決済関連のWeb開発 イマココ 加賀野 祐@ykagano
2 そんなことより…… 2018年1⽉に娘が⽣まれました! 現在、4ヶ⽉です!
娘が泣き出すと抱っこします 3 そんなとき 抱っこしたまま操作できる スマートスピーカーが便利!
我が家のスマートスピーカー 4 ▪Google Home Mini ▪Amazon Echo ・⾳の良いスピーカーが欲しかった ・Amazon Musicが聴ける
・⾊んなスキル(アプリ)があると聞いて購⼊ ・まずお試しで買ってみた ・毎朝今⽇の天気を聞く ・ChromeCastと連携してYoutubeを操作
スマートスピーカーは 泣いている娘をあやしてくれない 5 ・LINEクローバーは童話を読んでくれる(クローバー持ってない) ・Google Homeは⾳楽の追加ができる(原曲が必要) ・alexaは購⼊したKindle本の読み上げができる(いい感じの童話ほしい) なので童話の読み上げアプリを GWに作ろうと思いました ・Amazon
Echoだけです
「⼦供向け童話」スキル 6 パブリックドメインの童話をアレクサが読み聞かせします ▪使い⽅ 「アレクサ、⼦供向け童話を開いて」でスキルを起動するとランダムで童話の読み 聞かせが始まります。 スキル起動後は以下の操作ができます。 ・「お話を聞かせて」でランダムに童話が聞けます。 ・「次へ」で次の童話が聞けます。 ・「前へ」で前の童話が聞けます。
・「最初から」で今の童話を最初から聞けます。 ・「おしまい」で童話が終了します。 ・「ヘルプ」で使い⽅を聞けます。
(⼀般的な)alexa スキルの作り⽅ 7 1. アカウントの作成(Amazon Developer、AWS) 2. スキルの設定と対話モデルの作成 3. AWS
Lambda関数の作成 4. スキルとLambdaの接続 5. alexaシミュレータによるテスト 最初はこのブログを読もう! ▪Alexaスキル開発トレーニング 6回シリーズのビデオとブログで基礎から学んでみよう https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill
「⼦供向け童話」のアーキテクチャ 8 ・alexaで対話モデルとスキルを設定 ・AWS Lambdaで実処理を定義 ・Amazon DynamoDBでデータ管理
amazon alexa 9 ▪ビルド ・対話モデルとスキルを設定 ・呼び出し名「⼦供向け童話」 ・エンドポイントでlambdaと紐付け ・インテントでハンドラと紐付け ▪テスト ・alexaシミュレータで対話型テスト
▪公開 ・作成したalexaスキルを審査に提出
⾳声ユーザーインターフェース 10 ▪ Alexaスキル開発トレーニングシリーズ 第3回 https://developer.amazon.com/ja/blogs/alexa/post/cddf2434-42ee-422f-886d-5be9c36dba14/jp-training-chapter3 起動 童話を再⽣ 次へ 前へ
最初から おしまい ヘルプ ランダム再⽣ ⼊⼒待ち 終了
AWS Lambda 11 FaaS(Fanction as a Service) ・実際に処理を⾏う関数を作る「FairyTaleSkill」 ・Alexa Skills
Kitから「FairyTaleSkill」関数を呼び出し ソースはこちら https://github.com/ykagano/fairy-tale
SSML 12 SSML(Speech Synthesis Markup Language) 間を置く、⼝調を変えるなど、⾳声伝達をより効果的に促すことができます。 ▪ Alexaスキル開発トレーニングシリーズ 番外編
https://developer.amazon.com/ja/blogs/alexa/post/ff4f8bf0-4c86-4c5f-9c50-467816b0a017/jptraining6plus 「⼦供向け童話」ではスピーチの読み上げ速度を80%に設定してます。 以下のように<speak>タグで囲んで使⽤する。 <speak> 今⽇の天気は晴れ、最⾼気温は25度です <break time="1s"/> <say-as interpret-as="interjection">イェイ</say-as> <break time="0.5s"/> 良い天気ですね </speak>
Amazon DynamoDB 13 「⼦供向け童話」での役割(3テーブル) ・セッション保存(RW) ・童話の最⼤件数の定義(R) ・童話データの取得(R)
AWS課⾦ 14 AWSはスモールサービスなら無料で運⽤できそう。 ▪Lambda ・100万リクエストまで無料 ・128MBのメモリ割り当て設定でコードを実⾏する場合、320万秒分が無料 ▪DynamoDB ・スループット最⼩テーブルのみであれば、25テーブルまで無料枠内 ・ストレージが25GBまで無料 ※いずれもAWSでよくある無料期間の12カ⽉制限はなし
alexaシミュレータ 15 ▪Amazon開発者ポータル https://developer.amazon.com/ja/alexa シミュレータで対話型のテストができます。 実際にやってみます。
alexaスキルの審査 16 alexaスキルの公開にはAmazonによる審査があります。 「⼦供向け童話」を審査に出そうとしたところで、 下記チェックボックスがありました。 お⼦様向けのalexaスキルは審査に通りません(気付くのが遅い)。 スキル名を「世界の昔話」に変えて申請してみたもののリジェクト。
最後に 17 簡単なalexaスキルはGWに 家族サービスしながら2⽇で作れる!
18