mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 11:23:48 +00:00
Debug transcription
This commit is contained in:
parent
a2e9b4ba36
commit
f94a9f27ff
@ -1,5 +1,9 @@
|
|||||||
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
|
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
|
||||||
|
|
||||||
|
sgdeps = [
|
||||||
|
"//Swiftgram/SGLogging:SGLogging"
|
||||||
|
]
|
||||||
|
|
||||||
swift_library(
|
swift_library(
|
||||||
name = "LocalAudioTranscription",
|
name = "LocalAudioTranscription",
|
||||||
module_name = "LocalAudioTranscription",
|
module_name = "LocalAudioTranscription",
|
||||||
@ -9,7 +13,7 @@ swift_library(
|
|||||||
copts = [
|
copts = [
|
||||||
"-warnings-as-errors",
|
"-warnings-as-errors",
|
||||||
],
|
],
|
||||||
deps = [
|
deps = sgdeps +[
|
||||||
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
|
"//submodules/SSignalKit/SwiftSignalKit:SwiftSignalKit",
|
||||||
],
|
],
|
||||||
visibility = [
|
visibility = [
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import SGLogging
|
||||||
import Foundation
|
import Foundation
|
||||||
import SwiftSignalKit
|
import SwiftSignalKit
|
||||||
import Speech
|
import Speech
|
||||||
@ -20,12 +21,15 @@ private func transcribeAudio(path: String, locale: String) -> Signal<Transcripti
|
|||||||
Queue.mainQueue().async {
|
Queue.mainQueue().async {
|
||||||
switch status {
|
switch status {
|
||||||
case .notDetermined:
|
case .notDetermined:
|
||||||
|
SGLogger.shared.log("LocalTranscription", "Authorization status: notDetermined")
|
||||||
subscriber.putNext(nil)
|
subscriber.putNext(nil)
|
||||||
subscriber.putCompletion()
|
subscriber.putCompletion()
|
||||||
case .restricted:
|
case .restricted:
|
||||||
|
SGLogger.shared.log("LocalTranscription", "Authorization status: restricted")
|
||||||
subscriber.putNext(nil)
|
subscriber.putNext(nil)
|
||||||
subscriber.putCompletion()
|
subscriber.putCompletion()
|
||||||
case .denied:
|
case .denied:
|
||||||
|
SGLogger.shared.log("LocalTranscription", "Authorization status: denied")
|
||||||
subscriber.putNext(nil)
|
subscriber.putNext(nil)
|
||||||
subscriber.putCompletion()
|
subscriber.putCompletion()
|
||||||
case .authorized:
|
case .authorized:
|
||||||
@ -34,6 +38,7 @@ private func transcribeAudio(path: String, locale: String) -> Signal<Transcripti
|
|||||||
speechRecognizer = sharedRecognizer
|
speechRecognizer = sharedRecognizer
|
||||||
} else {
|
} else {
|
||||||
guard let speechRecognizerValue = SFSpeechRecognizer(locale: Locale(identifier: locale)), speechRecognizerValue.isAvailable else {
|
guard let speechRecognizerValue = SFSpeechRecognizer(locale: Locale(identifier: locale)), speechRecognizerValue.isAvailable else {
|
||||||
|
SGLogger.shared.log("LocalTranscription", "Recognizer not available for locale: \(locale)")
|
||||||
subscriber.putNext(nil)
|
subscriber.putNext(nil)
|
||||||
subscriber.putCompletion()
|
subscriber.putCompletion()
|
||||||
|
|
||||||
@ -75,7 +80,7 @@ private func transcribeAudio(path: String, locale: String) -> Signal<Transcripti
|
|||||||
subscriber.putCompletion()
|
subscriber.putCompletion()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
print("transcribeAudio: locale: \(locale), error: \(String(describing: error))")
|
SGLogger.shared.log("LocalTranscription", "transcribeAudio: locale: \(locale), error: \(String(describing: error))")
|
||||||
|
|
||||||
subscriber.putNext(nil)
|
subscriber.putNext(nil)
|
||||||
subscriber.putCompletion()
|
subscriber.putCompletion()
|
||||||
@ -86,6 +91,7 @@ private func transcribeAudio(path: String, locale: String) -> Signal<Transcripti
|
|||||||
task.cancel()
|
task.cancel()
|
||||||
})
|
})
|
||||||
@unknown default:
|
@unknown default:
|
||||||
|
SGLogger.shared.log("LocalTranscription", "Unknown authorization status")
|
||||||
subscriber.putNext(nil)
|
subscriber.putNext(nil)
|
||||||
subscriber.putCompletion()
|
subscriber.putCompletion()
|
||||||
}
|
}
|
||||||
@ -154,6 +160,7 @@ public func transcribeAudio(path: String, appLocale: String) -> Signal<LocallyTr
|
|||||||
|
|
||||||
// Find the locale with the highest accumulated confidence
|
// Find the locale with the highest accumulated confidence
|
||||||
guard let bestLocale = accumulatedTranscription.max(by: { $0.value.confidence < $1.value.confidence }) else {
|
guard let bestLocale = accumulatedTranscription.max(by: { $0.value.confidence < $1.value.confidence }) else {
|
||||||
|
SGLogger.shared.log("LocalTranscription", "No valid transcription results found")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user