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
Speech framework tips
Search
Ryo Tsuzukihashi
July 10, 2020
Programming
1
2.7k
Speech framework tips
speech framework tips
Ryo Tsuzukihashi
July 10, 2020
Tweet
Share
More Decks by Ryo Tsuzukihashi
See All by Ryo Tsuzukihashi
SwiftUI Transaction を徹底活用!ZOZOTOWN UI開発での活用事例
tsuzuki817
1
2.4k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
3
1.1k
二次元コードを読み取りやすくするために 画面を強制的に明るくするのは もうやめにしませんか?👀
tsuzuki817
0
440
動画だけじゃない!iOS 15のピクチャ・イン・ピクチャを使って好きなUIを表示させよう!
tsuzuki817
3
5.2k
iOS 16からのロック画面Widget争奪戦に備える
tsuzuki817
2
1.1k
Complications and widgets: Reloadedの要約
tsuzuki817
1
1.3k
Build complication in SwiftUI の要約
tsuzuki817
0
730
SwiftUI で Neumorphism!!!
tsuzuki817
2
1.9k
SwiftUIで作りながら学ぶアニメーション インジケーター編
tsuzuki817
0
630
Other Decks in Programming
See All in Programming
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
640
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
190
testingを眺める
matumoto
1
140
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
print("Hello, World")
eddie
2
530
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
230
🔨 小さなビルドシステムを作る
momeemt
4
690
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
230
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
楽して成果を出すためのセルフリソース管理
clipnote
0
190
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
130
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Practical Orchestrator
shlominoach
190
11k
The Cult of Friendly URLs
andyhume
79
6.6k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Invisible Side of Design
smashingmag
301
51k
Scaling GitHub
holman
463
140k
How STYLIGHT went responsive
nonsquared
100
5.8k
Context Engineering - Making Every Token Count
addyosmani
3
60
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
It's Worth the Effort
3n
187
28k
Docker and Python
trallard
46
3.6k
Transcript
5TV[VLJIBTIJ3ZP !UTV[VLJ 4QFFDIGSBNFXPSLUJQT <0OMJOF>QPUBUPUJQTJ04"OESPJE։ൃ5JQTڞ༗ձ
ࣗݾհ w!UTV[VLJ w:BIPP+"1"/ 1BZ1BZϑϦϚJ04ΞϓϦ։ൃ wݸਓΞϓϦ։ൃͱࣸਅ wݱࡏݸͷΞϓϦ։ൃத✌ bТ ✌
4QFFDIGSBNFXPSLͱ w"QQMF wԻೝࣝ ϦΞϧλΠϜɺԻͲͪΒରԠ wJ04 J1BE04 NBD04ରԠ 4XJGU6*Λ͏ͱಉ࣌ʹશ෦࡞Εͯඒຯ͍͠
ϦΫΤετͷํ๏ αʔόʔ ΦϑϥΠϯ J04Ҏ߱ ੑೳ #FTU (PPE
ϦΫΤετͷํ๏ αʔόʔ ΦϑϥΠϯ J04Ҏ߱ ੑೳ #FTU (PPE "1*੍ݶ ͋Γ ͳ͠
ϦΫΤετͷํ๏ αʔόʔ ΦϑϥΠϯ J04Ҏ߱ ੑೳ #FTU (PPE "1*੍ݶ ͋Γ ͳ͠
ରԠݴޠ Ҏ্ Ҏ্
ϦΫΤετͷํ๏ αʔόʔ ΦϑϥΠϯ J04Ҏ߱ ੑೳ #FTU (PPE "1*੍ݶ ͋Γ ͳ͠
ରԠݴޠ Ҏ্ Ҏ্ ຊޠ ˓ ❌
"1*ͷ੍ݶ wΦϑϥΠϯͰ੍ݶͳ͠ w4'4QFFDI3FDPHOJUJPO3FRVFTU wϦΫΤετඵ w࣌ؒʹճ ΞϓϦ͝ͱͰͳ͘ɺσόΠε͝ͱͷ੍ݶ
࣮ w 4QFFDIΛΠϯϙʔτ w -PDBMFΛࢦఆ ಛఆͷݴޠΛࢦఆ͢Δํ๏ Ϣʔβʔͷݱࡏͷ-PDBMFΛઃఆ͢Δํ๏ SFSpeechRecognizer(locale: Locale(identifier: "ja_JP"))
SFSpeechRecognizer(locale: Locale.current) import Speech
࣮ ΞΫηεڐՄ SFSpeechRecognizer.requestAuthorization {status in switch status { case .authorized:
case .denied: case .restricted: case .notDetermined: } }
࣮ w ϦΞϧλΠϜԻղੳ w Իͨ͠ԻΛղੳ SFSpeechAudioBufferRecognitionRequest() SFSpeechURLRecognitionRequest(url: URL) Իιʔεͷఆٛ
࣮ 3FRVFTUͷ݁ՌΛॲཧ speechRecognizer?.recognitionTask(with: speechRequest, resultHandler: { (speechResult, error) in if
speechResult.isFinal { print("Speech in the file is \ (speechResult.bestTranscription.formattedString)") }
Իೝࣝ݁Ռ J04·Ͱ w ॻ͖ى͜͠ 5SBOTDSJQUJPO ༩͑ΒΕͨԻશମΛςΩετͰදͨ͠ͷ w ସղऍ "MUFSOBUJWFJOUFSQSFUBUJPOT
ॻ͖ى͜͠ͷҟͳΔղऍ w ৴པ $POpEFODFMFWFMT ॻ͖ى͕͜͠Ϣʔβʔͷ4QFFDIͱਖ਼֬ʹҰக͢Δͱ͍͏৴པ w λΠϛΠϯάใ 5JNJOHJOGPSNBUJPO ೝࣝͨ͠ԻͷதͰ͍ͯͨ͠୯ޠͳͲͷ։͔࢝Βͷඵ
Իೝࣝ݁Ռ J04Ҏ߱ w TQFBLJOH3BUF ؒʹ͞ΕΔݴ༿ͷ w ฏۉٳࢭ࣌ؒ BWFSBHF1BVTF%VSBUJPO
୯ޠؒͷҰ࣌తͳఀࢭ࣌ؒͷฏۉɺ୯Ґඵ w Իղੳػೳ SFTVMUCFTU5SBOTDSJQUJPOTFHNFOUT͔Βऔಘ
4'5SBOTDSJQUJPO4FHNFOU w શମͷҰ෦Λৄࡉʹऔಘ͢ΔͨΊʹར༻ w ҰͭͷҙຯΛද͢୯ޠɺ୯ޠͷάϧʔϓͷԻ w FYڞ༗ձɹˠࠓ༠սɺڞ༗ճɹͳͲʣ
4'7PJDF"OBMZUJDT J04Ҏ߱ w +JUUFSϐονͷมԽΛɺϑϨʔϜͷجຊपͷύʔηϯςʔδͰදͨ͠ͷ TFHNFOUWPJDF"OBMZUJDT KJUUFSBDPVTUJD'FBUVSF7BMVF1FS'SBNF w 4IJNNFS֤ϑϨʔϜʹ͓͚Δྔ҆ఆੑʢৼ෯ʣͷมԽΛσγϕϧͰද͢ TFHNFOUWPJDF"OBMZUJDT TIJNNFSBDPVTUJD'FBUVSF7BMVF1FS'SBNF
w 1JUDI֤ϑϨʔϜʹ͓͚ΔԻ৭ʢجຊपʣͷߴΛରͰදͨ͠ͷ TFHNFOUWPJDF"OBMZUJDT QJUDIBDPVTUJD'FBUVSF7BMVF1FS'SBNF w 7PJDJOHεϐʔνͷதͰൃੜͨ͠ԻҬ < >ͷൣғͷ֬Ͱදͨ͠ͷ TFHNFOUWPJDF"OBMZUJDT WPJDJOHBDPVTUJD'FBUVSF7BMVF1FS'SBNF
ࣗͷ͍ൃԻͰࢼͯ͠Έͨ w ʮڞ༗ձʯൃԻ ग़ྗ CFTU5SBOTDSJQUJPO GPSNBUUFE4USJOH ڞ༗ձ TQFBLJOH3BUF BWFSBHF1BVTF%V
SBUJPO TFHNFOU BMUFSOBUJWF4VCTUSJOH T ࠓ༠ս ڞ༗ճ DPOpEFODF UJNJOH
࣮࣌ͷҙ w *OGPQMJTU ɹ/44QFFDI3FDPHOJUJPO6TBHF%FTDSJQUJPO ɹ/4.JDSPQIPOF6TBHF%FTDSJQUJPO w ௨தԻ͕Ͱ͖ͳ͍ͷͰσόοά࣌ʹҙ w อଘ͢Δࡍʹ֦ுࢠNBʹ͠ͳ͍ͱԻੳ͕ࣦഊʹͳΔ FY"7"VEJP3FDPSEFSͷSFDPSE
ࢀߟ63- w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOTQFFDI w IUUQTRJJUBDPNZPOFMMJUFNTGFGCECCGD w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED w IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFRBRB @JOEFYIUNMBQQMF@SFGEPDVJE%54
w IUUQTBDBEFNZSFBMNJPKQQPTUTUSZTXJGUNBSDCSPXOTBZJUBJOUTP JNQMFNFOUJOHTQFFDISFDPHOJUJPO