feat: parameterize min silence duration and increase default to 1000ms

This commit is contained in:
Adolfo Reyna
2026-02-28 19:40:23 -05:00
parent 81cea12e0c
commit 018539d41b
2 changed files with 4 additions and 3 deletions
+3 -3
View File
@@ -46,7 +46,6 @@ SAMPLERATE = 16000
BLOCK_SIZE = 512
VAD_THRESHOLD = 0.5
BUFFER_LIMIT = SAMPLERATE * 30
MIN_SILENCE_DURATION_MS = 500
audio_queue = queue.Queue()
ingest_queue = queue.Queue()
@@ -96,6 +95,7 @@ def main():
parser.add_argument("-s", "--stream", action="store_true", help="Enable real-time streaming transcription (Draft mode)")
parser.add_argument("-c", "--context", action="store_true", help="Enable prompt caching/rolling context for better continuity")
parser.add_argument("--lang", type=str, help="Hardcode source language (e.g. 'en', 'es') to bypass detection")
parser.add_argument("--silence", type=int, default=1000, help="Minimum silence duration in ms to end a chunk (default: 1000)")
args = parser.parse_args()
@@ -167,7 +167,7 @@ def main():
vad_model,
sampling_rate=SAMPLERATE,
threshold=VAD_THRESHOLD,
min_silence_duration_ms=MIN_SILENCE_DURATION_MS
min_silence_duration_ms=args.silence
)
if len(speech_timestamps) > 0:
@@ -175,7 +175,7 @@ def main():
last_end = speech_timestamps[-1]['end']
buffer_len_samples = len(current_audio)
if (buffer_len_samples - last_end) > (SAMPLERATE * MIN_SILENCE_DURATION_MS / 1000) or buffer_len_samples > BUFFER_LIMIT:
if (buffer_len_samples - last_end) > (SAMPLERATE * args.silence / 1000) or buffer_len_samples > BUFFER_LIMIT:
# Clear draft line if it was used
if args.stream: