<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/introducing-anyspeechrecognizer-and-anydecisionmodel-open-models-for-speech-and-decisions-on-apple--gt9jk5x6l" -->

---
title: Introducing AnySpeechRecognizer and AnyDecisionModel:...
description: Hugging Face released two Swift packages, AnySpeechRecognizer and AnyDecisionModel, for Apple platforms. AnySpeechRecognizer mirrors Apple's SpeechAnalyzer API...
canonical: https://daily.dev/posts/introducing-anyspeechrecognizer-and-anydecisionmodel-open-models-for-speech-and-decisions-on-apple--gt9jk5x6l
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Introducing AnySpeechRecognizer and AnyDecisionModel: Open Models for Speech and Decisions on Apple Platforms | daily.dev
og:description: Hugging Face released two Swift packages, AnySpeechRecognizer and AnyDecisionModel, for Apple platforms. AnySpeechRecognizer mirrors Apple's SpeechAnalyzer API...
og:url: https://daily.dev/posts/introducing-anyspeechrecognizer-and-anydecisionmodel-open-models-for-speech-and-decisions-on-apple--gt9jk5x6l
og:image: https://api.daily.dev/og/posts/gt9Jk5x6l.png
og:image:alt: Introducing AnySpeechRecognizer and AnyDecisionModel: Open Models for Speech and Decisions on Apple Platforms
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducing AnySpeechRecognizer and AnyDecisionModel: Open Models for Speech and Decisions on Apple Platforms

**[Hugging Face](https://daily.dev/sources/huggingface)** · 13 min read · 0 upvotes · 0 comments

## Summary

Hugging Face released two Swift packages, AnySpeechRecognizer and AnyDecisionModel, for Apple platforms. AnySpeechRecognizer mirrors Apple's SpeechAnalyzer API but lets you swap in NVIDIA's Parakeet or Alibaba's Qwen3-ASR running locally on Core ML, and adds speaker diarization for up to four speakers using NVIDIA's Sortformer. On LibriSpeech test-clean, Parakeet Unified scored a 1.43% word error rate versus Apple's own transcriber at 2.12%. AnyDecisionModel answers yes-or-no, multiple-choice, and rating questions by reading model probabilities instead of generated text, with six backends including MLX, Core AI, llama.cpp, Jev, and Ollama. Both packages require Swift 6.2 and macOS 26 or iOS 26 or later.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://huggingface.co/blog/anydecisionmodel>

## Questions this post answers

### How does Parakeet's word error rate compare to Apple's built-in SpeechAnalyzer on macOS 26?

Parakeet Unified scored a 1.43% word error rate on LibriSpeech test-clean (file mode), compared to 2.12% for Apple's own transcriber. On test-other, Parakeet Unified scored 2.19% versus Apple's 3.97%. These measurements were taken on an M4 Max Mac Studio running macOS 27.0.1 using the AnySpeechRecognizer package's 'hear' command-line tool.

_daily.dev surfaces benchmarks like this for developers picking a speech recognition engine._

### How can I add speaker diarization to Apple's SpeechAnalyzer API since it doesn't include one?

Apple's Speech framework has no diarization module, but the AnySpeechRecognizer Swift package adds a SpeakerDiarizer that runs NVIDIA's Streaming Sortformer model on Core ML alongside an Apple or Parakeet transcriber on the same timeline. It tracks up to four speakers, even when they talk over each other, and a SpeakerTimeline attributes each timed word to a speaker.

_developers wiring up multi-speaker transcripts can track tools like this on daily.dev._

### How can I get probability scores from a language model instead of just generated text for a yes-or-no decision?

The AnyDecisionModel Swift package reads next-token probabilities for a fixed set of allowed labels in one forward pass instead of parsing generated text. Calling session.probability(of:) on a DecisionSession returns a Double, while choice and score methods return typed results with per-option probabilities and a confidence value based on answer entropy. It supports MLX, Core AI, llama.cpp, trained decision-head models like Cloudflare's Clef, Jev, and Ollama backends.

_teams deciding how to extract structured confidence from LLM outputs can follow approaches like this on daily.dev._

## Similar posts on daily.dev

- [NVIDIA PersonaPlex 7B on Apple Silicon: Full-Duplex Speech-to-Speech in Native Swift with MLX](https://daily.dev/posts/nvidia-personaplex-7b-on-apple-silicon-full-duplex-speech-to-speech-in-native-swift-with-mlx-ngpisgj6s) · Hacker News · 0 upvotes · 0 comments
- [Integrate Local and Open-Source Core AI Models Into Stream Chat](https://daily.dev/posts/integrate-local-and-open-source-core-ai-models-into-stream-chat-7ghbibp4z) · Medium · 0 upvotes · 0 comments

---

Tags: [#swift](https://daily.dev/tags/swift), [#speech-recognition](https://daily.dev/tags/speech-recognition), [#mlx](https://daily.dev/tags/mlx)

[View this post on daily.dev](https://daily.dev/posts/introducing-anyspeechrecognizer-and-anydecisionmodel-open-models-for-speech-and-decisions-on-apple--gt9jk5x6l)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Introducing AnySpeechRecognizer and AnyDecisionModel: Open Models for Speech and Decisions on Apple Platforms","url":"https://daily.dev/posts/introducing-anyspeechrecognizer-and-anydecisionmodel-open-models-for-speech-and-decisions-on-apple--gt9jk5x6l","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/introducing-anyspeechrecognizer-and-anydecisionmodel-open-models-for-speech-and-decisions-on-apple--gt9jk5x6l"},"datePublished":"2026-10-29T12:10:16.642Z","dateModified":"2026-10-29T12:10:47.368Z","description":"Hugging Face released two Swift packages, AnySpeechRecognizer and AnyDecisionModel, for Apple platforms. AnySpeechRecognizer mirrors Apple's SpeechAnalyzer API...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/72ade8623aa029c131e5772879fe8b11?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/72ade8623aa029c131e5772879fe8b11?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hugging Face","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hugging Face","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/f1f55c67d81a4330acf5b90b26b0c8e1","url":"https://daily.dev/sources/huggingface"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/introducing-anyspeechrecognizer-and-anydecisionmodel-open-models-for-speech-and-decisions-on-apple--gt9jk5x6l","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"swift,speech-recognition,mlx","timeRequired":"PT13M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hugging Face","item":"https://daily.dev/sources/huggingface"},{"@type":"ListItem","position":3,"name":"Introducing AnySpeechRecognizer and AnyDecisionModel: Open Models for Speech and Decisions on Apple Platforms"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/introducing-anyspeechrecognizer-and-anydecisionmodel-open-models-for-speech-and-decisions-on-apple--gt9jk5x6l#faq","mainEntity":[{"@type":"Question","name":"How does Parakeet's word error rate compare to Apple's built-in SpeechAnalyzer on macOS 26?","acceptedAnswer":{"@type":"Answer","text":"Parakeet Unified scored a 1.43% word error rate on LibriSpeech test-clean (file mode), compared to 2.12% for Apple's own transcriber. On test-other, Parakeet Unified scored 2.19% versus Apple's 3.97%. These measurements were taken on an M4 Max Mac Studio running macOS 27.0.1 using the AnySpeechRecognizer package's 'hear' command-line tool. daily.dev surfaces benchmarks like this for developers picking a speech recognition engine."}},{"@type":"Question","name":"How can I add speaker diarization to Apple's SpeechAnalyzer API since it doesn't include one?","acceptedAnswer":{"@type":"Answer","text":"Apple's Speech framework has no diarization module, but the AnySpeechRecognizer Swift package adds a SpeakerDiarizer that runs NVIDIA's Streaming Sortformer model on Core ML alongside an Apple or Parakeet transcriber on the same timeline. It tracks up to four speakers, even when they talk over each other, and a SpeakerTimeline attributes each timed word to a speaker. developers wiring up multi-speaker transcripts can track tools like this on daily.dev."}},{"@type":"Question","name":"How can I get probability scores from a language model instead of just generated text for a yes-or-no decision?","acceptedAnswer":{"@type":"Answer","text":"The AnyDecisionModel Swift package reads next-token probabilities for a fixed set of allowed labels in one forward pass instead of parsing generated text. Calling session.probability(of:) on a DecisionSession returns a Double, while choice and score methods return typed results with per-option probabilities and a confidence value based on answer entropy. It supports MLX, Core AI, llama.cpp, trained decision-head models like Cloudflare's Clef, Jev, and Ollama backends. teams deciding how to extract structured confidence from LLM outputs can follow approaches like this on daily.dev."}}]}
```

