我最近复制了一个基于TensorFlow0.12.1的SEGAN实验,作者提供了一个用于测试的shell脚本(clean_wav.sh),如下图所示:
这是作者提供的原始版本。根据我的测试数据路径,修改后的版本如下:
Noisy_testset_wav_16k是我的测试数据文件夹,但是运行脚本系统将报告错误:
此文件夹是目录,但是当我将路径更改为:
NOISY_WAVNAME='/home/zyf/SEGAN/ SEGAN/segan-master1/noisy_testset_wav_16k/p232_023.wav'
脚本正常运行,程序功能也可以实现。
但是,一次只能处理一个音频文件,不能批量处理。希望每个人都知道原因或看法,可以给我一两次建议,非常感谢。
答案 0 :(得分:0)
代码仅以处理文件的方式编写,您可以在shell脚本中添加循环以处理文件夹中的所有文件:
for f in $NOISY_WAVDIR/*.wav; do
python main.py --init_noise_std 0. --save_path segan_v1.1 \
--batch_size 100 --g_nl prelu --weights SEGAN-41700 \
--preemph 0.95 --bias_deconv True \
--bias_downconv True --bias_D_conv True \
--test_wav $f --save_clean_path $SAVE_PATH
done
,但这并不是GPU的最佳使用方式,因为您不会批量处理音频。理想情况下,您希望修改python代码以批量处理音频,但这并不是一件容易的事。