|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from multiprocessing import set_start_method |
|
|
|
from nemo.collections.asr.data.data_simulation import MultiSpeakerSimulator, RIRMultiSpeakerSimulator |
|
from nemo.core.config import hydra_runner |
|
|
|
|
|
""" |
|
This script creates a synthetic diarization session using the provided audio dataset with ctm files. |
|
Usage: |
|
python <NEMO_ROOT>/tools/speech_data_simulator/multispeaker_simulator.py \ |
|
num_workers=10 \ |
|
data_simulator.random_seed=42 \ |
|
data_simulator.manifest_filepath=manifest_with_alignment_file.json \ |
|
data_simulator.outputs.output_dir=./simulated_data \ |
|
data_simulator.outputs.output_filename=sim_spk2_sess20 \ |
|
data_simulator.session_config.num_sessions=1000 \ |
|
data_simulator.session_config.num_speakers=2 \ |
|
data_simulator.session_config.session_length=20 \ |
|
data_simulator.background_noise.add_bg=False \ |
|
data_simulator.background_noise.background_manifest=background_noise.json \ |
|
data_simulator.background_noise.snr=40 \ |
|
|
|
Check out parameters in ./conf/data_simulator.yaml. |
|
""" |
|
|
|
|
|
@hydra_runner(config_path="conf", config_name="data_simulator.yaml") |
|
def main(cfg): |
|
if cfg.data_simulator.rir_generation.use_rir: |
|
simulator = RIRMultiSpeakerSimulator(cfg=cfg) |
|
else: |
|
simulator = MultiSpeakerSimulator(cfg=cfg) |
|
|
|
set_start_method('spawn', force=True) |
|
simulator.generate_sessions() |
|
|
|
|
|
if __name__ == "__main__": |
|
main() |
|
|