Initial commit

This commit is contained in:
Felipe M 2025-09-18 19:56:06 +02:00
commit 1db16227b2
Signed by: fmartingr
GPG key ID: CCFBC5637D4000A8
31 changed files with 2175 additions and 0 deletions

View file

@ -0,0 +1,32 @@
import Foundation
import CoreUtils
public protocol STTEngine {
func transcribe(audioData: Data, language: String?) async throws -> String
func isModelLoaded() -> Bool
func loadModel(at path: URL) async throws
func unloadModel()
}
public enum STTError: Error, LocalizedError {
case modelNotFound
case modelLoadFailed(String)
case transcriptionFailed(String)
case unsupportedFormat
case invalidAudioData
public var errorDescription: String? {
switch self {
case .modelNotFound:
return NSLocalizedString("error.model.not_found", comment: "Model not found error")
case .modelLoadFailed(let reason):
return NSLocalizedString("error.model.load_failed", comment: "Model load failed error") + ": \(reason)"
case .transcriptionFailed(let reason):
return NSLocalizedString("error.transcription.failed", comment: "Transcription failed error") + ": \(reason)"
case .unsupportedFormat:
return "Unsupported audio format"
case .invalidAudioData:
return "Invalid audio data"
}
}
}