Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

AI news & research

News ·

Hugging Face releases Swift packages for local speech and decision models on Apple

Hugging Face has released AnySpeechRecognizer, which mirrors Apple's SpeechAnalyzer API but lets apps swap in engines such as NVIDIA Parakeet or Qwen3-ASR and adds speaker diarisation, and AnyDecisionModel for typed yes/no, choice and rating answers. On an M4 Max, Parakeet Unified scored 1.43% word error on LibriSpeech clean against 2.12% for Apple's engine.

Apple added a new speech-to-text API, SpeechAnalyzer, in macOS 26 and iOS 26, but apps that use it are tied to Apple's own recognition engine. Hugging Face has released two open-source Swift packages that loosen that tie. AnySpeechRecognizer copies Apple's API names so that an existing app can switch engines by changing an import and one line of setup, and AnyDecisionModel gives developers a typed way to ask a model yes-or-no, multiple-choice and rating questions. Both download open models from the Hugging Face Hub and run them on the device.

The speech package supports three versions of NVIDIA's Parakeet, including Parakeet TDT 0.6B v3, which recognises 25 European languages, and Alibaba's Qwen3-ASR in 0.6B and 1.7B sizes, which covers 30 languages and 22 Chinese dialects. Hugging Face converted the models to Core ML and pins each to a fixed revision. It also adds something Apple lacks: speaker diarisation, using NVIDIA's Streaming Sortformer to label up to four speakers, even when they talk over each other. On an M4 Max Mac Studio, Hugging Face measured 1.43% word error on clean LibriSpeech audio for Parakeet Unified, against 2.12% for Apple's engine, and says Parakeet transcribes an hour of audio from a file in about 20 to 40 seconds using about 100 MB of memory. Each Parakeet download is about 600 MB.

AnyDecisionModel takes a different approach to a common job: deciding whether a message is urgent or which team should get a ticket. Instead of parsing the text a language model writes, it reads the probability the model assigns to each allowed answer, so the app gets a confidence figure with every decision. It can run small models locally through MLX, Core AI or llama.cpp, use Cloudflare's Clef, a model trained specifically for decisions, or call hosted services such as Jev and Ollama. The package includes calibration options, because raw model probabilities tend to be overconfident.

For Apple developers this lowers the cost of trying the speech models we review, Parakeet TDT 0.6B v3 and Qwen3-ASR, without committing to a new API, and of moving classification work from a cloud chat model to the device. The packages have no third-party dependencies unless the local backends are switched on.

The limits are clear in Hugging Face's own write-up. All measurements come from one Mac and a few datasets, and the packages have been tested only on macOS 27, not on an iPhone. On the AMI meeting recordings every engine had a word error rate above 23%, so overlapping, real-world conversation remains hard whichever engine you choose. Qwen3-ASR is much slower than Parakeet and needs a few gigabytes of memory, and the Core AI decision backend cannot yet be combined with the speech package because of a dependency conflict.

Our take: For Mac and iOS developers this is a cheap way to get better on-device transcription without rewriting code against a new API. It has only been tested on macOS so far, and every engine stayed above 23% error on meeting recordings, so do not expect it to solve messy real-world audio.

Our reviews:Parakeet TDT 0.6B v3Qwen3-ASR (1.7B and 0.6B)Clef

Source: Hugging Face

More stories