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
音声ガイダンスを導入した話
Search
Toshihiro Morimoto
April 26, 2016
Technology
0
3.9k
音声ガイダンスを導入した話
Akerun & BONX Tech Talk Supported by さくらインターネット
~IoTスタートアップを支えるエンジニアの夕べ~
Toshihiro Morimoto
April 26, 2016
Tweet
Share
More Decks by Toshihiro Morimoto
See All by Toshihiro Morimoto
Xcode8 で開発はどうかわったのか
dealforest
10
6.2k
魅せるデバッグ技術
dealforest
4
1.5k
LLDB の世界からみた Swift
dealforest
4
5.2k
Xcode で快適なデバッグライフを追い求める
dealforest
29
23k
Intrducing debug in WWDC2016
dealforest
3
770
swift build と Xcode での Build の違い
dealforest
3
2k
RIP Xcode Plugin 🙏
dealforest
0
4.8k
Introducing Xcode Editor Extension
dealforest
2
4.6k
Introducing Anglerfish
dealforest
2
3.4k
Other Decks in Technology
See All in Technology
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
1
190
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
230
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
310
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
27k
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
120
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
16k
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.2k
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
150
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
American airlines ®️ USA Contact Numbers: Complete 2025 Support Guide
airhelpsupport
0
380
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.1k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Balancing Empowerment & Direction
lara
1
430
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Cult of Friendly URLs
andyhume
79
6.5k
Rails Girls Zürich Keynote
gr2m
95
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Optimizing for Happiness
mojombo
379
70k
Designing Experiences People Love
moore
142
24k
Transcript
ԻΨΠμϯεΛಋೖͨ͠ Akerun & BONX Tech Talk Supported by ͘͞ΒΠϯλʔωοτ ʙIoTελʔτΞοϓΛࢧ͑ΔΤϯδχΞͷ༦ʙ
@dealforest Toshihiro Morimoto #anbtechtalk 2016/04/26
ࣗݾհ
Agenda • ԻΨΠμϯεಋೖ/ܦҢ • ಡΈ্͛ػೳͷ͍ํ • ϋϚϦͲ͜Ζ
ԻΨΠμϯεಋೖ/ܦҢ
ԻΨΠμϯεΛಋೖ͢ΔҎલ SE Λ໐Β͍ͯ͠·ͨ͠
͜ΕͰ͍͚Δͱࢥ͍ͬͯͨ࣌ظ͕ ͨͪʹ͋Γ·ͨ͠
ͱ͜Ζ͕ݱ࣮ݫ͔ͬͨ͠
ςΟϩʔϯ㽈
( ୭͔͕ݍ֎ʹͳͬͨ )
ςΟϩʔϯ㽈
( ୭͔͕ ೖࣨ / ୀࣨ ͨ͠ )
;Δͬ;ʙ㽈
( σόΠεͱ BLE ଓཱ͕֬ͨ͠ )
τΡϧʔϯ㽈
( σόΠεͱ BLE ଓ͕அͨ͠ )
…
SE ͚ͩͩͱதͷਓͰ͑͞ Կ͕ى͍ͬͯ͜Δ͔ѲͰ͖ͳ͔ͬͨ
݁ہɺτʔΫը໘Λݟͳ͍ͱ Ͳ͏͍͏ঢ়گ͔ Ѳ͢Δ͜ͱ͕Ͱ͖ͳ͔ͬͨ
τʔΫը໘
ͯ͞ʂʂʂ
ઇࢁͰϘʔυΛ͍ͯ͠Δ࣌Λ ૾ͯ͠Έ·͠ΐ͏
ઇࢁ͍͜͞ʔʔʔʔ \(^o^)/
͋ΕɺٸʹԠ͕ͳ͘ͳͬͨʁ
ͪͬ…
άϩʔϒ֎ͯ͠
ܞଳऔΓग़ͯ͠
ϩοΫղআͯ͠
τʔΫը໘Λ֬ೝ
ঢ়گΛѲ͍͚ͨͩ͠ͳͷʹ ͜ΕΛ܁Γฦ͞ͳ͍ͱ͍͚ͳ͍
͜Ε͕ʑ͋Δͱ…
ͭΒ͔͞͠ͳ͍
ԻΨΠμϯεΛಋೖ͢Δ͜ͱͰ ͋Δఔվળ͞Ε·ͨ͠
͜Ε͔ΒԻΨΠμϯεΛ ࣮ͨ͠ݟΛڞ༗͍͖ͯ͠·͢
Ͱ࣮ࡍʹ BONX Ͱ ͲͷΑ͏ͳγʔϯʹྲྀΕΔͷ͔ Έ͍͖ͯ·͠ΐ͏
ࣗͷঢ়ଶΛಡΈ্͛Δ • ϛϡʔτʹΓସ͑ͨ • ిڥ͕ѱ͘ͳͬͨ • ࣗಈ࠶ೖࣨॲཧΛߦ͍ͬͯΔ • (ϧʔϜʹೖୀࣨͨ͠)
ଞϝϯόʔͷঢ়ଶΛಡΈ্͛Δ • ϧʔϜʹೖୀࣨͨ͠ • ϛϡʔτʹΓସ͑ͨ • ిڥ͕ѱ͘ͳͬͨ
ಡΈ্͛ػೳͷ͍ํ
ಡΈ্͛ػೳͷ͍ํ import AVFoundation let text = “iOS ΤϯδχΞืूதʂʂ” let utterance
= AVSpeechUtterance(string: text) AVSpeechSynthesizer().speakUtterance(utterance)
؆୯Ͱ͢Ͷ
ઃఆ͢Δͱ͖ Analytics ͷ Event Λ ઃఆ͢Δͷͱಉ͡Α͏ͳײ͡Ͱ͢
ઃܭϒϨΠΧʔʹͳΓ͍͢ͷͰ Ͳ͜Ͱ໐Β͔͢ΛܾΊΔ࣌ʹ Ұॹʹ͋ͬͨ͠ํ͕͍͍Ͱ͢
ϋϚϦͲ͜Ζ
ϋϚϦͲ͜Ζ • iOS ͷόʔδϣϯ, ݴޠઃఆʹΑͬͯ࠶ੜ ͕ҟͳΔ • ݴޠઃఆʹΑͬͯ࠶ੜ͞Εͳ͍ςΩετ ͕͋Δ •
μοΩϯά͕ൃੜ͢Δ • SpringBoard ͰΫϥογϡ͢Δͱ͖͕͋Δ
iOS ͷόʔδϣϯ, ݴޠઃఆʹΑͬͯ࠶ੜ͕ҟͳΔ AVSpeechUtteranceDefaultSpeechRate Λઃఆ͍ͯͯ͠ iOS ͷόʔδϣϯɺͷݴޠઃఆʹΑͬͯ ςΩετͷಡΈ্͕͛ҟͳΔ utterance.rate =
AVSpeechUtteranceDefaultSpeechRate ͜Εͩͱ iOS8 Ͱ࠶ੜͨ͠߹ʹ࠶ੜ͕͍ʂ
AVSpeechUtteranceDefaultSpeechRate ͷͲͷڥͰಉ͡ ํ͕ͳ͍ͷͰόʔδϣϯɺݴޠຖͰ࠶ੜΛม͍͑ͯΔ [iOS9] utterance.rate = AVSpeechUtteranceDefaultSpeechRate [iOS8 - ຊޠ]
utterance.rate = AVSpeechUtteranceDefaultSpeechRate * 0.3 [iOS8 - ӳޠ] utterance.rate = AVSpeechUtteranceDefaultSpeechRate * 0.5 iOS ͷόʔδϣϯ, ݴޠઃఆʹΑͬͯ࠶ੜ͕ҟͳΔ
ݴޠઃఆʹΑͬͯ࠶ੜ͞Εͳ͍ςΩετ͕͋Δ • BONX Ͱຊޠ / ӳޠΛαϙʔτ • ݴޠઃఆ͕ӳޠͩͱϚϧνόΠτͷจࣈྻΛ͢ͱɹɹɹ ԿಡΈ্͛ΒΕͳ͍ ASCII
Ҏ֎ͷจࣈྻؚ͕·ΕΔ߹ someone Ͱସ͠ ͍ͯΔ • ಡΈ্͛ݴޠͷ ͔ͳ Λࣄલʹͱ͓͔ͬͯͳ͍ͱਖ਼֬ʹ ಡΈ্͛Δ͜ͱෆՄೳ ࣈΛͲͷΑ͏ʹಡΈ্͛ΒΕΔ͔ Apple ͞Μ࣍ୈ
μοΩϯά͕ൃੜ͢Δ μοΩϯάͱ… ԻָΛௌ͍ͯΔ࣌ʹ push ௨͕དྷͨࡍʹ Ұఆ࣌ؒԻָͷϘϦϡʔϜ͕খ͘͞ͳΔ͜ͱ
μοΩϯά͕ൃੜ͢Δ • AVAudioPlayer ͰԿ͔Λ࠶ੜ͍ͯ͠Δ߹ʹɺಡΈ্͛ػೳ Λ͏ͱࣗಈతʹ ducking ͞ΕΔ (ڧ੍) • ղܾࡦͱͯ͠ಡΈ্͛ػೳΛ͏ࡍʹ
0.1 ඵશͯͷ AVAudioPlayer ͷ࠶ੜΛࢭΊΔ͜ͱͰճආͰ͖Δ
SpringBoard ͰΫϥογϡ͢Δͱ͖͕͋Δ AXSpeechManager ͷॳظԽͰΫϥογϡ͢Δ ݁ہݪҼ͕Θ͔ΒͣΛग़ՙঢ়ଶʹɹ ͤΫϥογϡ͠ͳ͘ͳͬͨ Crash in CFStringConvertNSStringEncodingToEncoding https://forums.developer.apple.com/message/17681
ઃఆ → Ұൠ → ΞΫηγϏϦςΟ → VoiceOver → εϐʔν DL
͢Εߴ࣭ͷԻΛ໐Β͢͜ͱͰ͖·͢ ͓·͚
·ͱΊ ͋·Γࣄྫ͕ͳ͍ͷͰ ϋϚΓॴͦΕͳΓʹ͋Γ·ͨ͠
·ͱΊ ͨͩ BONX Ͱಋೖͨ͜͠ͱʹΑΓ ؒҧ͍ͳ͘UXվળ͞Ε·ͨ͠
·ͱΊ IoT σόΠεͱ૬ੑ͕ྑ͍ͱࢥ͏ͷͰ ಉ͡Α͏ͳΈͷॿ͚ͱͳΕ͍Ͱ͢
We are Hiring!!
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠