yxlu-0102 / MP-SENet

MP-SENet: A Speech Enhancement Model with Parallel Denoising of Magnitude and Phase Spectra
MIT License
267 stars 40 forks source link

作者给的模型推理结果达不到论文结果,求问 #17

Closed moshengmao closed 2 months ago

moshengmao commented 6 months ago

您好,我从github下载您的项目,下载voicebank+demand数据集,降采样到16khz,28 speakers那个,把测试集824个wav音频分别放到main/VoiceBank+DEMAND/wavs_noisy和wavs_clean文件夹下面,使用readme里面python inference.py --checkpoint_file best_ckpt/g_best命令,

然后我把项目生成的语音,计算pesq指数,python cal_metrics.py --input_test_file /MP-SENet-main/VoiceBank+DEMAND/test.txt --clean_wav_dir /MP-SENet-main/VoiceBank+DEMAND/wavs_clean --noisy_wav_dir /MP-SENet-main/generated_files,

得到的结果 inference得到的wav进行计算pesq得分: (mp-se) (base) i@node01:~/work/MP-SENet-main/cal_metrics$ python cal_metrics.py --input_test_file /MP-SENet-main/VoiceBank+DEMAND/test.txt --clean_wav_dir /MP-SENet-main/VoiceBank+DEMAND/wavs_clean --noisy_wav_dir /MP-SENet-main/generated_files 824 Working... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:03:39 pesq: 3.006312488207539 csig: 4.232832530393066 cbak: 3.694722579138527 covl: 3.678736791613473 ssnr: 10.314748606080455 stoi: 0.9564755445004552

pesq只有3.00,我不理解,数据集和论文一样,用的是作者给的预训练模型,为什么结果差异这么大。跟降采样降到16khz的方式有关系吗

yxlu-0102 commented 6 months ago

降采样方式不同的话,高频部分确实会有差别。你也可以试试你的数据在 CMGAN 上或者 DB-AIAT 上的结果跟他们论文中的是否有差异,后面我会将我的数据上传到 google 云盘上,你可以下下来试试,我也不记得我用的什么下采样方式了,但我用这个数据测试 CMGAN 和 DB-AIAT 是跟他们论文结果一致的。

yxlu-0102 commented 6 months ago

我把实验数据集放在这个链接了 https://drive.google.com/drive/folders/19I_thf6F396y5gZxLTxYIojZXC0Ywm8l?usp=share_link

lth456321 commented 4 months ago

我之前也出现了类似的问题,包括在测试CMGAN时结果也不相同,我对CMGAN测试结果和SCP-CMGAN中类似。通过和给出数据集进行对比,我发现两个数据集的比特率不一致,作者提供的数据集比特率为256kbps,我用的为512kbps,也许这是造成问题的主要原因?

yxlu-0102 commented 4 months ago

我之前也出现了类似的问题,包括在测试CMGAN时结果也不相同,我对CMGAN测试结果和SCP-CMGAN中类似。通过和给出数据集进行对比,我发现两个数据集的比特率不一致,作者提供的数据集比特率为256kbps,我用的为512kbps,也许这是造成问题的主要原因?

我我用这个数据集去用 CMGAN 的 ckpt 复现的结果跟他论文中一致