Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions faster_whisper/transcribe.py
Original file line number Diff line number Diff line change
Expand Up @@ -395,18 +395,16 @@ def transcribe(
# if no segment split is provided, use vad_model and generate segments
if not clip_timestamps:
if vad_filter:
batched_defaults = VadOptions(
max_speech_duration_s=chunk_length,
min_silence_duration_ms=160,
)
if vad_parameters is None:
vad_parameters = VadOptions(
max_speech_duration_s=chunk_length,
min_silence_duration_ms=160,
)
vad_parameters = batched_defaults
elif isinstance(vad_parameters, dict):
if "max_speech_duration_s" in vad_parameters.keys():
vad_parameters.pop("max_speech_duration_s")

vad_parameters = VadOptions(
**vad_parameters, max_speech_duration_s=chunk_length
)
merged_vad_params = {**asdict(batched_defaults), **vad_parameters}
merged_vad_params["max_speech_duration_s"] = chunk_length
vad_parameters = VadOptions(**merged_vad_params)

clip_timestamps = get_speech_timestamps(audio, vad_parameters)
# run the audio if it is less than 30 sec even without clip_timestamps
Expand Down
2 changes: 1 addition & 1 deletion faster_whisper/vad.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class VadOptions:
neg_threshold: float = None
min_speech_duration_ms: int = 0
max_speech_duration_s: float = float("inf")
min_silence_duration_ms: int = 2000
min_silence_duration_ms: int = 2000 # defaults to 160 in BatchedInferencePipeline
speech_pad_ms: int = 400
min_silence_at_max_speech: int = 98
use_max_poss_sil_at_max_speech: bool = True
Expand Down