Skip to main content
Hardware: 2024 MacBook Pro, M4 Pro, 48GB RAM, macOS Tahoe 26.0 (unless noted).

Transcription (Parakeet TDT v3)

25 European languages on FLEURS:

LibriSpeech (English)

v2 has lower English WER — use it if you only need English.

Model Compilation Times

First-load CoreML compile times (ANE compilation): Cold start = first load after install. Warm = subsequent loads from ANE cache.

Custom Vocabulary Boosting

Earnings22 benchmark (771 files, earnings call transcripts with domain-specific terms):

Streaming ASR (Parakeet EOU)

Hardware: Apple M2, 2022, macOS 26. LibriSpeech test-clean (2,620 files, 5.4h audio): 320ms is the recommended default — best accuracy/latency tradeoff.

Voice Activity Detection (Silero VAD v6)

VOiCES Dataset (25 files, clean speech)

MUSAN Full (2,016 files, mixed noise/music/speech)

Speaker Diarization

Offline Pipeline (VBx)

VoxConverse dataset (232 clips): The default is ~2x faster for only ~1.2% worse DER. Use step ratio 0.1 for critical accuracy. Reference: pyannote community-1 on CPU is 1.5-2x RTFx, on MPS is 20-25x RTFx. FluidAudio on ANE is 65-122x RTFx.

Streaming Pipeline (AMI SDM)

5s chunks with 0.8 threshold is the recommended starting point for streaming.
Streaming diarization is 10-15% worse DER than offline. Only use streaming when you critically need real-time speaker labels. For most apps, offline is more than fast enough.

Sortformer (End-to-End Streaming)

Hardware: Apple M2, 2022, macOS 26.1. AMI SDM dataset, NVIDIA high-latency config (30.4s chunks):

Text-to-Speech

Comparison across frameworks generating the same text samples (1s to ~300s of output audio):

Kokoro 82M

CoreML matches MLX speed with 55% less peak RAM. First run takes ~15s for ANE compilation, subsequent loads ~2s.

Running Benchmarks