Speech

endpointing

Определение конца речевого высказывания в streaming ASR — момент, когда пользователь закончил говорить.

Что такое endpointing

Endpointing (обнаружение конца высказывания, end-of-utterance detection) — задача в streaming ASR: определить, когда пользователь закончил говорить, чтобы финализировать транскрипцию и передать её следующему компоненту (например, LLM-агенту).

Отличие от VAD: VAD определяет наличие речи в каждый момент времени; endpointing определяет конец связного высказывания с учётом пауз.

Почему endpointing сложнее, чем VAD

Естественная речь содержит паузы внутри высказывания: «Принеси мне... [пауза] ... кофе». Слишком агрессивный endpointing обрежет фразу на паузе; слишком консервативный — создаст задержку.

Современные endpointing-системы используют акустические признаки + лингвистические модели для предсказания «завершённости» высказывания.

Методы endpointing

Timeout-based: простейший — считать высказывание законченным после N миллисекунд тишины. Параметры типично: 300–800 мс. Дёшево, но неточно.

Acoustic model: нейросеть, обученная предсказывать конец высказывания по акустическим признакам.

Hybrid: timeout + акустика + частичная транскрипция. Если частичная транскрипция «грамматически завершена», endpointing срабатывает при более короткой паузе.

Реализация в Silero VAD

Silero VAD с порогом вероятности + накопление состояний:

MIN_SILENCE_DURATION_MS = 500  # Конец высказывания при 500ms тишины

silence_duration = 0
for chunk in audio_stream:
    speech_prob = vad_model(chunk)
    if speech_prob < 0.5:
        silence_duration += chunk_duration_ms
        if silence_duration >= MIN_SILENCE_DURATION_MS:
            # Эндпоинтинг!
            finalize_utterance()
    else:
        silence_duration = 0

Связанные термины

  • VAD — определяет наличие речи (шаг перед endpointing)
  • ASR — endpointing нужен для streaming ASR
  • транскрипция — финализируется после endpointing
  • faster-whisper — используется со streaming endpointing

Готовы запустить GPU-задачу?

Запустить GPU-сервер