UX диаризации: флаг, число участников, зависимость и поведение на OpenVINO #16
Notifications
Due Date
No due date set.
Blocks
Depends on
#17 Свести решения карты в ADR и спеку
ddmitry/local-transcriber
#9 Куда движутся ONNX Runtime и OpenVINO: сравнение жизненного цикла
ddmitry/local-transcriber
#14 Выбрать единицу привязки спикера к тексту
ddmitry/local-transcriber
#19 Модели диаризации в батч-режиме: время жизни и память
ddmitry/local-transcriber
Reference: ddmitry/local-transcriber#16
Reference in New Issue
Block a user
Часть карты: Карта: диаризация спикеров в транскрипте (#8)
Question
Как пользователь включает диаризацию и что происходит там, где она невозможна?
время — подтвердить это как решение;
примеров дала 29 говорящих вместо трёх, так что явная ручка выглядит
необходимой. Нужна ли она в
.transcriber.tomlнаравне с CLI;sherpa-onnxкак extra (uv sync --extra diarization) или входитв основные зависимости: 33 МБ моделей качаются отдельно, сам пакет около 18 МБ;
--device openvino-*: OpenVINO GenAI 2026.x upstream ужеотдаёт word-level timestamps, но проектный backend их не экспортирует. Нужно
ли сначала протянуть их через общий контракт; а для backend/модели без таких
таймкодов — запрещать диаризацию с внятным сообщением, давать огрублённую с
предупреждением или переключать устройство. Решение опирается на закрытый
research о жизненном цикле движков;
упала;
Ответ фиксирует интерфейс и поведение во всех перечисленных случаях.
Решение
Включение и параметры первой версии
--diarize; в.transcriber.tomlнастройка пока не добавляется.--speakers N,N >= 1, служит редкой ручной страховкой от ошибки автоматического числа кластеров и сам подразумевает включение диаризации. Без параметра используется автоматический режим: WeSpeaker, порог 0,89,num_clusters=-1.Установка и модели
sherpa-onnxвходит в обычные runtime-зависимости: пользователь не выполняет отдельную установку extra.Временные привязки и устройства
Результаты и деградация
Speaker 1не выводятся: сохраняется обычный Markdown, в шапке и консоли указывается причина, exit code ненулевой.Speaker ?; их количество указывается в предупреждении, но exit code остаётся 0.--force.--verboseостаётся консольным логом без отдельных диагностических артефактов по #20.После стабилизации
#23 определит измеримый критерий «достаточно мощной техники», автоматический режим и явный
--no-diarize. Параллельность остаётся отдельной оптимизацией #22 и не входит в это решение.