Когда вы расшифровываете интервью или встречу с несколькими участниками, важно знать, кто произнёс каждую фразу. Whisper Notes распознаёт речь и определяет говорящих офлайн, прямо на iPhone или Mac, поэтому для каждой модели в приложении мы ищем баланс между точностью и скоростью, и точность для нас всегда была важнее. Недавно мы заменили встроенную модель диаризации pyannote community-1 на Nemotron 3 Diarization от NVIDIA и сравнили их на 122 открытых записях, где говорят от одного до двенадцати человек: доля ошибок диаризации (DER) снизилась с 16,0 % до 9,9 %.
Nemotron 3 снижает долю ошибок диаризации с 16,0 % до 9,9 %
Доля ошибок диаризации (DER) — это сумма трёх видов ошибок, измеренных по времени речи: речь, приписанная не тому человеку, пропущенная речь и шум, принятый за речь. Это стандартная метрика диаризации. В таблице рядом с ней — проблемы, которые пользователи замечают чаще всего, а также скорость и расход памяти обеих моделей на Mac и iPhone.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Доля ошибок диаризации, 122 записи | 16,0 % | 9,9 % |
| Число говорящих определено верно | 52 % записей | 80 % записей |
| Речь, приписанная не тому человеку | 4,5 % | 1,0 % |
| 1 час аудио на Mac (M5) | около 22 с | около 8,5 с |
| Память на Mac | 0,88 ГБ | 0,12 ГБ |
| 55-минутная запись на iPhone 15 | около 27 с | около 12 с |
| Дополнительная память на iPhone 15 | около 830 МБ | около 30 МБ |
| Максимум говорящих | Без жёсткого ограничения (в приложении до 10) | 8 |
Зелёным здесь и во всех таблицах и графиках ниже отмечено лучшее значение, если разница превышает погрешность: для точности — если 95-процентный интервал не включает ноль, для скорости и памяти — если разрыв намного больше разброса между запусками. Для долей ошибок: чем ниже, тем лучше. Данные о точности получены на 122 открытых записях (25 часов, английский и китайский). Скорость и память измерены для обеих моделей, работающих через Core ML, причём Nemotron 3 — на Neural Engine; для Mac указано только время обработки, для iPhone — время от начала определения до результата.
Снижение не сводится к нескольким записям. На графике — изменение на каждой из 122 записей, от наибольшего снижения к наибольшему росту:
Каждый столбец — одна запись: на сколько пунктов изменилась её доля ошибок с Nemotron 3. Ниже нуля — снизилась, выше нуля — выросла.
Nemotron 3 уступает в трёх случаях: на записях, где говорящих больше восьми, на записях с одним говорящим и по числу разрывов абзаца посреди предложения.
Путаница говорящих почти исчезла: 4,5 % → 1,0 %
Из трёх видов ошибок первой бросается в глаза речь, приписанная не тому человеку: слова верные, а имя — нет. С Nemotron 3 таких ошибок почти не остаётся, и пропущенной речи тоже становится меньше.
Среднее по 122 записям, в процентах от времени речи; оба столбца в каждой строке начинаются с нуля. Снижение для речи, приписанной не тому человеку, и для пропущенной речи больше погрешности. Разница для шума, принятого за речь, укладывается в погрешность, поэтому этот столбец светло-серый. Значения округлены, так что их сумма может не совпадать с итогом.
Верное число говорящих — в 80 % записей вместо 52 %
Если модель находит слишком мало говорящих, значит, два голоса слились в один, и реплики двух людей попадают под одну метку. Это самая частая ошибка pyannote community-1, а Nemotron 3 допускает её намного реже.
Сколько говорящих нашла каждая модель на 122 записях по сравнению с реальным числом. pyannote community-1 в основном недосчитывается говорящих. Nemotron 3 чаще находит верное число, а когда ошибается, лишние говорящие у неё появляются так же часто, как недостающие.
Лучше на встречах, в эфирах и на записях с двумя–восемью говорящими
Записи сильно различаются по сложности: встречи, записанные дальним микрофоном, — самые трудные, эфиры — самые простые. Если разбить записи по типу, языку и числу говорящих, в каждой группе, где не меньше десяти записей, доля ошибок ниже; для группы с одним говорящим разница в пределах погрешности. Три записи с девятью–двенадцатью говорящими стали хуже, но их слишком мало для проверки.
Оба столбца в каждой группе начинаются с нуля: серый — pyannote community-1, зелёный — Nemotron 3, число в конце столбца — средняя доля ошибок. Зелёный означает снижение больше погрешности, светло-серый — разницу в пределах погрешности, жёлтый — рост. Звонки по финансовым результатам (6 записей) учтены в общих итогах, но для отдельной группы их слишком мало.
Правка расшифровки: с 28,9 до 18,9 ручных исправлений на 10 минут
В итоге доля ошибок превращается в работу: сколько раз нужно объединить или разделить абзацы и сменить говорящего, чтобы в режиме говорящих всё было верно. Мы посчитали минимальное число таких исправлений на 4 записях двух собеседников, для которых есть пословная эталонная расшифровка (2 на нидерландском, 1 на китайском, 1 на финском). Ещё одна заметная ошибка — когда предложение одного человека разрезано между двумя говорящими. На 12 английских встречах, записанных дальним микрофоном, обе модели делают это редко, и разница в пределах погрешности.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Ручных исправлений на 10 минут, 4 записи двух собеседников | 28,9 | 18,9 |
| Предложение разрезано между двумя говорящими, 12 английских встреч | 0,58 % предложений | 0,88 % предложений |
Число ручных исправлений получено всего на 4 записях: этого мало для статистической проверки или общего вывода. Разрезанное предложение — это предложение одного человека, текст которого попал в абзацы двух говорящих.
Nemotron 3 быстрее и потребляет в семь с лишним раз меньше памяти
На устройстве скорость и память важны не меньше точности. В таблице — время обработки и расход памяти для обеих моделей, работающих через Core ML, причём Nemotron 3 — на Neural Engine. На всех проверенных устройствах Nemotron 3 быстрее и расходует гораздо меньше памяти. Особенно это важно на старых iPhone с 4 ГБ памяти.
| pyannote community‑1 | Nemotron 3 | |
|---|---|---|
| Mac (M5) | ||
| 1 час аудио | около 22 с | около 8,5 с |
| Память | 0,88 ГБ | 0,12 ГБ |
| iPhone 15 | ||
| 55-минутная запись | 26,6 с | 11,8 с |
| Дополнительная память во время определения | 833 МБ | 30 МБ |
| iPhone 12 mini | ||
| 55-минутная запись | 30,1 с | 17,2 с |
| Пиковая память приложения во время определения | 638 МБ | 71 МБ |
Медиана нескольких запусков (pyannote community-1 на iPhone 15 запускалась один раз), везде один и тот же 55-минутный звонок по финансовым результатам с 10 говорящими. Обе модели работают через Core ML, Nemotron 3 — на Neural Engine. Для Mac указано только время обработки, без декодирования аудио и загрузки модели. Для iPhone время отсчитывается от начала определения до результата и включает загрузку модели, а для pyannote community-1 — ещё и постобработку, с которой она поставлялась. Телефоны были подключены по USB, и каждый запуск начинался на остывшем телефоне.
Когда Core ML впервые запускает модель на Neural Engine, он компилирует её под это устройство: около 7 секунд на Mac и около минуты на iPhone 15. После этого модель загружается за доли секунды.
Где pyannote community-1 по-прежнему лучше
- Больше восьми говорящих. Nemotron 3 размечает не больше восьми человек. Из 3 наших записей с девятью–двенадцатью говорящими на 2 её результат хуже, чем у pyannote community-1.
- Один говорящий. Из 14 записей с одним говорящим лишние говорящие появились у Nemotron 3 в 5, у pyannote community-1 — в 1.
- Разрывы посреди предложения. На 12 английских встречах 25,8 % разрывов абзацев пришлись на середину предложения, у pyannote community-1 — 14,6 %.
Как получить от Nemotron 3 в Whisper Notes лучший результат
- Укажите число говорящих, если знаете его. На 108 записях с двумя и более говорящими подсказка с числом говорящих исправила результат Nemotron 3 в 15 записях и ни в одной его не испортила, а доля ошибок заметно не изменилась (+0,16 п. п., в пределах погрешности).
- Если говорит один человек, не запускайте определение говорящих. Так не появится случайный второй «говорящий».
- Если говорящих больше восьми, считайте метки черновиком. При необходимости объедините и переименуйте говорящих в режиме говорящих.
Число говорящих задаётся через Not right? в режиме говорящих на Mac
Определение говорящих работает одинаково на iPhone и Mac, целиком на устройстве. Как пользоваться им в приложении, читайте в статье Whisper Notes теперь определяет говорящих.
Как они устроены: pyannote режет и кластеризует, Nemotron 3 нумерует говорящих в порядке первой реплики
pyannote community-1 — конвейер из трёх шагов. Сначала он режет аудио на 10-секундные окна и в каждом находит, кто говорит (до 3 человек в окне, до 2 одновременно). Затем для каждого фрагмента речи извлекается голосовой отпечаток, или эмбеддинг. Наконец, кластеризация VBx объединяет похожие отпечатки в говорящих. Номера говорящих действуют только внутри своего окна, поэтому общее число говорящих определяется лишь на последнем шаге.
Nemotron 3 Diarization — одна модель: 31-слойный энкодер-трансформер, который в каждый момент оценивает восемь дорожек говорящих. Каждая дорожка оценивается отдельно, поэтому, когда несколько человек говорят одновременно, активны несколько дорожек. Модель следует подходу Sortformer от NVIDIA и нумерует дорожки по тому, когда человек заговорил впервые: первый заговоривший всегда на дорожке 1, так что модели не нужно угадывать, в какой слот поместить голос. В потоковом режиме, описанном в карточке модели, кэш говорящих, упорядоченный по времени появления, запоминает прежних говорящих, и более поздний фрагмент можно сопоставить с тем же номером.
У каждого подхода свой предел. pyannote community-1 не ограничивает число говорящих, но в один момент разделяет не больше двух человек. Nemotron 3 размечает нескольких людей, говорящих одновременно, но дорожек у неё восемь, поэтому она находит не больше восьми говорящих.
Схемы упрощены. pyannote community-1: около 21 МБ в Whisper Notes, CC BY 4.0 (карточка модели); модель сегментации — Plaquet и Bredin (Interspeech 2023), эмбеддинги — WeSpeaker, кластеризация — VBx (Landini и др., 2022). Nemotron 3 Diarization: 97 МБ (8-битная конвертация в Core ML от Fluid Inference), около 100 миллионов параметров, OpenMDW 1.1 (карточка модели); метод описан в статьях Sortformer и Streaming Sortformer.
Как мы тестировали
- Записи. 122 открытые записи, 25 часов, на английском и китайском, от 1 до 12 говорящих в каждой: встречи, записанные дальним микрофоном, эфиры, звонки по финансовым результатам и записи одного говорящего, склеенные из отдельных фрагментов. Ещё 5 записей двух собеседников на английском, нидерландском, китайском и финском; для 4 из них есть пословная эталонная расшифровка.
- Наборы данных. AMI, AISHELL-4, AliMeeting, VoxConverse, Earnings-21, LibriSpeech, IFADV и SKN, а также наши собственные записи. Только наборы, лицензии которых разрешают публиковать результаты; записей наших пользователей здесь нет.
- Метрика. Доля ошибок диаризации, кадры по 10 мс без допуска на границах (collar), с учётом перекрывающейся речи, среднее по записям.
- Статистика. 95-процентные интервалы по 10 000 бутстреп-выборок целых записей; для групп, где меньше десяти записей, интервалы не приводятся.
- Устройства. Mac с чипом M5, iPhone 15 и iPhone 12 mini; точность считалась на Mac.
- Предварительная регистрация. План теста был зафиксирован 2 ноября 2026 года, а разбивка записей двух собеседников — 4 ноября, до того как какая-либо модель обработала эти фрагменты.
Все подробности теста
Отбор. Вопросы и правила были зафиксированы для более крупного бенчмарка до первого запуска. Это подмножество мы выбрали по лицензии, а не по результатам, и пересчитали цифры по тем же выходам моделей тем же способом подсчёта. Записи одного говорящего, склеенные из фрагментов LibriSpeech и AISHELL-4, учитываются по своему источнику. Мы публикуем только сводные результаты — без аудио и эталонных текстов.
| Набор данных | Лицензия | Использованные записи |
|---|---|---|
| AMI Meeting Corpus | CC BY 4.0 | 16 встреч и 16 фрагментов по минуте |
| AISHELL-4 | CC BY-SA 4.0 | 5 встреч, 5 фрагментов, 5 склеенных записей одного говорящего |
| AliMeeting | CC BY-SA 4.0 | 8 встреч, 8 фрагментов, 1 запись двух собеседников |
| VoxConverse | CC BY 4.0 (авторские права на видео остаются у владельцев) | 30 эфиров и 18 фрагментов |
| Earnings-21 | CC BY-SA 4.0 | 6 звонков по финансовым результатам, 1 запись двух собеседников |
| LibriSpeech | CC BY 4.0 | 5 склеенных записей одного говорящего |
| IFADV | GNU GPL v2 или новее | 2 записи двух собеседников |
| Образцы финских диалектов SKN | CC BY (Институт языков Финляндии) | 1 запись двух собеседников |
Лицензии указаны так, как они приведены на странице каждого набора данных; проверено в ноябре 2026 года.
Интервалы. Общая доля ошибок снизилась на 6,0 п. п. (от 4,5 до 7,6). Пропущенная речь сократилась на 2,3 п. п. (от 1,3 до 3,4), речь, приписанная не тому человеку, — на 3,4 п. п. (от 2,4 до 4,6); шум, принятый за речь, — на 0,30 п. п., в пределах погрешности (от −0,02 до 0,62). Доля записей с верным числом говорящих выросла на 27,9 п. п. (от 17,2 до 38,5). В группах все интервалы, кроме группы с одним говорящим, не включают ноль. На 12 английских встречах интервал для разрезанных предложений включает ноль, а для разрывов посреди предложения — нет.
Оценка. Наш скрипт оценки расходится с pyannote.metrics не больше чем на 0,003 п. п.
Больше восьми говорящих. Результаты на таких записях чувствительны к небольшим различиям в чипе и декодировании аудио. На 55-минутном звонке по финансовым результатам с 10 говорящими доля ошибок Nemotron 3 колебалась от 30,6 % до 42,8 % в зависимости от чипа, настроек и аудиодекодера; у pyannote community-1 — 21,6 %.
Настройки постобработки. Часть настроек постобработки выбрана после предварительной регистрации, только на отдельных записях для настройки; тестовые записи использовались только для отчёта о результатах.
Ограничения. Точность измерялась только на английском и китайском; число ручных исправлений получено на 4 записях. Скорость на Mac измерялась на компьютере с M5, где параллельно шла другая работа и стояла бета-версия macOS. Телефоны были подключены по USB, поэтому расход батареи не измерялся.
Попробуйте
Whisper Notes на iPhone и Mac теперь определяет говорящих с помощью Nemotron 3. Если есть вопросы, пишите на support@whispernotes.app.