CoolFace
Modelpublic

RASMUS/Finnish-ASR-Canary-v2

sourceHugging Facemitupdated 7mo agoView on Hugging Face
0likes2.2kdownloads
data_simulator.yaml160 linesDownload Raw Back to conf
1data_simulator:2  manifest_filepath: ??? # Manifest file with paths to single speaker audio files3 4  sr: 16000 # Sampling rate of the input audio files from the manifest5  random_seed: 426  multiprocessing_chunksize: 10000 # Max number that multiprocessing can handle at once7 8  session_config:9    num_speakers: 4 # Number of unique speakers per multispeaker audio session10    num_sessions: 60 # Number of sessions to simulate11    session_length: 600 # Length of each simulated multispeaker audio session (seconds)12 13  session_params:14    max_audio_read_sec: 20.0 # The maximum audio length in second when loading an audio file. The bigger the number, the slower the reading speed. Should be greater than 2.5 second.15    sentence_length_params: # k,p values for a negative_binomial distribution which is sampled to get the sentence length (in number of words)16    - 0.4 # k (Number of successes until the experiment is stopped) value must be a positive integer.17    - 0.05 # p (Success probability) must be in the range (0, 1]. The average sentence length will be k*(1-p)/p18    dominance_var: 0.11 # Variance in speaker dominance (where each speaker's dominance is sampled from a normal distribution centered on 1/`num_speakers`, and then the dominance values are together normalized to 1)19    min_dominance: 0.05 # Minimum percentage of speaking time per speaker (note that this can cause the dominance of the other speakers to be slightly reduced)20    turn_prob: 0.875 # Probability of switching speakers after each utterance21    min_turn_prob: 0.5 # Minimum turn probability when enforce mode is True to prevent from making excessive session length22    mean_silence: 0.15 # Mean proportion of silence to speaking time in the audio session. Should be in range [0, 1).23    mean_silence_var: 0.01 # var for mean silence in all audio sessions. This value should be 0 <= mean_silence_var < mean_silence * (1 - mean_silence)24    per_silence_var: 900 # var for per silence in each session, set large values to de-correlate silence lengths with the latest speech segment lengths25    per_silence_min: 0.0 # minimum per silence duration in seconds26    per_silence_max: -1 # maximum per silence duration in seconds, set -1 for no maximum27    mean_overlap: 0.1 # Mean proportion of overlap in the overall non-silence duration. Should be in range [0, 1) and recommend [0, 0.15] range.28    mean_overlap_var: 0.01 # var for mean overlap in all audio sessions. This value should be 0 <= mean_overlap_var < mean_overlap * (1 - mean_overlap)29    per_overlap_var: 900 # var for per overlap in each session, set large values to de-correlate silence lengths with the latest speech segment lengths30    per_overlap_min: 0.0 # minimum per overlap duration in seconds31    per_overlap_max: -1 # maximum per overlap duration in seconds, set -1 for no maximum32    start_window: true # Window the start of sentences to smooth the audio signal (and remove silence at the start of the clip)33    window_type: hamming # Type of windowing used when segmenting utterances ("hamming", "hann", "cosine")34    window_size: 0.05 # Length of window at the start or the end of segmented utterance (seconds)35    start_buffer: 0.1 # Buffer of silence before the start of the sentence (to avoid cutting off speech or starting abruptly)36    split_buffer: 0.1 # Split RTTM labels if greater than twice this amount of silence (to avoid long gaps between utterances as being labelled as speech)37    release_buffer: 0.1 # Buffer before window at end of sentence (to avoid cutting off speech or ending abruptly)38    normalize: true # Normalize speaker volumes 39    normalization_type: equal # Normalizing speakers ("equal" - same volume per speaker, "var" - variable volume per speaker)40    normalization_var: 0.1 # Variance in speaker volume (sample from standard deviation centered at 1)41    min_volume: 0.75 # Minimum speaker volume (only used when variable normalization is used)42    max_volume: 1.25 # Maximum speaker volume (only used when variable normalization is used)43    end_buffer: 0.5 # Buffer at the end of the session to leave blank44 45  outputs:46    output_dir: ??? # Output directory for audio sessions and corresponding label files47    output_filename: multispeaker_session # Output filename for the wav and rttm files48    overwrite_output: true # If true, delete the output directory if it exists49    output_precision: 3 # Number of decimal places in output files50 51  background_noise: # If bg noise is used, a noise source position must be passed for RIR mode52    add_bg: false # Add ambient background noise if true53    background_manifest: null # Path to background noise manifest file54    num_noise_files: 10 # Number of randomly chosen noise source files to be potentially included in one session55    snr: 60 # SNR for background noise (using average speaker power), set `snr_min` and `snr_max` values to enable random SNR56    snr_min: null  # Min random SNR for background noise (using average speaker power), set `null` to use fixed SNR57    snr_max: null  # Max random SNR for background noise (using average speaker power), set `null` to use fixed SNR58 59  # Segment and session augmentations. Available augmentations are in nemo/collections/asr/parts/preprocessing/perturb.py60  # See tutorial at https://github.com/NVIDIA/NeMo/blob/main/tutorials/asr/Online_Noise_Augmentation.ipynb61  # Note that ImpulsePerturbation, NoisePerturbation, RirAndNoisePerturbation and other perturbations that uses `collections.ASRAudioText`62  # cannot use multi-proccessing in simulation, due to non-pickable errors.63  segment_augmentor:64    add_seg_aug: False # Set True to enable augmentation on each speech segment65    augmentor:66      gain:  # Randomly perturb the gain of each speech segment67        prob: 0.5  # Probability of applying gain augmentation68        min_gain_dbfs: -10.0  # Min dB level to add69        max_gain_dbfs: 10.0  # Max dB level to add70 71  session_augmentor:72    add_sess_aug: False # Set True to enable audio augmentation on the whole session73    augmentor:74      white_noise:  # Add random white noise to the whole session75        prob: 1.0  # Probability of adding white noise76        min_level: -90  # Min level of noise loudness (dB)77        max_level: -46  # Max level of noise loudness (dB)78 79  speaker_enforcement:80    enforce_num_speakers: true # Enforce that all requested speakers are present in the output wav file81    enforce_time:  # Percentage of the way through the audio session that enforcement mode is triggered (sampled between time 1 and 2)82    - 0.2583    - 0.7584 85  segment_manifest: # Parameters for regenerating the segment manifest file 86    window: 0.5 # Window length for segmentation 87    shift: 0.25 # Shift length for segmentation88    step_count: 50 # Number of the unit segments you want to create per utterance89    deci: 3 # Rounding decimals for segment manifest file90 91  rir_generation: # Using synthetic RIR augmentation92    use_rir: false # Whether to generate synthetic RIR93    toolkit: 'pyroomacoustics' # Which toolkit to use ("pyroomacoustics", "gpuRIR")94    room_config:95      room_sz: # Size of the shoebox room environment (1d array for specific, 2d array for random range to be sampled from)96      - - 297        - 398      - - 299        - 3100      - - 2101        - 3102      pos_src: # Positions of the speakers in the simulated room environment (2d array for specific, 3d array for random ranges to be sampled from)103      - - - 0.5104          - 1.5105        - - 0.5106          - 1.5107        - - 0.5108          - 1.5109      - - - 0.5110          - 1.5111        - - 0.5112          - 1.5113        - - 0.5114          - 1.5115      - - - 0.5116          - 1.5117        - - 0.5118          - 1.5119        - - 0.5120          - 1.5121      - - - 0.5122          - 1.5123        - - 0.5124          - 1.5125        - - 0.5126          - 1.5127      noise_src_pos: # Position in room for the ambient background noise source128      - 1.5129      - 1.5130      - 2131    mic_config:132      num_channels: 2 # Number of output audio channels133      pos_rcv: # Microphone positions in the simulated room environment (1d/2d array for specific, 2d/3d array for range assuming num_channels is 1/2+)134      - - - 0.5135          - 1.5136        - - 0.5137          - 1.5138        - - 0.5139          - 1.5140      - - - 0.5141          - 1.5142        - - 0.5143          - 1.5144        - - 0.5145          - 1.5146      orV_rcv: null # Microphone orientations (needed for non-omnidirectional microphones)147      mic_pattern: omni # Microphone type ("omni" - omnidirectional) - currently only omnidirectional microphones are supported for pyroomacoustics148 149    absorbtion_params: # Note: only `T60` is used for pyroomacoustics simulations150      abs_weights: # Absorption coefficient ratios for each surface 151      - 0.9152      - 0.9153      - 0.9154      - 0.9155      - 0.9156      - 0.9157      T60: 0.1 # Room reverberation time (`T60` is the time it takes for the RIR to decay by 60DB)158      att_diff: 15.0 # Starting attenuation (if this is different than att_max, the diffuse reverberation model is used by gpuRIR)159      att_max: 60.0 # End attenuation when using the diffuse reverberation model (gpuRIR)160