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
購入ドメインでの課題と取り組み
ykagano
0
32
人気商品が「ちゃんと買える」をつくる ー ECの負荷改善
ykagano
1
290
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
930
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
1.4k
決済システムの信頼性を支える技術と運用の実践
ykagano
1
1.4k
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
1
2.4k
プレイングマネージャーになったときの話
ykagano
2
1.5k
WEBエンジニアが知っておきたい決済の仕組み
ykagano
3
4k
プロジェクトにおけるリーダブルコードの考え方
ykagano
2
2.2k
Other Decks in Programming
See All in Programming
Verilogで学ぶCPU自作入門.pdf
uyuki234
7
3.9k
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.7k
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
210
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
390
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
320
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
270
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
430
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
310
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
470
iOSDCのペンライトを自動制御したい!
akkeylab
0
350
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.5k
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
380
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
520
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Automating Front-end Workflow
addyosmani
1369
210k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Docker and Python
trallard
47
4.2k
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