Lazy load transcription services
This commit is contained in:
parent
1ff124a7ce
commit
7b490bec46
@ -20,8 +20,8 @@ class AudioTranscriptionManager: ObservableObject {
|
||||
|
||||
// Transcription services - will be initialized when needed
|
||||
private var localTranscriptionService: LocalTranscriptionService?
|
||||
private let cloudTranscriptionService = CloudTranscriptionService()
|
||||
private let nativeAppleTranscriptionService = NativeAppleTranscriptionService()
|
||||
private lazy var cloudTranscriptionService = CloudTranscriptionService()
|
||||
private lazy var nativeAppleTranscriptionService = NativeAppleTranscriptionService()
|
||||
|
||||
enum ProcessingPhase {
|
||||
case idle
|
||||
|
||||
@ -17,8 +17,8 @@ class AudioTranscriptionService: ObservableObject {
|
||||
|
||||
// Transcription services
|
||||
private let localTranscriptionService: LocalTranscriptionService
|
||||
private let cloudTranscriptionService = CloudTranscriptionService()
|
||||
private let nativeAppleTranscriptionService = NativeAppleTranscriptionService()
|
||||
private lazy var cloudTranscriptionService = CloudTranscriptionService()
|
||||
private lazy var nativeAppleTranscriptionService = NativeAppleTranscriptionService()
|
||||
|
||||
enum TranscriptionError: Error {
|
||||
case noAudioFile
|
||||
|
||||
@ -35,10 +35,10 @@ enum CloudTranscriptionError: Error, LocalizedError {
|
||||
|
||||
class CloudTranscriptionService: TranscriptionService {
|
||||
|
||||
private let groqService = GroqTranscriptionService()
|
||||
private let elevenLabsService = ElevenLabsTranscriptionService()
|
||||
private let deepgramService = DeepgramTranscriptionService()
|
||||
private let openAICompatibleService = OpenAICompatibleTranscriptionService()
|
||||
private lazy var groqService = GroqTranscriptionService()
|
||||
private lazy var elevenLabsService = ElevenLabsTranscriptionService()
|
||||
private lazy var deepgramService = DeepgramTranscriptionService()
|
||||
private lazy var openAICompatibleService = OpenAICompatibleTranscriptionService()
|
||||
|
||||
func transcribe(audioURL: URL, model: any TranscriptionModel) async throws -> String {
|
||||
switch model.provider {
|
||||
|
||||
@ -58,8 +58,8 @@ class WhisperState: NSObject, ObservableObject, AVAudioRecorderDelegate {
|
||||
|
||||
// Transcription Services
|
||||
private var localTranscriptionService: LocalTranscriptionService!
|
||||
private let cloudTranscriptionService = CloudTranscriptionService()
|
||||
private let nativeAppleTranscriptionService = NativeAppleTranscriptionService()
|
||||
private lazy var cloudTranscriptionService = CloudTranscriptionService()
|
||||
private lazy var nativeAppleTranscriptionService = NativeAppleTranscriptionService()
|
||||
|
||||
private var modelUrl: URL? {
|
||||
let possibleURLs = [
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user