# turn-1-mini: локальное определение конца реплики через ONNX

Источник: https://modelium.tech/zhurnal/turn-1-mini-onnx-local-voice-endpointing/

turn-1-mini — англоязычная модель p99lab для локального определения момента, когда собеседник закончил говорить. 6 октября 2026 года на Hugging Face появились веса, код и потоковые ONNX-графы под Apache 2.0; вариант int8dyn занимает 7 000 932 байта на диске. Модель не расшифровывает речь, требует вход 16 кГц и не заменяет таймаут в голосовом агенте. Числа eot-bench и скорости принадлежат авторам, а не испытаниям Modelium; ONNX-версия отдельно не оценена на eot-bench.

turn-1-mini: голосовой агент может определить конец реплики локально

p99lab выложила 6 октября 2026 года компактную англоязычную модель **turn-1-mini** для определения конца реплики без распознавания слов. В закреплённой ревизии `598e82f` есть веса PyTorch, исходники и потоковые ONNX-графы. Это отдельный классификатор для решения, пора ли голосовому агенту отвечать: не ASR, не распознавание эмоций и не готовая политика прерывания пользователя. История Hugging Face подтверждает появление файлов 6 октября; датой события не следует считать только `lastModified` карточки. [s1](#src-s1) [s2](#src-s2) [s6](#src-s6)

## Что именно можно запустить

Модель имеет 5 262 337 параметров. В полном манифесте доступны `turn-1-mini.safetensors` и `turn-1-mini.int8.safetensors`, а также четыре ONNX-графа. Для потокового запуска без PyTorch автор предлагает `onnx/turn-1-mini.step.int8dyn.onnx` (7 000 932 байта на диске) или FP32-граф `onnx/turn-1-mini.step.onnx` (21 825 125 байт). Это **размеры файлов**, не минимальные требования к RAM или VRAM. Запуск ONNX на CPU использует `onnxruntime` и `numpy`; зависимость `huggingface_hub` нужна, если граф загружается через помощник Python, а не заранее сохранён локально. [s1](#src-s1) [s2](#src-s2) [s3](#src-s3) [s7](#src-s7)

Каждый шаг получает 2 560 отсчётов моно-аудио 16 кГц (160 мс), возвращает восемь оценок конца реплики с шагом 20 мс и обновлённое состояние. Состояние надо сохранять между шагами для **каждого** потока и сбрасывать между разговорами. В обычных ONNX-графах низкочастотная фильтрация до 4 кГц и log-mel находятся внутри графа: повторно фильтровать вход не требуется. Вариант `nolp` — исключение, для уже подготовленного сигнала. На чужом аудио порог и задержку ответа нужно калибровать отдельно, а также оставлять таймаут и другие правила endpointing. [s1](#src-s1) [s3](#src-s3)

Практический порядок для разработчика: скачайте закреплённый ONNX-граф и соответствующий адаптер `p99turn/onnx_stream.py` из одной ревизии `598e82f`; установите `numpy` и `onnxruntime`; передавайте аудио 16 кГц моно в `Turn1MiniOnnx(path).push(chunk)` и читайте последнюю полученную оценку. Метод `from_pretrained` также принимает параметр `revision` для фиксации репозитория; без него загрузка отслеживает меняющуюся ветку `main`. Этот алгоритм следует исходникам автора, но Modelium не выполнял собственный прогон. Для полностью автономной установки заранее сохраните граф и зависимости. [s3](#src-s3) [s7](#src-s7)

## Что показывают и чего не показывают оценки

По **данным авторов**, на английской части LiveKit eot-bench (400 реплик, 705 внутритуровых пауз, `validation`, ревизия `ca9d98a`, harness `9ee21b5`) FP32-модель получила 22,6% ложных отсечений при 300 мс и 849 мс задержки при 5% отсечений. Это один прогон, а не тест Modelium; пороги и политики задержки бенчмарк подбирает на тех же 400 репликах. Автор прямо отмечает пересечение доверительных интервалов некоторых сравниваемых моделей и более сильные hosted-системы. Замер 1,29 мс на 160-мс шаг сделан авторами на одном ядре Apple M4 Pro с PyTorch и не является временем полного голосового сценария. [s1](#src-s1)

**Не переносите эти цифры на ONNX.** В описании графов автор сообщает, что 8-битный ONNX `int8dyn` не прогонялся на eot-bench; это иной артефакт, чем FP32-путь из основной таблицы. Отдельная оценка INT8-весов в PyTorch и проверка близости графов на тестовом аудио не доказывают те же показатели для ONNX на вашей записи, языке или устройстве. Русскую речь автор не оценивал. [s1](#src-s1) [s3](#src-s3)

## Права и выбор

Веса и код помечены **Apache 2.0**: коммерческое применение допускается при соблюдении условий лицензии и уведомлений. Обучающие аудиокорпуса сторонних владельцев в репозитории не распространяются; их происхождение и условия использования перечислены отдельно в `NOTICE`. Это открытые веса и доступный код, но не обещание, что весь обучающий набор открыт под той же лицензией. [s4](#src-s4) [s5](#src-s5)

**Вывод:** turn-1-mini полезна как один локальный сигнал для англоязычного голосового интерфейса без обязательной транскрипции или облачного обращения на этапе инференса. Для русского продукта и критичного к прерываниям диалога сначала проведите собственную оценку на реальных паузах пользователей. Сравните FP32 и выбранный ONNX-граф на одном наборе записей и отдельно измерьте задержку всего голосового конвейера — авторские числа этого не заменяют. [s1](#src-s1) [s3](#src-s3)

## Источники

1. [p99lab/turn-1-mini: карточка модели на закреплённой ревизии](https://huggingface.co/p99lab/turn-1-mini/blob/598e82fea0001f244a599ed08c6826fdf3e45f59/README.md) — получено 2026-10-06
2. [p99lab/turn-1-mini: полный закреплённый манифест весов и кода](https://huggingface.co/api/models/p99lab/turn-1-mini/revision/598e82fea0001f244a599ed08c6826fdf3e45f59?blobs=true) — получено 2026-10-06
3. [p99lab: инструкция потокового ONNX на закреплённой ревизии](https://huggingface.co/p99lab/turn-1-mini/blob/598e82fea0001f244a599ed08c6826fdf3e45f59/onnx/README.md) — получено 2026-10-06
4. [p99lab: лицензия Apache 2.0 и NOTICE](https://huggingface.co/p99lab/turn-1-mini/blob/598e82fea0001f244a599ed08c6826fdf3e45f59/NOTICE) — получено 2026-10-06
5. [p99lab: Apache License 2.0](https://huggingface.co/p99lab/turn-1-mini/blob/598e82fea0001f244a599ed08c6826fdf3e45f59/LICENSE) — получено 2026-10-06
6. [p99lab: история закреплённых ревизий модели](https://huggingface.co/api/models/p99lab/turn-1-mini/commits/main?limit=12) — получено 2026-10-06
7. [p99lab: реализация потокового ONNX-адаптера](https://huggingface.co/p99lab/turn-1-mini/blob/598e82fea0001f244a599ed08c6826fdf3e45f59/p99turn/onnx_stream.py) — получено 2026-10-06
