Rong Xiaobin
Rong Xiaobin
> 我自己搞了个小模型,DNS3的dnsmos分:OVRL: 2.83 SIG: 3.09 BAK: 4.01 P808:3.56 看起来性能有明显提高,期待您的论文!
你好!数据处理脚本是自己写的,大概就是用clean和noise以一定范围内随机的信噪比混合,没有什么特殊处理。该过程在论文中有详细说明。
你好! 事实上,模型的输入从两通道改为三通道,对整体计算量影响不大。并且考虑到相位的无结构性,我个人认为直接使用相位作为输入是对模型不友好的。可以考虑将输入的幅度部分改为压缩幅度或者对数幅度,实虚部保留,可能会有正面收益。
您好: 您所说的现象之前也有人反馈过,所以的确有可能预测的CRM退化成了IRM。我认为这种退化的原因可能是模型容量受限。在我的一些实验中发现,对于小模型,直接预测幅度谱会取得与预测复数谱差不多的性能,甚至更好。以复数谱为目标却预测到接近幅度谱的结果,一定程度上也支持了上述结论。我认为实质的困难在于小模型难以精确的预测相位。
可以使用对数幅度(1个通道)输入,估计IRM(1个通道)即可
没有 look ahead,你是怎么得到70ms的?
感谢反馈,一开始也试过使用Conv来实现流式的Contranspose,后来嫌麻烦直接弃用了,没想到会有效率的问题。这里是之前的代码可供参考: ``` class StreamConvTranspose2d(nn.Module): def __init__(self, in_channels: int, out_channels: int, kernel_size: Union[int, Tuple[int, int]], stride: Union[int, Tuple[int, int]] = 1, padding: Union[str, int, Tuple[int, int]] = 0, dilation: Union[int, Tuple[int,...
> > 感谢反馈,一开始也试过使用Conv来实现流式的Contranspose,后来嫌麻烦直接弃用了,没想到会有效率的问题。这里是之前的代码可供参考: > > ``` > > class StreamConvTranspose2d(nn.Module): > > def __init__(self, > > in_channels: int, > > out_channels: int, > > kernel_size: Union[int, Tuple[int, int]], > >...
我的理解是,峰值代表的是直达声到达的时刻,峰值之前的部分代表静音段或者底噪,对去混响无贡献,可以舍弃。 另外你有一个地方理解有误,训练输入包含了全混响(早期混响是峰值后的100ms部分,后面是后期混响)。
你可以测试一下和非流式读取PCM数据的推理是否有明显差别。如果有就是流式PCM读取的问题。