Skip to content

feat: default transcription to Parakeet v3 (multilingual) - #55

Open
psabbagh wants to merge 1 commit into
digimata:masterfrom
psabbagh:feat/parakeet-v3
Open

feat: default transcription to Parakeet v3 (multilingual)#55
psabbagh wants to merge 1 commit into
digimata:masterfrom
psabbagh:feat/parakeet-v3

Conversation

@psabbagh

@psabbagh psabbagh commented Aug 2, 2026

Copy link
Copy Markdown

What

Switches the default transcription model from Parakeet TDT 0.6B v2 to v3, and updates the docs to match.

ParakeetEngine.prepare()  AsrModels.downloadAndLoad(version: .v2) → .v3
Doctor.checkTranscription defaultCacheDirectory(for: .v2)         → .v3
                          modelsExist(at:version: .v2)            → .v3
model provenance string   parakeet-tdt-0.6b-v2-coreml             → …-v3-coreml

Nine lines across three files. No behaviour changes beyond the model itself.

Why

v2 is English-only, which the README already calls out as a limitation ("Parakeet v2 is English-only. Other languages will come with the Whisper engine"). v3 covers 25 European languages at the same parameter count and roughly the same speed, so a meaningful chunk of that gap closes without waiting for the Whisper engine.

It is also what FluidAudio itself defaults to — AsrModels.downloadAndLoad, defaultCacheDirectory, and friends all default to .v3 in current versions, so quill is explicitly opting into the older model.

Verified

Not just compiled. Run end to end on a real two-track session:

  • both tracks transcribe
  • timestamps stay aligned across the mic/system merge — the same utterance lands at the same timestamp on both tracks
  • doctor correctly reports the v3 cache as present
  • transcript accuracy on clean audio matched the reference script, including numbers

Tradeoffs worth weighing

You may have picked v2 deliberately. Multilingual models sometimes trade a little English accuracy for coverage. If quill is meant to be English-first and you have measured v2 as better on English, that is a legitimate reason to decline this — I have not benchmarked the two against each other on English WER, and I would not want to claim otherwise.

Existing users will download once. Anyone with v2 cached gets a one-time ~600 MB v3 download on their next transcription. doctor reports the cache state beforehand, which is exactly the "never download after an important meeting" case it was built for, so the sharp edge is already covered.

An engine config key exists but is not wired for version. transcription.engine selects "parakeet" only. If you would rather make this opt-in than a default change, a transcription.model key accepting v2/v3 would be straightforward — say the word and I will rework it that way instead.

v2 is English-only. FluidAudio's v3 TDT model covers 25 European languages
at the same size and speed, and is what FluidAudio itself defaults to.

Verified on a two-track session: both tracks transcribe, timestamps stay
aligned across the mic/system merge, and doctor reports the cache correctly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant