fix: clear wake word match warning

This commit is contained in:
Peter Steinberger
2025-12-24 14:44:50 +01:00
parent 8878fd3028
commit 1cd108e891

View File

@@ -68,9 +68,7 @@ public enum WakeWordGate {
let tokens = self.normalizeSegments(segments) let tokens = self.normalizeSegments(segments)
guard !tokens.isEmpty else { return nil } guard !tokens.isEmpty else { return nil }
var bestIndex: Int? var best: (index: Int, triggerEnd: TimeInterval, gap: TimeInterval)?
var bestTriggerEnd: TimeInterval = 0
var bestGap: TimeInterval = 0
for trigger in triggerTokens { for trigger in triggerTokens {
let count = trigger.tokens.count let count = trigger.tokens.count
@@ -90,19 +88,17 @@ public enum WakeWordGate {
let gap = nextToken.start - triggerEnd let gap = nextToken.start - triggerEnd
if gap < config.minPostTriggerGap { continue } if gap < config.minPostTriggerGap { continue }
if let bestIndex, i <= bestIndex { continue } if let best, i <= best.index { continue }
bestIndex = i best = (i, triggerEnd, gap)
bestTriggerEnd = triggerEnd
bestGap = gap
} }
} }
guard let bestIndex else { return nil } guard let best else { return nil }
let command = self.commandText(transcript: transcript, segments: segments, triggerEndTime: bestTriggerEnd) let command = self.commandText(transcript: transcript, segments: segments, triggerEndTime: best.triggerEnd)
.trimmingCharacters(in: Self.whitespaceAndPunctuation) .trimmingCharacters(in: Self.whitespaceAndPunctuation)
guard command.count >= config.minCommandLength else { return nil } guard command.count >= config.minCommandLength else { return nil }
return WakeWordGateMatch(triggerEndTime: bestTriggerEnd, postGap: bestGap, command: command) return WakeWordGateMatch(triggerEndTime: best.triggerEnd, postGap: best.gap, command: command)
} }
public static func commandText( public static func commandText(