nay0648 / bssaec2020

A New Perspective of Auxiliary-Function-Based Independent Component Analysis in Acoustic Echo Cancellation
44 stars 32 forks source link

实录音频的效果 #1

Open kbsuper6 opened 3 years ago

kbsuper6 commented 3 years ago

纳老师您好, 我用了实录的音频(有一定的震动)跑您这份代码,貌似效果不太稳定,可能比nlms要差。我试过用频域的auxIVA去做回声消除,中高频效果不错,但是低频部分比较差。您那边有更接近工程实际的解决方法吗? 此外我用auxIVA做通话降噪用,如何区分人声和干扰呢?后面我用了overIVA去做,但是混响环境下的效果远不如消声室的录音,不知道您那边有没有办法使它在混响环境下提升效果?

nay0648 commented 3 years ago

你好,感谢关注! github上那个代码是用作理论说明的,做的是时域算法,离工程实际差距较远。我们工程上用的也是同样的理论,但是是频域算法,相当于每个频段都做相似的分离操作。抱歉工程代码目前还不能开源。低频部分效果较差的话也可以试试先做时频变换,再在每个频段分别做AEC。

在 2021-02-25 11:05:45,"kbsuper6" notifications@github.com 写道:

纳老师您好,我用了实录的音频跑您这份代码,貌似效果不太稳定。我试过用频域的auxIVA去做回声消除,低频部分比较差。您那边有更接近工程实际的解决方法吗?谢谢。

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

nay0648 commented 3 years ago

噢,刚才没注意您已经用了频域的方法了。可以试下增长滤波器长度,因为低频回声路径较长,可能要的滤波器阶数较高。另外由于时频变换中的循环卷积误差,AEC自适应部分也不能把回声消得特别干净,可以再尝试下在自适应部分后面加上后滤波的方法。

在 2021-02-25 11:05:45,"kbsuper6" notifications@github.com 写道:

纳老师您好,我用了实录的音频跑您这份代码,貌似效果不太稳定。我试过用频域的auxIVA去做回声消除,低频部分比较差。您那边有更接近工程实际的解决方法吗?谢谢。

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

kbsuper6 commented 3 years ago

非常感谢纳老师的细心解答!

jie-fei commented 3 years ago

纳老师您好, 我用了实录的音频(有一定的震动)跑您这份代码,貌似效果不太稳定,可能比nlms要差。我试过用频域的auxIVA去做回声消除,中高频效果不错,但是低频部分比较差。您那边有更接近工程实际的解决方法吗? 此外我用auxIVA做通话降噪用,如何区分人声和干扰呢?后面我用了overIVA去做,但是混响环境下的效果远不如消声室的录音,不知道您那边有没有办法使它在混响环境下提升效果?

请问下aux-iva的实时性怎么样?我之前担心计算量太大,一直在自然梯度上做。方便的话可交流。

nay0648 commented 3 years ago
  1. 实录音频,有一定的震动,说明已经产生了非线性回声,即设备震动产生了额外的回声成分,这部分成分在参考里没有,所以无法通过线性AEC消除。可以考虑后滤波的方法,或者后面加IVA,将非线性回声也当作一种噪声源处理。

  2. 我只试过在交互场景中使用IVA,交互场景可以通过唤醒词来区分目标声源。通话场景没接触过,猜测可能可以通过信噪比来选择,或者引入其它监督信息,例如假定位于设备正前方的为目标声源。可以参考这个文章Nesta, Francesco, and Zbyněk Koldovský. "Supervised independent vector analysis through pilot dependent components." 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2017.

  3. 实际环境中有混响,所以需要先做去混响,再做分离,效果会好一些。可以参考这个工程https://github.com/nay0648/unified2021

  4. 如果是两麦的话我觉得AuxIVA实时性没有问题。关键点在于求解2x2的广义特征分解问题,可以参考这个代码https://github.com/nay0648/unified2021/blob/master/Experiment/heig2.m

在 2021-03-08 17:10:03,"small-white" notifications@github.com 写道:

纳老师您好, 我用了实录的音频(有一定的震动)跑您这份代码,貌似效果不太稳定,可能比nlms要差。我试过用频域的auxIVA去做回声消除,中高频效果不错,但是低频部分比较差。您那边有更接近工程实际的解决方法吗? 此外我用auxIVA做通话降噪用,如何区分人声和干扰呢?后面我用了overIVA去做,但是混响环境下的效果远不如消声室的录音,不知道您那边有没有办法使它在混响环境下提升效果?

请问下aux-iva的实时性怎么样?我之前担心计算量太大,一直在自然梯度上做。方便的话可交流。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

zuowanbushiwo commented 2 years ago

我的实测场景效果也非常的差,我使用subband 方法,用的是Cosine 调制的滤波器组。 是不是如果有非线性失真,会放大失真,造成更坏的结果。

nay0648 commented 2 years ago

不好说,非线性的情况比较复杂,需要具体音频具体分析了。

在 2021-12-03 16:24:08,"zuowanbushiwo" @.***> 写道:

我的实测场景效果也非常的差,我使用subband 方法,用的是Cosine 调制的滤波器组。 是不是如果有非线性失真,会放大失真,造成更坏的结果。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.