from argparse import ArgumentParser from glob import glob from transform_wav import transform_file from os import system, environ, mkdir parser = ArgumentParser(description="Preform transformation on wav files.") parser.add_argument('-p', dest='pitch_shift_value', type=float, help="Pitch shift value.") parser.add_argument('-a', dest='amplitude_multiplier_value', type=float, help="Amplitude multiplier value.") parser.add_argument('-n', dest='noise_amplitude', type=float, help="Amplitude of noise.") parser.add_argument('--input', '-i', dest='input_directory', help="Path to directory with input waves path.") parser.add_argument('--output', '-o', dest='output_directory', help="Path to directory to output waves path.") args = parser.parse_args() try: mkdir(args.output_directory) except: pass for input_path in glob(f"{args.input_directory}/*.wav"): output_path = input_path.replace(args.input_directory, args.output_directory) print(f"Transforming {input_path} into {output_path}") transform_file( input_path, output_path, pitch_shift_value = args.pitch_shift_value, amplitude_multiplier_value = args.amplitude_multiplier_value, noise_amplitude = args.noise_amplitude, ) system(f'python /opt/conda/envs/magenta/lib/python3.7/site-packages/magenta/models/onsets_frames_transcription/onsets_frames_transcription_create_tfrecords.py --csv="./dataset/manifest.csv" --output_directory="./dataset/processed" --wav_dir="{args.output_directory}" --midi_dir="./dataset/midi" --expected_splits="test"') system(f'onsets_frames_transcription_infer --model_dir="{environ["MODEL_DIR"]}" --output_dir="./eval/" --examples_path=./dataset/processed/test.tfrecord* --hparams="use_cudnn=false" --preprocess_examples=True')