File size: 2,472 Bytes
7934b29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
name: &name "vad_inference_postprocessing"

dataset: null # Path of json file of evaluation data. Audio files should have unique names
num_workers: 4
sample_rate: 16000

# functionality
gen_seg_table: True # whether to converting frame level prediction to speech/no-speech segment in start and end times format
write_to_manifest: True # whether to writing above segments to a single manifest json file.

prepare_manifest:
    auto_split: True # whether to automatically split manifest entry by split_duration to avoid potential CUDA out of memory issue.
    split_duration: 400 # try smaller number if you still have CUDA memory issue
    
    
vad:
    model_path: "vad_multilingual_marblenet" #.nemo local model path or pretrained model name or none
    parameters: # Parameters were tuned on 0~20db SNR noisy and clean multilingual ASR data.  
      normalize_audio: False
      window_length_in_sec: 0.63  # window length in sec for VAD context input 
      shift_length_in_sec: 0.08 # shift length in sec for generate frame level VAD prediction, Here we use 0.08 for faster inferene
      smoothing: False # false or type of smoothing method (eg: median, mean)
      overlap: 0.875 # overlap ratio for overlapped mean/median smoothing filter. If smoothing=False, ignore this value.
      postprocessing: 
        onset: 0.5 # onset threshold for detecting the beginning and end of a speech 
        offset: 0.3 # offset threshold for detecting the end of a speech. 
        pad_onset: 0.2 # adding durations before each speech segment 
        pad_offset: 0.2 # adding durations after each speech segment 
        min_duration_on: 0.5 # threshold for small non_speech deletion
        min_duration_off: 0.5 # threshold for short speech segment deletion
        filter_speech_first: True 
          
prepared_manifest_vad_input: null # if not specify, it will automatically generated be "manifest_vad_input.json"
frame_out_dir: "vad_frame"
smoothing_out_dir: null # if not specify, it will automatically generated be frame_out_dir + "/overlap_smoothing_output" + "_" + smoothing_method + "_" + str(overlap)
table_out_dir: null # if not specify, it will automatically be frame_out_dir + "/table_output_tmp_" + key and value in postprocessing params
out_manifest_filepath: null # if not specify it will automatically be "vad_out.json"

# json manifest line example
# {"audio_filepath": "/path/to/audio_file", "offset": 0, "duration": null, "label": "infer", "text": "-"}