Summary
With custom vocabulary enabled, Large v3 Turbo (Compact) (openai_whisper-large-v3-v20240930_turbo_632MB) often returns empty text (Result: ... / “Transcription produced no usable text”). The same audio works on other models (e.g. Distil Large v3 Turbo), and clearing vocabulary makes Large v3 Turbo work again.
This looks separate from the silent-PCM / warm-engine issue in #176 / #178 — here the mic path is fine; WhisperKit returns no usable text when promptTokens are set on this turbo variant.
Repro
- Set custom vocabulary (e.g.
GraphQL, HTML, Git, AWS, MongoDB, Zod, Jira, UTF-8, JSON)
- Load Large v3 Turbo (Compact)
- Dictate normally
- Observe empty transcriptions
- Clear vocabulary (or switch to Distil Large v3 Turbo) → works again
Likely cause
VocaMac passes vocabulary to WhisperKit as promptTokens (with usePrefillPrompt). There is a known WhisperKit issue where promptTokens + turbo/distilled models hit the firstTokenLogProbThreshold gate and abort as “no speech”:
VocaMac 0.7.0 depends on WhisperKit ≥0.9.4; may not include a fix yet.
Environment
- VocaMac 0.7.0
- Apple M5 Max
- Model:
openai_whisper-large-v3-v20240930_turbo_632MB
- Custom vocabulary non-empty
Notes
Not proposing a PR yet — not sure the right fix is small (bump WhisperKit vs disable promptTokens on turbo vs expose decode thresholds). Happy to test builds.
Summary
With custom vocabulary enabled, Large v3 Turbo (Compact) (
openai_whisper-large-v3-v20240930_turbo_632MB) often returns empty text (Result: .../ “Transcription produced no usable text”). The same audio works on other models (e.g. Distil Large v3 Turbo), and clearing vocabulary makes Large v3 Turbo work again.This looks separate from the silent-PCM / warm-engine issue in #176 / #178 — here the mic path is fine; WhisperKit returns no usable text when
promptTokensare set on this turbo variant.Repro
GraphQL, HTML, Git, AWS, MongoDB, Zod, Jira, UTF-8, JSON)Likely cause
VocaMac passes vocabulary to WhisperKit as
promptTokens(withusePrefillPrompt). There is a known WhisperKit issue wherepromptTokens+ turbo/distilled models hit thefirstTokenLogProbThresholdgate and abort as “no speech”:VocaMac 0.7.0 depends on WhisperKit ≥0.9.4; may not include a fix yet.
Environment
openai_whisper-large-v3-v20240930_turbo_632MBNotes
Not proposing a PR yet — not sure the right fix is small (bump WhisperKit vs disable promptTokens on turbo vs expose decode thresholds). Happy to test builds.