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

去混响数据集会公开吗? #25

Open lth456321 opened 3 months ago

lth456321 commented 3 months ago

此外,我没有找到有关去混响评价指标的代码,您能说明下如何计算这些去混响的评价指标吗,感谢

yxlu-0102 commented 3 months ago

去混响数据可以在 Reverb Challenge 网站获得,里面包括了计算指标的工具。

lth456321 commented 3 months ago

感谢您的回复,但我发现这个数据集需要使用付费的语音数据进行制作,假如我使用我自己制作的数据集,是否可以使用这个指标计算工具,或者需要其他计算指标的方法?

yxlu-0102 commented 3 months ago

是可以用这个工具的,同时你也可以用这个仓库里提供的指标计算工具,我在实际使用的时候发现用这个 pysepm 包计算出的指标跟 REVERB Challenge 提供的指标计算出的结果不一致(PESQ 和 SRMR是一致的),但你只要对所有 baseline 都使用同一组指标就行。

lth456321 commented 3 months ago

感谢回复,我发现在您的期刊版论文中使用了一种复谱的一致性loss减小两个decoder之间的gap,这个一致性loss是指phase decoder输出的Xr,Xi和generator输出的denoised_com之间的MSE_loss吗

yxlu-0102 commented 3 months ago

感谢回复,我发现在您的期刊版论文中使用了一种复谱的一致性loss减小两个decoder之间的gap,这个一致性loss是指phase decoder输出的Xr,Xi和generator输出的denoised_com之间的MSE_loss吗

不是哦,phase decoder 输出的实部和虚部只用于计算相位,可以默认为幅度是 1。一致性 loss 是为了缩小模型输出的幅度相位组合后的复数谱,以及这个复数谱经过 iSTFT 得到波形再经过 STFT 得到的复数谱之间的 gap。因为 STFT 域实际上不是整个复数域,所以模型直接预测的复数谱可能在 STFT 域外,经过 iSTFT 之后 再做 STFT 就在域内了,所以可能会存在 gap.

截屏2024-04-26 09 38 58
lth456321 commented 3 months ago

image image image image 我尝试加入了一致性loss,并修改了loss_gen和您期刊论文相同,但这似乎造成了训练不稳定,是我哪里写错了吗?

yxlu-0102 commented 3 months ago

在提取幅度相位的时候都加上一个 bias 就可以了,其实这个问题之前困扰了我好久哈哈哈

截屏2024-04-26 12 22 19
lth456321 commented 2 months ago

感谢回复,我正在尝试复现您期刊论文中的模型。对照论文,以此模型为基础,我们删去了conformer中的conv moudle以及第一个FFN,将第二个FFN的第一层linear换为BiGru,仍然设置ffm_mult=4,但得到模型的参数量2.61M和您论文给出中的2.26M相差较大,请问您是否对模型做了其他修改或者调整了参数?

yxlu-0102 commented 2 months ago

感谢回复,我正在尝试复现您期刊论文中的模型。对照论文,以此模型为基础,我们删去了conformer中的conv moudle以及第一个FFN,将第二个FFN的第一层linear换为BiGru,仍然设置ffm_mult=4,但得到模型的参数量2.61M和您论文给出中的2.26M相差较大,请问您是否对模型做了其他修改或者调整了参数?

我还将转置卷积换成了 sub-pixel 卷积。

lth456321 commented 2 months ago

a88a630d80692e3345562e748ea97d4 33ffd10d8380221ec9609e259ee1f9c 我使用conv2d和在forward中进行reshape操作将转置卷积替换为了sub-pixel conv,但这对模型参数量仍然与论文给出的有很大差距,请问您没有对模型的其他参数(比如ffm_mult会较大影响参数量)进行修改吗