maximize noise reduction

HI,

Could you suggest any link or instructions to maximize the noise reduction by using ReSpeaker Core 2 and ReSpeaker Far-Field Mic Array v2.0?

I am trying to use those with Snips platform for voice recognition in a noisy environment (noise is mainly machinery noise, like air pressure, mechanical arms movements, occasionally other people speaking in the background but mainly pretty constant noise).

So far I’ve just tested them out of the box and I cannot see any improvement since the ReSpeaker Far-Field Mic Array v1.0.

Thanks for your help!

Hi,for the ReSpeaker Far-Field Mic Array v2.0 noise reductions, please refer to Parameters of built-in algorithms from <LINK_TEXT text=“http://wiki.seeedstudio.com/ReSpeaker_M … _v2.0/#faq”>http://wiki.seeedstudio.com/ReSpeaker_Mic_Array_v2.0/#faq</LINK_TEXT>. thanks.



Seeed techsupport team

Bill

Dear Bill,

I’ve tried out your “Out of the box” demo without success.

Both with the 6 channel firmware and 1 channel firmware, the respeaker is not cleaning the environment noise as you show in the video. When I play my record it only plays music and voice mixed together without any difference from a standard microphone.

I am using Raspberry Raspbian and audacity to record.

Is it possile that I have to tune some parameter in the Respeaker?

COuld you please suggest specifically which parameter should be activated with which value?



Thanks for your help

Hi,



Please try to fine tune below parameters and see if any improvement. thanks.



GAMMA_NN float 3 0 rw Over-subtraction factor of non- stationary noise. min … max attenuation

GAMMA_NN_SR float 3 0 rw Over-subtraction factor of non-stationary noise for ASR.

[0.0 … 3.0] (default: 1.1)

GAMMA_NS float 3 0 rw Over-subtraction factor of stationary noise. min … max attenuation

GAMMA_NS_SR float 3 0 rw Over-subtraction factor of stationary noise for ASR.



MIN_NN float 1 0 rw Gain-floor for non-stationary noise suppression.

[−inf … 0] dB (default: −10dB = 20log10(0.3))

MIN_NN_SR float 1 0 rw Gain-floor for non-stationary noise suppression for ASR.

[−inf … 0] dB (default: −10dB = 20log10(0.3))

MIN_NS float 1 0 rw Gain-floor for stationary noise suppression.

[−inf … 0] dB (default: −16dB = 20log10(0.15))

MIN_NS_SR float 1 0 rw Gain-floor for stationary noise suppression for ASR.

[−inf … 0] dB (default: −16dB = 20log10(0.15))



Bill

Hi Bill,

Thanks for your int but I have already tried to tune them according to the information available in your github link.

I need some more detailed information from you.

Could you please share the complete configuration of all these parameters which you used to create the demonstation in the ‘out of the box demo’?

It cannot be the default one because I’ve tried with the out of the box respeaker but it is not working as you show.

Thanks for your help

I add the screenshot from my recording in Audacity.

Why Channel 5 shows no activity?
recording.png

Hi there Cinettoa.



The ReSpeaker Mic Array v2.0 out-of-box demo is not about noise suppression, such as quieting an AC unit or fan. It is about AEC, or canceling nose that is being played by the mic array itself.

The reason you are not seeing any activity on line 5 is because line five is the audio output from the Mic Array.

In the video all of the music is from the Mic Array itself.



Hope this helps!

Dear Seth,

Thanks for your reply.

Then the question is, is there any guideline to maximise noise suppression from external sources?

Thanks for your help

Hi!

Any new about this? two monthts are gone…

I am also interested in this tried tunning any available parameter from

with close to a zero change in the noise level.
I tried with this as the background noise which is quite stationary and I expected some change in the noise levels but didn’t notice almost any difference.

Used arecord to record the a wav file

arecord --device=hw:1 --format=S16_LE 1.wav

and here are all the parameters I tried

~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN
GAMMA_NN: 1.100000023841858
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 0
GAMMA_NN: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 1
GAMMA_NN: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 2
GAMMA_NN: 2.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 3
GAMMA_NN: 3.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 4
GAMMA_NN: 1.100000023841858
~/src/../usb_4_mic_array $ ^C
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 0
GAMMA_NN: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 1
GAMMA_NN: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 2
GAMMA_NN: 2.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 3
GAMMA_NN: 3.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 0
GAMMA_NN: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN_SR 
GAMMA_NN_SR: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN_SR 1
GAMMA_NN_SR: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN_SR 2
GAMMA_NN_SR: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN_SR 3
GAMMA_NN_SR: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN_SR 0
GAMMA_NN_SR: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS
GAMMA_NS: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS 0
GAMMA_NS: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS 1
GAMMA_NS: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS 0
GAMMA_NS: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS 1
GAMMA_NS: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS 2
GAMMA_NS: 2.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS 3
GAMMA_NS: 3.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS_SR 
GAMMA_NS_SR: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS_SR 0
GAMMA_NS_SR: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS_SR 1
GAMMA_NS_SR: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NS 1
GAMMA_NS: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN 1
GAMMA_NN: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py GAMMA_NN_SR 1
GAMMA_NN_SR: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py VOICEACTIVITY
VOICEACTIVITY: 0
~/src/../usb_4_mic_array $ sudo python3 tuning.py VOICEACTIVITY 1
Traceback (most recent call last):
  File "tuning.py", line 197, in <module>
    main()
  File "tuning.py", line 186, in main
    dev.write(name, sys.argv[2])
  File "tuning.py", line 77, in write
    raise ValueError('{} is read-only'.format(name))
ValueError: VOICEACTIVITY is read-only
~/src/../usb_4_mic_array $ sudo python3 tuning.py NONSTATNOISEONOFF
NONSTATNOISEONOFF: 1
~/src/../usb_4_mic_array $ sudo python3 tuning.py NONSTATNOISEONOFF_SR
NONSTATNOISEONOFF_SR: 1
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NN
MIN_NN: 0.30000001192092896
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NN 1
MIN_NN: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NN 0
MIN_NN: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NN 1
MIN_NN: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NN_SR
MIN_NN_SR: 0.30000001192092896
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NN_SR 0
MIN_NN_SR: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NN_SR 1
MIN_NN_SR: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NN_SR 0
MIN_NN_SR: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NS
MIN_NS: 0.15000000596046448
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NS 0
MIN_NS: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NS 1
MIN_NS: 1.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NS 0
MIN_NS: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NS 0
MIN_NS: 0.0
~/src/../usb_4_mic_array $ sudo python3 tuning.py MIN_NS 1
MIN_NS: 1.0