|
import os,argparse
|
|
import traceback
|
|
|
|
from modelscope.pipelines import pipeline
|
|
from modelscope.utils.constant import Tasks
|
|
from tqdm import tqdm
|
|
|
|
path_denoise = 'tools/denoise-model/speech_frcrn_ans_cirm_16k'
|
|
path_denoise = path_denoise if os.path.exists(path_denoise) else "damo/speech_frcrn_ans_cirm_16k"
|
|
ans = pipeline(Tasks.acoustic_noise_suppression,model=path_denoise)
|
|
def execute_denoise(input_folder,output_folder):
|
|
os.makedirs(output_folder,exist_ok=True)
|
|
|
|
|
|
for name in tqdm(os.listdir(input_folder)):
|
|
try:
|
|
ans("%s/%s"%(input_folder,name),output_path='%s/%s'%(output_folder,name))
|
|
except:
|
|
traceback.print_exc()
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("-i", "--input_folder", type=str, required=True,
|
|
help="Path to the folder containing WAV files.")
|
|
parser.add_argument("-o", "--output_folder", type=str, required=True,
|
|
help="Output folder to store transcriptions.")
|
|
parser.add_argument("-p", "--precision", type=str, default='float16', choices=['float16','float32'],
|
|
help="fp16 or fp32")
|
|
cmd = parser.parse_args()
|
|
execute_denoise(
|
|
input_folder = cmd.input_folder,
|
|
output_folder = cmd.output_folder,
|
|
) |