Введение: конец эпохи SFSpeechRecognizer

Если вы разработчик iOS или macOS и когда-либо встраивали в приложение распознавание речи, вы хорошо знакомы с SFSpeechRecognizer — фреймворком, который существовал с iOS 10 и работал на движке Siri. Он справлялся с короткими голосовыми командами, но при длинных записях, шуме или специфической лексике заметно сдавал.

На WWDC 2025 Apple неожиданно тихо представила его замену — SpeechAnalyzer и сопутствующий SpeechTranscriber. Apple представила SpeechAnalyzer на WWDC 2025, чтобы модернизировать свои фреймворки для распознавания речи на устройстве. Интрига в том, что Apple измерила новый SpeechAnalyzer против SFSpeechRecognizer и Whisper на 5 559 фрагментах LibriSpeech, но при этом так и не опубликовала официальные данные по точности.

Именно это побудило независимых разработчиков самостоятельно провести бенчмарки. Результаты получились неожиданными — и, пожалуй, способны изменить то, как тысячи iOS/macOS-приложений будут обрабатывать голос уже в этом году.


Что такое SpeechAnalyzer и чем он отличается от предшественника

В iOS 10 Apple представила SFSpeechRecognizer — класс, дававший доступ к движку распознавания речи Siri. Он хорошо работал для короткой диктовки и мог использовать серверы Apple на слабых устройствах, но не справлялся с рядом сценариев и требовал ручного добавления языков.

Для повышения эффективности в iOS 26 и macOS Tahoe Apple представила новый класс SpeechAnalyzer и модуль SpeechTranscriber. Новая модель быстрее и гибче, чем та, что была доступна через SFSpeechRecognizer. Она оптимизирована для длинных и удалённых аудиозаписей — лекций, совещаний и разговоров.

SpeechAnalyzer поддерживает функции Notes, Voice Memos, Journal и других приложений Apple.

ℹ Что такое WER?
Word Error Rate (WER) — доля слов, которые движок заменил, пропустил или придумал. Чем ниже — тем лучше. WER 2% означает, что из 100 слов ошибочны лишь 2.

Архитектурно SpeechAnalyzer — это закрытая проприетарная модель Apple. Это закрытая модель: её нельзя сравнить с конкретным вариантом Whisper, нельзя дообучить под домен. Точность — ровно та, что отгружает Apple.


Бенчмарк точности: SpeechAnalyzer против Whisper и SFSpeechRecognizer

Методология

Команда Inscribe измерила SpeechAnalyzer против SFSpeechRecognizer и Whisper на 5 559 фрагментах LibriSpeech. Все движки работали полностью на устройстве — Apple M2 Pro, 32 ГБ, macOS 26.5.1.

WER — это доля слов, которые движок заменил, пропустил или выдумал. LibriSpeech test-clean — 2 620 фрагментов чистой речи; test-other — 2 939 более сложных, зашумлённых.

Ключевой результат по точности

Новый API снизил WER в 3,5–4 раза на одном и том же аудио: с 9,02% до 2,12% на чистой речи и с 16,25% до 4,56% на зашумлённой.

Apple SpeechAnalyzer оказался самым точным on-device движком среди протестированных. Он превзошёл все модели Whisper — включая Whisper Small — на обоих наборах LibriSpeech, работая примерно втрое быстрее Whisper Small. А его предшественник SFSpeechRecognizer занял последнее место на чистой речи — хуже даже Whisper Tiny, модели весом 40 МБ.

Сравнительная таблица WER

МодельWER (clean)WER (noisy)Скорость
Apple SpeechAnalyzer2,12%4,56%~3× быстрее Small
Whisper Small~3–4%~7–9%базовая
Whisper Tiny~8–10%~15%+быстрее Small
SFSpeechRecognizer9,02%16,25%медленнее

«Часовое совещание, записанное через legacy API, содержит примерно в четыре раза больше ошибочных слов, чем то же совещание через SpeechAnalyzer.» — Inscribe

Другими словами: часовое совещание, транскрибированное legacy-API, содержит примерно в четыре раза больше ошибочных слов. Если ваше приложение всё ещё использует SFSpeechRecognizer для чего-то длиннее голосовой команды — миграция окупится одной только точностью.

⚠ Не всё так однозначно
Dругое независимое тестирование, проведённое 9to5Mac на реальном подкасте, выявило иную картину: Whisper Large V3 Turbo оказался самым точным с CER 0,3% и WER 1%. Apple показала CER ~3% и WER ~8%. Расхождение объясняется типом аудио: LibriSpeech — это дикторское чтение, подкасты — живая разговорная речь.

Бенчмарк скорости: насколько быстрее?

Если по точности картина зависит от типа аудио, то по скорости данные гораздо более единодушны.

По данным MacStories, новые модели обработали 34-минутный видеофайл объёмом 7 ГБ всего за 45 секунд через инструмент командной строки Yap. Это на 55% быстрее MacWhisper Large V3 Turbo, которому потребовалась 1 минута 41 секунда. VidCap затратил 1:55, а MacWhisper Large V2 — 3:55 на ту же задачу.

На MacBook Pro с M2 Pro и 16 ГБ памяти NVIDIA Parakeet обработал 7:31-минутный аудиофайл за 2 секунды, Apple SpeechAnalyzer — за 9 секунд, а Whisper Large V3 Turbo — за 40 секунд.


graph LR
    A["🎙️ 34 мин видео / 7 ГБ"] --> B["Apple SpeechAnalyzer\n⏱ 45 сек"]
    A --> C["Whisper Large V3 Turbo\n⏱ 1 мин 41 сек"]
    A --> D["VidCap (Whisper)\n⏱ 1 мин 55 сек"]
    A --> E["MacWhisper Large V2\n⏱ 3 мин 55 сек"]
    B --> F["🏆 Победитель по скорости"]

На первый взгляд разница между 0:45 и 1:41 кажется незначительной — и для одного файла так и есть. Но если применить это к часам видео Apple Developer с YouTube, разница становится существенной. При регулярной автоматизации прирост в 2,2× за один раз, несколько раз в неделю, быстро накапливается.

Сравнение скорости обработки (аудиофайл 7:31)

ДвижокВремя обработкиСоотношение к реальному времени
NVIDIA Parakeet2 сек~225×
Apple SpeechAnalyzer9 сек~50×
Whisper Large V3 Turbo40 сек~11×

Сильные и слабые стороны: полный разбор

Преимущества SpeechAnalyzer

  • Приватность. API использует полностью локальную обработку — голосовые данные никогда не покидают iPhone, iPad или Mac. Ничего не загружается в облако.
  • Скорость. На 55% быстрее Whisper Large V3 Turbo при сопоставимом качестве на большинстве сценариев.
  • Длинное аудио, лучшее шумоподавление на удалённых микрофонах и автоматическое определение языка без явного указания локали.
  • Бесплатно для разработчиков. Встроен в ОС, никаких API-ключей и платежей.

Ограничения SpeechAnalyzer

Заметный минус: SpeechAnalyzer в iOS 26 лишён функции Custom Vocabulary, позволявшей разработчикам повышать точность для известных ключевых слов, — а у старого SFSpeechRecognizer эта функция была.

Custom Vocabulary существенно улучшает точность для доменных приложений: медицинской диктовки с названиями препаратов, юридических приложений с цитатами дел, инженерных систем с номерами деталей. SpeechAnalyzer пока не предлагает Custom Vocabulary, и для приложений, зависящих от этой функции, миграция обернётся регрессией.

SFSpeechRecognizer доступен с iOS 10+, SpeechAnalyzer требует iOS 26+. Приложения, нацеленные на iOS 18 и ниже, вынуждены использовать legacy-фреймворк.

SpeechAnalyzer, по всей видимости, привязан к одному языку на запись — без поддержки code-switching внутри одной фразы, что критично для многоязычных сценариев.

При работе с именами собственными или сильными акцентами API может испытывать трудности. Для юридических или медицинских задач может потребоваться ручная проверка.

💡 Совет разработчику
Если ваше приложение работает с доменной лексикой (медицина, юриспруденция, техника) — не спешите мигрировать. До появления Custom Vocabulary в SpeechAnalyzer рассмотрите WhisperKit от Argmax: он поддерживает кастомный словарь и по точности на специализированных задачах превосходит оба Apple-варианта.

Практический пример: интеграция в Swift

Вот минимальный пример транскрипции аудиофайла через новый API:

import Speech

// Запрашиваем разрешение
SFSpeechRecognizer.requestAuthorization { status in
    guard status == .authorized else { return }
}

// Создаём анализатор
let analyzer = SpeechAnalyzer()
let transcriber = SpeechTranscriber(locale: .current)

// Добавляем аудиофайл
let fileURL = Bundle.main.url(forResource: "meeting", withExtension: "m4a")!

Task {
    let result = try await analyzer.transcribe(
        fileURL,
        using: transcriber
    )
    print(result.transcription.formattedString)
}
📝 Что меняется по сравнению с SFSpeechRecognizer
  • Нет SFSpeechURLRecognitionRequest — вместо него прямой async/await
  • Нет явного делегата — результат возвращается как AsyncSequence
  • Есть автоматическая пунктуация и капитализация из коробки
  • Нет серверного фолбэка — только on-device

Кому что выбрать: карта решений


graph TD
    A["Нужен ASR для Apple-платформ?"] --> B{"Минимальный iOS?"}
    B -- "iOS 26+" --> C{"Нужен Custom Vocabulary?"}
    B -- "iOS 18 и ниже" --> D["SFSpeechRecognizer"]
    C -- "Нет" --> E["✅ SpeechAnalyzer"]
    C -- "Да" --> F{"Приоритет?"}
    F -- "Точность на домене" --> G["WhisperKit + Custom Vocab"]
    F -- "Скорость + приватность" --> H["SpeechAnalyzer + постобработка"]

По бенчмаркам Argmax, Apple соответствует скорости и точности Whisper среднего уровня при транскрипции длинной разговорной речи. Разработчики, ищущие бесплатный вариант с таким соотношением скорости и качества, могут выбирать между Apple SpeechAnalyzer и моделями поменьше в WhisperKit — в зависимости от других требований.


Заключение: новая точка отсчёта для on-device ASR

Apple SpeechAnalyzer — это не просто косметическое обновление. Это смена парадигмы: Apple SpeechAnalyzer оказался самым точным on-device движком среди протестированных, превзойдя все варианты Whisper — включая Whisper Small — на обоих наборах LibriSpeech при скорости примерно втрое выше.

SpeechAnalyzer и SpeechTranscriber, доступные на iPhone, iPad, Mac и Vision Pro, знаменуют значительный скачок в скорости транскрипции без ущерба для качества. По ожиданиям экспертов, эта связка со временем заменит Whisper в качестве модели транскрипции по умолчанию для приложений на платформах Apple.

Однако у медали есть обратная сторона. Закрытость модели, отсутствие Custom Vocabulary и привязка к iOS 26+ делают Whisper и WhisperKit по-прежнему актуальными — особенно для многоязычных сценариев, доменной лексики и приложений с широкой поддержкой ОС.

Итоговый вердикт:

  • 🟢 SpeechAnalyzer — лучший выбор для новых приложений на iOS 26+, особенно для длинного аудио и задач, где приватность критична.
  • 🟡 Whisper / WhisperKit — незаменим при мультиязычности, тонкой настройке и поддержке старых ОС.
  • 🔴 SFSpeechRecognizer — пора мигрировать: по точности он уступает даже Whisper Tiny.