On-device speech recognition on Apple platforms
An October 29 article introduces AnySpeechRecognizer with a familiar Swift API, engine choice and speaker diarization, alongside AnyDecisionModel.
Interview and voice-note applications face distinct tasks: recognize words, identify who spoke when, and decide how to process the result. An October 29 Hugging Face article introduces AnySpeechRecognizer and AnyDecisionModel, packages that let Apple developers choose models for these tasks.
What changes for developers
AnySpeechRecognizer follows the organization of Apple’s SpeechAnalyzer while allowing a choice of recognition engine. The article describes local Parakeet and Qwen3-ASR models on Core ML. These are application-development components, not a ready-made upload website.
It also adds diarization: labeling who spoke when. This is separate from transcription. Correctly recognized words can still be assigned to the wrong participant, so review text accuracy and speaker labels independently.
Choose an engine for the workload
Start by distinguishing file processing from live input. The article describes Qwen3-ASR as returning a final result for segments of up to 40 seconds, without partial results, word timestamps or confidence. The authors find it slower than Parakeet and better suited to files than live input. Those differences matter more than a general claim that both recognize speech.
Check language support and the selected model’s output features. Model downloads also require device storage and occur when the application requests them. A first launch that downloads models is not the same workload as processing with installed assets.
An interview prototype
Our suggested validation sequence is:
- Select a short real recording with two speakers and known content.
- Prepare a small manual transcript with speaker changes.
- Run the recognition engine and evaluate diarization separately.
- Compare missing words, names, numbers and overlapping voices.
- Repeat on the target device while recording model and settings.
This is a proposed exercise, not a test we conducted. The source explicitly notes the difficulty of meetings with overlapping speech. Accuracy on clean dictation does not establish equivalent performance on a multi-speaker podcast.
AnyDecisionModel serves a different role
The second package returns yes-or-no, multiple-choice or rating-scale results with probabilities. It does not perform transcription. In an editorial prototype, it could choose a processing route from predefined categories after text has been produced.
The article cautions that confidence derived from probability concentration is not proof of correctness. Validate decision thresholds against labeled examples from your own workload. If errors are costly, route uncertain cases to a person.
Implications for media applications
On-device processing can help control execution location and configuration. Choosing a local engine does not, however, describe every network action of the application: model downloads and other connections need separate examination. These packages are not announced as a VIZURAI integration. A useful first outcome is a measured prototype with understood errors, rather than a promise of universal accuracy.
Create your own result
Registration and generation will open at launch. Follow the project for updates in the meantime.
