Closed zuowanbushiwo closed 1 year ago
我理解 st.yy 应该是指估计的回声,但从代码看像是error 信号,和 laec_out 是一样的了?对你另外一个工程 https://github.com/changxuding/Subband_Kalman_AEC/blob/main/saf_kalman.m#L127 有点不一样?谢谢!
其实st.yy在这里赋的值也是估计的回声,st.err_adf的前半部分存的是error,后半部分存的是estEcho
非常感谢您的回复,刚刚仔细看了一下,理解了你上面的话了。 你这个算法的效果挺好的,比athena 的效果还好。 你用了两个nlp 吗? 还用了一个 kalman 的 H_res? 还问一个问题:求priSnr 中的那个计算公式 alpha 是怎么来的?我看athena 和 speex 中也看到了,但是没看到解释。
非常感谢您的回复,刚刚仔细看了一下,理解了你上面的话了。 你这个算法的效果挺好的,比athena 的效果还好。 你用了两个nlp 吗? 还用了一个 kalman 的 H_res? 还问一个问题:求priSnr 中的那个计算公式 alpha 是怎么来的?我看athena 和 speex 中也看到了,但是没看到解释。
非常感谢大佬回复,还想请问一下如果非线性失真比较严重的时候,调试哪些参数比较用?手机端播放时候,音量最大,效果还是比较差的,这种情况应该是非线性失真比较多了。
非常感谢大佬回复,还想请问一下如果非线性失真比较严重的时候,调试哪些参数比较用?手机端播放时候,音量最大,效果还是比较差的,这种情况应该是非线性失真比较多了。
最直接的像speex的leak可以对他进行增益调整,来控制你的最后的denoise gain,当然最好配合双讲的控制来避免近端失真太严重。 如果是音量过大饱和导致的失真,可以试试加一个非线性的映射在线性回声消除之前看看会不会有提高,像论文经常提到的sigmoid, raised cosine那些
感谢大佬的指点
最直接的像speex的leak可以对他进行增益调整,来控制你的最后的denoise gain,当然最好配合双讲的控制来避免近端失真太严重
这句话的意思是调下面的20参数?
residual_echo = estEchoPsd * leak_estimate * 20
感谢大佬的指点
最直接的像speex的leak可以对他进行增益调整,来控制你的最后的denoise gain,当然最好配合双讲的控制来避免近端失真太严重
这句话的意思是调下面的20参数?
residual_echo = estEchoPsd * leak_estimate * 20
对,包括降噪里面的一些参数或者gain floor也可以调整一下
非常感谢大佬的回复,您真的是太热心了。
你代码gain floor 是哪个参数?是这个 st['echo_noise'] = np.maximum(0.85 * st['echo_noise'], residual_echo)
还是 st['gain'] = np.maximum(0.05, st['gain'])
?
我还以为你省略了,因为我看athena 和 speex 的源代码中都有一个 compute_gain_floor 类似的函数, 在您的代码中没有看到相应的变量和函数。 gain_floor 是什么意思? 这个的原理能解释一下吗? 有看到相关的文档吗?再次感谢大佬!
我看athena 和 speex 有考虑语音存在概率的,您的代码中没有考虑这些,是吗?
/* See EM and Cohen papers*/
/* Take into account speech probability of presence (loudness domain MMSE estimator) */
这两个是指的哪篇文章?我只 找到这篇 Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator
有点不一样。
非常感谢大佬的回复,您真的是太热心了。 你代码gain floor 是哪个参数?是这个
st['echo_noise'] = np.maximum(0.85 * st['echo_noise'], residual_echo)
还是st['gain'] = np.maximum(0.05, st['gain'])
? 我还以为你省略了,因为我看athena 和 speex 的源代码中都有一个 compute_gain_floor 类似的函数, 在您的代码中没有看到相应的变量和函数。 gain_floor 是什么意思? 这个的原理能解释一下吗? 有看到相关的文档吗?再次感谢大佬!
gain_floor就是gain的下边界,一般加在降噪的最后控制降噪的深度,这个值可以用speex那种方式计算也可以直接设置为定值(这里设定成0.05)
好的,了解了,感谢! 我看athena 和 speex 有考虑语音存在概率的,您的代码中没有考虑这些,是吗?
/* See EM and Cohen papers*/
/* Take into account speech probability of presence (loudness domain MMSE estimator) */
这两个是指的哪篇文章?我只 找到这篇 Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator
有点不一样。
好的,了解了,感谢! 我看athena 和 speex 有考虑语音存在概率的,您的代码中没有考虑这些,是吗?
/* See EM and Cohen papers*/ /* Take into account speech probability of presence (loudness domain MMSE estimator) */
这两个是指的哪篇文章?我只 找到这篇
Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator
有点不一样。
这个主要还是消music noise的,在这里影响不大,可以参考“ Optimal speech enhancement under signal presence uncertainty using log-spectral amplitude estimator“, Cohen, and I.
感谢,祝您身体健康,工作(科研)顺利!
我理解 st.yy 应该是指估计的回声,但从代码看像是error 信号,和 laec_out 是一样的了?对你另外一个工程 https://github.com/changxuding/Subband_Kalman_AEC/blob/main/saf_kalman.m#L127 有点不一样?谢谢!