Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
人気商品が「ちゃんと買える」をつくる ー ECの負荷改善
ykagano
1
260
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
900
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
1.4k
決済システムの信頼性を支える技術と運用の実践
ykagano
1
1.4k
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
1
2.4k
プレイングマネージャーになったときの話
ykagano
2
1.5k
WEBエンジニアが知っておきたい決済の仕組み
ykagano
3
3.9k
プロジェクトにおけるリーダブルコードの考え方
ykagano
2
2.2k
開発効率を上げるSwaggerの話
ykagano
0
1.5k
Other Decks in Programming
See All in Programming
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
270
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
450
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.7k
setup-vp GitLab対応の裏側
naokihaba
0
120
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
280
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
380
Jetpack Compose メカニズム
skydoves
0
460
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
What We Talk About When We Talk About XP
m_seki
2
670
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
190
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
110
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
760
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
520
Scaling GitHub
holman
464
140k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
340
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
280
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
280
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
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