|
- #!/usr/bin/env python
- # Created on 2018/12
- # Author: Kaituo XU
-
- import argparse
- import json
- import os
-
- import librosa
- import moxing as mox
-
-
- def preprocess_one_dir(in_dir, out_dir, out_filename, sample_rate=8000):
- file_infos = []
- in_dir = os.path.abspath(in_dir)
- wav_list = os.listdir(in_dir)
- for wav_file in wav_list:
- if not wav_file.endswith('.wav'):
- continue
- wav_path = os.path.join(in_dir, wav_file)
- samples, _ = librosa.load(wav_path, sr=sample_rate)
- file_infos.append((wav_path, len(samples)))
- if not os.path.exists(out_dir):
- os.makedirs(out_dir)
- with open(os.path.join(out_dir, out_filename + '.json'), 'w') as f:
- json.dump(file_infos, f, indent=4)
-
-
- def preprocess(args):
- for data_type in ['tr']:
- for speaker in ['mix', 's1', 's2']:
- preprocess_one_dir(os.path.join(args.in_dir, data_type, speaker),
- os.path.join(args.out_dir, data_type),
- speaker,
- sample_rate=args.sample_rate)
- print("preprocess done")
-
-
- if __name__ == "__main__":
- parser = argparse.ArgumentParser("WSJ0 data preprocessing")
- # parser.add_argument('--in-dir', type=str, default="/home/fanruibo/Project/DPTNet_Last_Ver/data/wsj0",
- # help='Directory path of wsj0 including tr, cv and tt')
- parser.add_argument('--out-dir', type=str, default="/home/work/user-job-dir/inputs/data/output/",
- help='Directory path to put output files')
- # parser.add_argument('--in-dir', type=str, default="/home/heu_MEDAI/fanruibo/project/data/wsj0",
- # help='Directory path of wsj0 including tr, cv and tt')
- # parser.add_argument('--out-dir', type=str, default="/home/heu_MEDAI/fanruibo/project/out_dir",
- # help='Directory path to put output files')
- parser.add_argument('--sample-rate', type=int, default=8000,
- help='Sample rate of audio file')
- args = parser.parse_args()
-
- obs_data_url = './data'
- args.in_dir = '/home/work/user-job-dir/inputs/data/'
- obs_train_url = args.train_url
- args.train_url = '/home/work/user-job-dir/inputs/data/output/'
- try:
- mox.file.copy_parallel(obs_data_url, args.data_url)
- print("Successfully Download {} to {}".format(obs_data_url,
- args.data_url))
- except Exception as e:
- print('moxing download {} to {} failed: '.format(
- obs_data_url, args.data_url) + str(e))
-
- print(args)
- preprocess(args)
|