Spaces:
Running
on
L40S
Running
on
L40S
''' | |
TAMPLEATE = { | |
"path": "" | |
"duration": "" | |
"sample_rate": "" | |
"amplitude": null, | |
"weight": null, | |
"info_path": null | |
} | |
''' | |
import torchaudio | |
import json | |
from tqdm import tqdm | |
import torchaudio | |
import numpy as np | |
import torch, torch.nn as nn, random | |
from torchaudio import transforms | |
import os | |
import argparse | |
from tqdm import tqdm | |
import torchaudio | |
from torchaudio.transforms import Resample | |
from multiprocessing import Pool | |
def preprocess(args, wav_json, thread_id): | |
# f = open("pretrain_tme_20230927.scp").readlines() | |
f = open("out.{}".format(thread_id), 'w') | |
for line in tqdm(wav_json): | |
try: | |
# import pdb; pdb.set_trace() | |
line = line.strip() | |
wav_info = json.loads(line) | |
meta = torchaudio.info(wav_info["path"]) | |
wav_info["num_channels"] = meta.num_channels | |
json_string = json.dumps(wav_info) | |
# print(json_string) | |
f.write("{}\n".format(json_string)) | |
except: | |
print(line) | |
if __name__ == "__main__": | |
parser = argparse.ArgumentParser(description='Deep Speaker Embedding Inference') | |
parser.add_argument('--wav_json', type=str) | |
parser.add_argument('--num_thread', default=10, type=int, help='random seed') | |
args = parser.parse_args() | |
wav_json_total = open(args.wav_json).readlines() | |
args.num_thread = min(len(wav_json_total), args.num_thread) | |
wav_json_list = np.array_split(wav_json_total, args.num_thread) | |
p = Pool(args.num_thread) | |
for thread_id, wav_json in enumerate(wav_json_list): | |
r = p.apply_async(preprocess, (args, wav_json, thread_id)) | |
p.close() | |
p.join() | |
r.get() | |