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
音声ガイダンスを導入した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Toshihiro Morimoto
April 26, 2016
Technology
4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
音声ガイダンスを導入した話
Akerun & BONX Tech Talk Supported by さくらインターネット
~IoTスタートアップを支えるエンジニアの夕べ~
Toshihiro Morimoto
April 26, 2016
More Decks by Toshihiro Morimoto
See All by Toshihiro Morimoto
Xcode8 で開発はどうかわったのか
dealforest
10
6.6k
魅せるデバッグ技術
dealforest
4
1.6k
LLDB の世界からみた Swift
dealforest
4
5.6k
Xcode で快適なデバッグライフを追い求める
dealforest
29
25k
Intrducing debug in WWDC2016
dealforest
3
850
swift build と Xcode での Build の違い
dealforest
3
2.2k
RIP Xcode Plugin 🙏
dealforest
0
4.9k
Introducing Xcode Editor Extension
dealforest
2
4.7k
Introducing Anglerfish
dealforest
2
3.6k
Other Decks in Technology
See All in Technology
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
440
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
120
LLMの知識とAIエージェント
happysamurai294
0
130
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
200
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
670
AI駆動開発におけるハーネスエンジニアリングの勘所
tsukuboshi
1
890
Adversary Infrastructure Hunting101
disconinja
0
180
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
130
正解のない研修に放り出されて / Being thrown into a training program with no right answers
ohnoeight
1
170
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
590
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
130
契約で守るコンパウンドプロダクトのデザインシステム
yug1224
1
1.6k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
The Curse of the Amulet
leimatthew05
3
16k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
470
How to train your dragon (web standard)
notwaldorf
96
6.9k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
540
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
750
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
59k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
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!!
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠