Локальные голоса Siri в macOS 27: что внутри
SirimacOS 27локальный TTS
Что именно нашли под капотом
Под новыми голосами Siri работает локальный генеративный стек, а не обычный синтезатор с небольшим набором интонаций. Меня здесь цепляет сочетание LLM и потокового аудиодекодера: такая схема позволяет учитывать смысл текста, управлять подачей и начинать воспроизведение до завершения всей генерации.
Apple в публичной документации Siri AI (Beta) подтверждает использование продвинутой модели на устройстве, но внутреннюю архитектуру не раскрывает. Там же указаны требования на момент тестирования macOS 27: Mac с M3 или новее и не менее 12 ГБ объединённой памяти. Пользователю доступны настройки темпа и выразительности.
Независимая разборка добавляет неофициальные детали. В системе обнаружен файл instruct_3b.voice, связанный с голосовой моделью. На момент исследования она работала с английским, немецким и японским языками, понимала содержание текста и принимала часть тегов эмоций, хотя этот механизм Apple не документирует.
Параметр expressivity влияет не только на условную эмоциональность. Судя по наблюдениям, модель связывает выразительность с семантикой фразы, поэтому результат нельзя свести к простому изменению высоты тона или скорости. По качеству это ещё не уровень новых голосовых моделей ElevenLabs и Gemini, но и привычного монотонного бубнения здесь уже нет.
Главное ограничение проявилось на длинной генерации. Максимальная длина в тесте составила 163 секунды, однако примерно после минуты модель начинала деградировать и могла зациклиться на одном слове. Разбиение текста на чанки заметно снижало деградацию голоса, тогда как работа с float-представлением сильнее портила результат.
Почему это интересно разработчикам
Это уже полезный локальный TTS-конструктор, но пока не готовый производственный компонент. Потоковый декодер подходит для интерфейсов с низкой задержкой, а обработка смысла и эмоций даёт больше контроля, чем классический синтез речи.
Самая любопытная часть разборки связана с возможностью подставлять собственные голосовые эмбеддинги. Публичного API и документации для этого у Apple нет, поэтому рассчитывать на стабильность формата нельзя: внутренний файл, параметры или поведение могут измениться вместе с очередной сборкой системы.
Я бы первым делом проверял границы чанков, накопление ошибок декодера и повторяемость интонации между фрагментами. Лимит в 163 секунды выглядит внушительно только на бумаге, если реальная устойчивость заканчивается после минуты. Здесь уже виден сильный локальный голосовой движок, но главный инженерный вопрос пока не в красоте голоса, а в предсказуемости длинной генерации.