Skip to content

Commit fca69cb

Browse files
stephencelismluisbrown
authored andcommitted
Fix Speech deprecation warnings (#922)
* Fix Speech deprecation warnings * wip
1 parent 18bd98e commit fca69cb

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

Examples/SpeechRecognition/SpeechRecognition/SpeechClient/Models.swift

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,22 @@ import Speech
44
// and so they aren't super testable out the box. We define struct versions of those types to make
55
// them easier to use and test.
66

7+
struct SpeechRecognitionMetadata: Equatable {
8+
var averagePauseDuration: TimeInterval
9+
var speakingRate: Double
10+
var voiceAnalytics: VoiceAnalytics?
11+
}
12+
713
struct SpeechRecognitionResult: Equatable {
814
var bestTranscription: Transcription
9-
var transcriptions: [Transcription]
1015
var isFinal: Bool
16+
var speechRecognitionMetadata: SpeechRecognitionMetadata?
17+
var transcriptions: [Transcription]
1118
}
1219

1320
struct Transcription: Equatable {
14-
var averagePauseDuration: TimeInterval
1521
var formattedString: String
1622
var segments: [TranscriptionSegment]
17-
var speakingRate: Double
1823
}
1924

2025
struct TranscriptionSegment: Equatable {
@@ -24,7 +29,6 @@ struct TranscriptionSegment: Equatable {
2429
var substring: String
2530
var substringRange: NSRange
2631
var timestamp: TimeInterval
27-
var voiceAnalytics: VoiceAnalytics?
2832
}
2933

3034
struct VoiceAnalytics: Equatable {
@@ -39,20 +43,28 @@ struct AcousticFeature: Equatable {
3943
var frameDuration: TimeInterval
4044
}
4145

46+
extension SpeechRecognitionMetadata {
47+
init(_ speechRecognitionMetadata: SFSpeechRecognitionMetadata) {
48+
self.averagePauseDuration = speechRecognitionMetadata.averagePauseDuration
49+
self.speakingRate = speechRecognitionMetadata.speakingRate
50+
self.voiceAnalytics = speechRecognitionMetadata.voiceAnalytics.map(VoiceAnalytics.init)
51+
}
52+
}
53+
4254
extension SpeechRecognitionResult {
4355
init(_ speechRecognitionResult: SFSpeechRecognitionResult) {
4456
self.bestTranscription = Transcription(speechRecognitionResult.bestTranscription)
45-
self.transcriptions = speechRecognitionResult.transcriptions.map(Transcription.init)
4657
self.isFinal = speechRecognitionResult.isFinal
58+
self.speechRecognitionMetadata = speechRecognitionResult.speechRecognitionMetadata
59+
.map(SpeechRecognitionMetadata.init)
60+
self.transcriptions = speechRecognitionResult.transcriptions.map(Transcription.init)
4761
}
4862
}
4963

5064
extension Transcription {
5165
init(_ transcription: SFTranscription) {
52-
self.averagePauseDuration = transcription.averagePauseDuration
5366
self.formattedString = transcription.formattedString
5467
self.segments = transcription.segments.map(TranscriptionSegment.init)
55-
self.speakingRate = transcription.speakingRate
5668
}
5769
}
5870

@@ -64,7 +76,6 @@ extension TranscriptionSegment {
6476
self.substring = transcriptionSegment.substring
6577
self.substringRange = transcriptionSegment.substringRange
6678
self.timestamp = transcriptionSegment.timestamp
67-
self.voiceAnalytics = transcriptionSegment.voiceAnalytics.map(VoiceAnalytics.init)
6879
}
6980
}
7081

Examples/SpeechRecognition/SpeechRecognitionTests/SpeechRecognitionTests.swift

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,11 @@ class SpeechRecognitionTests: XCTestCase {
7878

7979
let result = SpeechRecognitionResult(
8080
bestTranscription: Transcription(
81-
averagePauseDuration: 0.1,
8281
formattedString: "Hello",
83-
segments: [],
84-
speakingRate: 1
82+
segments: []
8583
),
86-
transcriptions: [],
87-
isFinal: false
84+
isFinal: false,
85+
transcriptions: []
8886
)
8987
var finalResult = result
9088
finalResult.bestTranscription.formattedString = "Hello world"

0 commit comments

Comments
 (0)