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.3k
魅せるデバッグ技術
dealforest
4
1.5k
LLDB の世界からみた Swift
dealforest
4
5.3k
Xcode で快適なデバッグライフを追い求める
dealforest
29
23k
Intrducing debug in WWDC2016
dealforest
3
780
swift build と Xcode での Build の違い
dealforest
3
2.1k
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
嗚呼、当時の本番環境の状態で AI Agentを再評価したいなぁ...
po3rin
0
290
Boxを“使われる場”にする統制と自動化の仕組み
demaecan
0
230
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
210
技術の総合格闘技!?AIインフラの現在と未来。
ebiken
PRO
0
220
なぜ新機能リリース翌日にモニタリング可能なのか? 〜リードタイム短縮とリソース問題を「自走」で改善した話〜 / data_summit_findy_Session_2
sansan_randd
1
150
QAセントラル組織が運営する自動テストプラットフォームの課題と現状
lycorptech_jp
PRO
0
130
開発者から見たLLMの進化 202511
ny7760
1
160
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
370
よくわからない人向けの IAM Identity Center とちょっとした落とし穴
kazzpapa3
2
600
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
8
3.1k
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
560
エンタープライズ企業における開発効率化のためのコンテキスト設計とその活用
sergicalsix
1
120
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
Unsuck your backbone
ammeep
671
58k
Code Reviewing Like a Champion
maltzj
527
40k
Why Our Code Smells
bkeepers
PRO
340
57k
Six Lessons from altMBA
skipperchong
29
4.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Optimizing for Happiness
mojombo
379
70k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to train your dragon (web standard)
notwaldorf
97
6.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
A Modern Web Designer's Workflow
chriscoyier
697
190k
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!!
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠