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
Amazon Echoのウェイクワードをカスタマイズする / Customize Amaz...
Search
mat
January 15, 2019
Programming
0
460
Amazon Echoのウェイクワードをカスタマイズする / Customize Amazon Echo Wake Word
【とらのあな主催】オタクが最新技術を追うライトニングトークイベント2回目
https://yumenosora.connpass.com/event/115364/
mat
January 15, 2019
Tweet
Share
More Decks by mat
See All by mat
プリキュアハッカソン4 成果発表 / cure_hack4
romiogaku
0
920
APIドキュメント標準化現状確認 / standard api document
romiogaku
0
13k
Other Decks in Programming
See All in Programming
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.3k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
280
組織で育むオブザーバビリティ
ryota_hnk
0
180
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
280
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
210
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
ぼくの開発環境2026
yuzneri
0
220
SourceGeneratorのススメ
htkym
0
200
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
230
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
700
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
A Tale of Four Properties
chriscoyier
162
24k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
The Cult of Friendly URLs
andyhume
79
6.8k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
340
Leo the Paperboy
mayatellez
4
1.4k
Context Engineering - Making Every Token Count
addyosmani
9
660
AI: The stuff that nobody shows you
jnunemaker
PRO
2
260
Navigating Weather and Climate Data
rabernat
0
110
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
Transcript
"NB[PO&DIPͷ ΣΠΫϫʔυΛΧελϚΠζ͢Δ NBU !SPNJPHBLV
λΠτϧΓͰ͢ ͝ΊΜͳ͍͞
ͱ͜ΖͰօ͞Μ
͖Ͱ͔͢ʁ
w ʮΞΠυϧ׆ಈʯΛςʔϚʹ ͨ͠ঁࣇ͚ίϯςϯπ w %$%ɺ57ΞχϝͰల։த w ݱࡏγϦʔζ࡞ʮΞΠΧπ ϑϨϯζʂʯ͕์өத
None
None
w ܶதϞόΠϧΞϓϦʮΞΠΧ πφϏʯͷΩϟϥΫλʔ w "*Ͱ͋Δ w ʮϋϩʔɺίίͪΌΜʯͱݺ ͼ͔͚ΔͱʮίίͩΑʂʯͱ ىಈ͢Δʢ$7ॾ͢ΈΕʣ w
͔Θ͍͍ ίίͪΌΜ
IUUQTCJUMZ'UK[ ʮίίͩΑʂʯ $7ॾ͢ΈΕ "MFYBɺΞΠΧπφϏ։͍ͯɺ ϋϩʔίίͪΌΜ ʮ͍ͬ͠ΐʹ"ŋ*ŋ,ŋ"ŋ5ŋ4ŋ6ʂʯNQ "MFYBɺΞΠΧπφϏ։͍ͯɺ Վͬͯ
Կ͔͕Γͳ͍ɾɾɾ
IUUQTCJUMZ'UK[ ʮίίͩΑʂʯ $7ॾ͢ΈΕ "MFYBɺΞΠΧπφϏ։͍ͯɺ ϋϩʔίίͪΌΜ ʮ͍ͬ͠ΐʹ"ŋ*ŋ,ŋ"ŋ5ŋ4ŋ6ʂʯNQ "MFYBɺΞΠΧπφϏ։͍ͯɺ Վͬͯ
ʮϋϩʔίίͪΌΜʯ ΛΣΠΫϫʔυʹ͍ͨ͠ʂ
None
None
"DUJPO#VUUPO
ͭ·Γ
"NB[PO&DIPͷ ΣΠΫϫʔυΛΧελϚΠζ͢Δ ʢཧʣ NBU !SPNJPHBLV
Ͳ͏ͬͯԡ͢ʁ
w 3BTQCFSSZ1J.PEFM# w ϥζύΠ༻ిݯ w 4%Χʔυ w 64#ϚΠΫ w
αʔϘϞʔλ
None
ԻೝࣝͲ͏͢Δʁ
ީิ +VMJVTʢϑϦʔͷԻೝࣝιϑτΣΞʣ Իೝࣝ"1*ʢ(PPHMFɺ.4͕ఏڙʣ 8FC4QFFDI"1*
+VMJVT w ຊମͱผʹԻڹϞσϧɾݴޠϞσϧ͕ೖͬͨجຊతͳσΟ ΫςʔγϣϯΩοτ͕͞Ε͍ͯΔ w σϑΥϧτͩͱೝࣝѱ͔ͬͨ w ೝࣝΛ্͛ΔͨΊʹಠࣗࣙॻ࡞ͬͯΈ͕ͨɺؔͳ ͍Իೝࣝ͞Εͯ͠·ͬͨ w
ͬͱྑ͍Γํ͕͋Δ͚ͣͩͲಓʹҳΕͦ͏ͩͬ ͨͷͰஅ೦
Իೝࣝ"1* w (PPHMFͷ$MPVE4QFFDIUP5FYU"1*Λࢼͨ͠ w ೝࣝਫ਼ߴ͍ w ࠷ॳແྉ͚ͩͲجຊతʹ͓͕͔͔ۚΔ w ৗ࣌ىಈͤ͞ΔͷͰ͙͢جຊ͑ͦ͏ɻஅ೦
8FC4QFFDI"1* w ϒϥβͰಈ࡞͢ΔʮԻ߹ʯͱʮԻೝࣝʯػೳ w ෦Ͱ(PPHMFͷԻೝ͕ࣝΘΕ͍ͯΔΒ͍͠ w ݱࡏ$ISPNFͷΈରԠ w (PPHMFͷσϞϖʔδ w
IUUQTXXXHPPHMFDPNDISPNFEFNPT TQFFDIIUNM
const recognition = new webkitSpeechRecognition(); recognition.continuous = true; recognition.lang =
"ja"; recognition.onresult = event => { for (let i = event.resultIndex; i < event.results.length; ++i) { if (event.results[i].isFinal) { const word = event.results[i][0].transcript; if (word === "ハローここちゃん") { // モーターを動かす為のなにかしらを行う } } } }; recognition.start();
αʔϘϞʔλΛϓϩάϥϜ͔Βಈ͔͢
w (PMBOHͰॻ͔ΕͨϩϘςΟΫεϑϨʔϜϫʔΫ w αʔόػೳ͕͋Γɺ"1*Խ͢Δ͜ͱ͕Ͱ͖Δ w ʮಛఆͷΤϯυϙΠϯτʹϦΫΤετ͕དྷͨΒαʔϘ ϞʔλΛಈ͔͢ʯͳΜͯ͜ͱ͕Ͱ͖Δ
adaptor := raspi.NewAdaptor() servo := gpio.NewServoDriver(adaptor, "12") //PWM0(18) work :=
func() { // 13 ~ 41 = 0度 ~ 180度 servo.Move(uint8(27)) //center gobot.After(1*time.Second, func() { servo.Move(uint8(35)) gobot.After(500*time.Millisecond, func() { servo.Move(uint8(27)) }) }) } robot := gobot.NewRobot("servoBot", []gobot.Connection{adaptor}, []gobot.Device{servo}, work, )
master := gobot.NewMaster() // Starts the API server on default
port 3000 server := api.NewAPI(master) server.Port = "3000" server.Start() servoEndpoint := master.AddRobot(robot) servoEndpoint.AddCommand("move", func(params map[string]interface{}) interface{} { reqParam := fmt.Sprintf("Params: %+v\n", params) robot.Start() return reqParam }) master.Start() http://localhost:3000/api/robots/servoBot/commands/move ͰϦΫΤετΛͪड͚Δ
None
αʔϘϞʔλΛ"MFYBʹݻఆ͢Δ
None
ʂ
IUUQTZPVUVCFIRS/@L;'6
ײ w *P5ॳΊ͚ͯͩͲҙ֎ͱ࡞ΕΔɺάάΕใͨ͘͞Μग़ͯ͘Δ w (PPHMFͷԻೝࣝͷޙʹ"NB[PO "MFYB ͷԻೝࣝͬͯͯ ΧΦε w ࡐΛίίͪΌΜʹ͓͔ͨ͛͠ͰϞνϕʔγϣϯ͕མͪͳ͔ͬͨ
w ʹࢥ͍͍ͭͯ࢝ʹϥζύΠങͬͯࣄ࢝Ίલʹͨ͠ w ͏Μ͏Μɺ͜Ε·ͨΞΠΧπʂͩͶ
IUUQTCJUMZ2.S"JX ৄ͘͠ϒϩάʹ