MCPcopy Create free account
hub / github.com/modelscope/FunASR / slice_padding_audio_samples

Function slice_padding_audio_samples

funasr/utils/vad_utils.py:28–51  ·  view source on GitHub ↗

Slice audio into VAD segments with proper padding. Args: speech (Tensor): Full audio tensor. speech_lengths (int): Total audio length. vad_segments (list): List of (segment_info, original_index) tuples, where segment_info is [start_ms, end_ms]. Returns:

(speech, speech_lengths, vad_segments)

Source from the content-addressed store, hash-verified

26
27
28def slice_padding_audio_samples(speech, speech_lengths, vad_segments):
29
30 """Slice audio into VAD segments with proper padding.
31
32 Args:
33 speech (Tensor): Full audio tensor.
34 speech_lengths (int): Total audio length.
35 vad_segments (list): List of (segment_info, original_index) tuples,
36 where segment_info is [start_ms, end_ms].
37
38 Returns:
39 tuple: (speech_list, speech_lengths_list) - lists of numpy arrays and their lengths.
40 """
41 speech_list = []
42 speech_lengths_list = []
43 for i, segment in enumerate(vad_segments):
44 bed_idx = int(segment[0][0] * 16)
45 end_idx = min(int(segment[0][1] * 16), speech_lengths)
46 speech_i = speech[bed_idx:end_idx]
47 speech_lengths_i = end_idx - bed_idx
48 speech_list.append(speech_i)
49 speech_lengths_list.append(speech_lengths_i)
50
51 return speech_list, speech_lengths_list
52
53
54def merge_vad(vad_result, max_length=15000, min_length=0):

Callers 1

inference_with_vadMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…