Files
Fangjun Kuang f2e01fe8e3 Widen VAD sample positions to int64_t to fix long-stream SIGSEGV. (#4079)
Fixes #3635

It is for v2.0.0 and breaks the ABI.

CircularBuffer::head_ and tail_ are absolute sample counters that grow
forever. As int32_t they overflow after 2^31 samples (~37 h at 16 kHz);
tail_ % capacity then goes negative and std::copy() writes to an invalid
iterator, crashing long-running VAD streams.

Widen every absolute stream position to int64_t. Counts and capacities
(Push/Pop/Get's n, Size(), capacity) stay int32_t — they are bounded by
buffer memory, not stream duration.
2026-10-22 23:39:59 +08:00
..

Introduction

This directory contains examples for how to use the VAD (voice activity detection) with non-streaming speech recognition models.

Directory Description
run-vad-with-dolphin-ctc.sh It shows how to use the VAD + Dolphin for speech recognition.
run-vad-with-whisper.sh It shows how to use the VAD + Whisper for speech recognition.
run-vad-with-sense-voice.sh It shows how to use the VAD + SenseVoice for speech recognition.
run-vad-with-moonshine.sh It shows how to use the VAD + Moonshine for speech recognition.

Please refer to non-streaming-asr for more kinds of non-streaming models.