diff --git a/README.md b/README.md index 14192fa..c43cfa1 100644 --- a/README.md +++ b/README.md @@ -51,8 +51,8 @@ written is still readable. ## Transcription -Built in, on-device, automatic. The default engine is **Parakeet TDT 0.6B v2** -(English) via [FluidAudio](https://github.com/FluidInference/FluidAudio)'s +Built in, on-device, automatic. The default engine is **Parakeet TDT 0.6B v3** +(multilingual) via [FluidAudio](https://github.com/FluidInference/FluidAudio)'s Core ML port — roughly 20 seconds per hour of audio on Apple Silicon. Models (~600 MB) download once on first transcription; `quill doctor` tells you whether they're already cached so you're never downloading after an important @@ -121,7 +121,7 @@ quill install --uninstall per-process picker if it bothers you). - If recordings come out silent, check System Settings → Privacy & Security → Screen & System Audio Recording. -- Parakeet v2 is English-only. Other languages will come with the Whisper - engine. +- Parakeet v3 covers 25 European languages. For anything outside that set, + wait for the Whisper engine. - The binary embeds its Info.plist (`__TEXT,__info_plist`) so TCC can attribute permissions to quill itself when running as a LaunchAgent. diff --git a/Sources/quill/Doctor.swift b/Sources/quill/Doctor.swift index 8af8125..439f1f0 100644 --- a/Sources/quill/Doctor.swift +++ b/Sources/quill/Doctor.swift @@ -86,8 +86,8 @@ enum DoctorReport { remediation: nil ) } - let cache = AsrModels.defaultCacheDirectory(for: .v2) - if AsrModels.modelsExist(at: cache, version: .v2) { + let cache = AsrModels.defaultCacheDirectory(for: .v3) + if AsrModels.modelsExist(at: cache, version: .v3) { return Check(name: "transcription", status: .ok, remediation: nil) } return Check( diff --git a/Sources/quill/Transcription/ParakeetEngine.swift b/Sources/quill/Transcription/ParakeetEngine.swift index ff6cad5..52bbcba 100644 --- a/Sources/quill/Transcription/ParakeetEngine.swift +++ b/Sources/quill/Transcription/ParakeetEngine.swift @@ -2,7 +2,7 @@ import AVFoundation import FluidAudio import Foundation -/// Parakeet TDT 0.6B v2 (English) via FluidAudio's Core ML port. Models +/// Parakeet TDT 0.6B v3 (multilingual) via FluidAudio's Core ML port. Models /// download once into FluidAudio's managed cache (~600 MB); after that, /// transcription runs entirely on-device at roughly 20 seconds per hour of /// audio on Apple Silicon. @@ -22,13 +22,13 @@ actor ParakeetEngine: TranscriptionEngine { } nonisolated let name = "parakeet" - nonisolated let model = "parakeet-tdt-0.6b-v2-coreml" + nonisolated let model = "parakeet-tdt-0.6b-v3-coreml" private var manager: AsrManager? func prepare() async throws { guard manager == nil else { return } - let models = try await AsrModels.downloadAndLoad(version: .v2) + let models = try await AsrModels.downloadAndLoad(version: .v3) let manager = AsrManager() try await manager.loadModels(models) self.manager = manager