Lazy load transcription services

This commit is contained in:
Beingpax 2025-06-26 16:10:18 +05:45
parent 1ff124a7ce
commit 7b490bec46
4 changed files with 10 additions and 10 deletions

View File

@ -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

View File

@ -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

View File

@ -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 {

View File

@ -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 = [