from glob import glob
from multiprocessing import Pool
import os
import sys
vox_source_path = './voxtest/*.vox'
wav_save_path = './voxtest/'
if not os.path.exists(wav_save_path):
os.makedirs(wav_save_path)
vox_files = glob(vox_source_path)
def trans(vox, wav_save_path):
# 利用os.system执行Linux系统命令。
# SoX可以读写最流行格式的音频文件,并且可以对音频进行任意操作。
os.system('sox {} {} channels 1 rate 8k highpass 50 vol 0.5'.format(vox, wav_save_path+vox.split('/')[-1].split('.')[0]+'.wav'))
print('开始转换vox格式音频,音频共有{}通'.format(len(vox_files)))
def run(args):
pool = Pool(processes=30)
for vox in vox_files:
pool.apply_async(trans, (vox, wav_save_path))
pool.close() # 关闭进程池,不再接受新的进程
pool.join() # 主进程阻塞等待子进程的退出
if __name__ == '__main__':
run(sys.argv) # 执行该文件
vox后缀音频格式修改为wav后缀
最新推荐文章于 2023-06-26 17:01:19 发布