Skip to content
Neural Daily

ToolsNews

AnySpeechRecognizer and AnyDecisionModel for Swift

🇭🇺 Olvasd el magyarul →

Hugging Face released two Swift packages for Apple platforms. AnySpeechRecognizer puts other engines such as Parakeet and Qwen3-ASR behind Apple's speech-to-text API, and AnyDecisionModel returns a model's decisions with probabilities.

By: Mikola Máté Patrik · · 3 min read

Hugging Face banner: AnyDecisionModel, AnySpeechRecognizer, Open Models for Decisions and Speech on Apple Platforms, with clay figures of a microphone, a magnet lifting winter clothes, emoji faces, a dog, an apple, a bicycle, a cactus and a teapot
Image: Hugging Face · Press kit · Official blog banner (og:image) · Source

What changed

Following AnyLanguageModel, Hugging Face announced two new open Swift packages for Apple platforms (Hugging Face blog). Both follow the same pattern: a familiar API with a choice of model behind it, downloaded from the Hub and run on device.

AnySpeechRecognizer: other engines behind Apple's API

macOS 26 and iOS 26 introduced SpeechAnalyzer, Apple's speech-to-text API, but the only engine behind it is Apple's. AnySpeechRecognizer mirrors that API, so in many cases changing the import is enough. Apple's engine stays the default, and switching takes one line.

  • Parakeet v3 (NVIDIA): 25 European languages with automatic language detection.
  • Parakeet Ultra: Moondream's post-trained take on v3, more accurate in most measurements.
  • Parakeet Unified: NVIDIA's English-only model.
  • Qwen3-ASR (Alibaba) in 0.6B and 1.7B sizes: 30 languages and 22 Chinese dialects, but slower and better suited to files.

It also adds speaker diarization, which Apple's framework lacks: NVIDIA's Streaming Sortformer tracks up to four speakers, even when they overlap, and attributes each word to a speaker. Hugging Face converted the models to Core ML and published them on the Hub.

How well does it work?

Word error rates from Hugging Face's own measurements on an M4 Max Mac Studio, using 3 to 8 minute LibriSpeech files (test-clean):

  • Parakeet Unified, file: 1.43%
  • Parakeet v3, file: 1.55%
  • Parakeet Ultra, file: 1.66%
  • Apple's transcriber, file: 2.12%

Parakeet transcribes an hour of audio in about 20 to 40 seconds from a file, or 1.5 to 2.5 minutes live, using about 100 MB of memory. On meeting recordings (AMI), every engine tested stayed above 23% word error rate. The authors note these numbers come from one machine and a few datasets, and they haven't tested on an iPhone yet.

AnyDecisionModel: decisions with probabilities, not text

AnyDecisionModel answers yes-or-no, multiple-choice and rating-scale questions with typed results. Instead of parsing generated text, it reads the decision from the model's probabilities, so you get a probability for every option plus a confidence value. Typical uses: is a customer message urgent, which team should get a ticket, how frustrated is the customer.

It has six backends: MLX, MLX with trained decision heads (such as Cloudflare's Clef models), Core AI, llama.cpp, TypeSafe's Jev service and Ollama. The Emoji Magnet demo app answers 16 questions in about 0.45 seconds with Qwen3 4B running locally on a Mac. Calibration for overconfident probabilities and a setting against option-order bias are included.

Why it matters

For Apple developers this means open, on-device speech recognition behind an Apple-compatible API, diarization included. AnyDecisionModel replaces the common "ask the LLM and parse the text" pattern with decisions you can measure and calibrate.

Try it

Both packages need Swift 6.2 and macOS 26 or iOS 26; Parakeet and the MLX backend require Apple silicon. Install them with Swift Package Manager (AnySpeechRecognizer 0.1.0, AnyDecisionModel 0.6.0). AnySpeechRecognizer also ships hear, a command-line tool for transcription and evaluation.

    Produced with the help of AI, reviewed by an editor. How we make our articles

    Reviewed and edited by the Neural Daily desk. About

    Related articles