Author Topic: Noise removal  (Read 8050 times)

0 Members and 1 Guest are viewing this topic.

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Noise removal
« on: September 10, 2014, 09:06:24 PM »
in open-air mic system one of the main issues is noise removal ... it is done either by hardware or software .... let's use this thread to discuss various ways of achieving that ....

one free software I use is Noise gator : http://sourceforge.net/projects/noisegator/
When Voice command gets tough, use hand gestures

donmehdi

  • Jr. Member
  • **
  • Posts: 21
  • Karma: 0
    • View Profile
Re: Noise removal
« Reply #1 on: September 11, 2014, 12:31:00 PM »
do we need to install a  virtual audio cable ?

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Noise removal
« Reply #2 on: September 11, 2014, 12:42:08 PM »
Sure ... The noise gator connects to the mic directly then you need a virtual cable between noise gator and VC ...

For virtual cables there is 2 options
VAC : software.muzychenko.net/eng/vac.htm

Or
VB-AVC : http://vb-audio.pagesperso-orange.fr/Cable/index.htm

There could be others as well
When Voice command gets tough, use hand gestures

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Noise removal
« Reply #3 on: September 11, 2014, 01:08:16 PM »
Just my 2 cents here.  I encourage people to experiment and find what works best for them...

BUT!

In my experience, I have found that any noise removal hardware or software that I have tried reduces my recognition accuracy.  And by accuracy, I do not mean the confidence that VoxCommando returns.  This number is not the whole story.  For example, if you say "remember to buy eggs" and VC comes back with "Remember to try legs" with a confidence of 95%, then this is obviously not good!  The most important thing is that VC understands what you said correctly, and does not return false positives with a high confidence.

I have found that the speech engine seems to have a certain amount of noise cancellation built in, and usually, just turning down the input volume to the lowest possible setting that still works, is far more effective than trying to process your audio in any way.  Again, this is just my personal experience, but I thought I should mention it, because I don't want people to assume that noise suppression is going to help them.  You have to experiment and keep an open mind.

A really good noise gating software that will suppress low volume audio, but still pass the full unmodified audio signal once it detects that you are talking, might actually be a good thing, as long as it is not gating on and off in-between words, which might confuse the SR engine, and as long as it is not cutting off the beginning of your voice command.

In all cases, using a prefix will help to improve accuracy even if you leave VC in the on mode.  A unique sounding multi-syllable prefix can really help the engine out a lot, no matter what form of audio input you use.
« Last Edit: January 01, 2016, 12:39:32 PM by nime5ter »

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Noise removal
« Reply #4 on: September 11, 2014, 03:41:02 PM »
Noise gates are to remove distant or low in volume noise, if one uses a saw few centimeters away from the mic, noise gate won't remove that ... but it can for example remove the hissing of a kettle while not speaking ...

what James wrote is imperative to achieve a functional SR, regardless of the mic system ... the most important thing is that VC understand right.

to minimize the issues James mentioned ... this gator offers 2 settings ... attack time and release time, both in milliseconds...

attack time is how long the sound must last before the gate opens (must be higher than the threshold) so the longer it is the longer it will take to open the gate which in speech means the first letters might be clipped .. the shorter it is the less clipping happens at the beginning of the phrase ... if a prefix is used and VC end up not recognizing it more often then this could be the problem.

release time is how long the gate stays open after the last sound ... I usually set that to 2 seconds (2000) to avoid clipping in the middle of the sentences ....

more advanced noise gates will use different bands with different gating level ... so it can be more sensitive to middle frequencies where human voice happens.

what is even more important than noise gate is equalizer ... (check http://voxcommando.com/forum/index.php?topic=1747.0) as it filters all unwanted frequencies ... regardless of the level ... by combining noise gate and equalizer I succeeded in increasing VC accuracy by at least 10%

« Last Edit: September 11, 2014, 04:26:01 PM by Haddood »
When Voice command gets tough, use hand gestures

donmehdi

  • Jr. Member
  • **
  • Posts: 21
  • Karma: 0
    • View Profile
Re: Noise removal
« Reply #5 on: September 11, 2014, 03:57:20 PM »
the problem that i'm facing is when i'm playing music vc won't recognize me so  i thought maybe using a noise remover will fix the problem since music sound is not that near to me. i'v seen things like amulet and stuff but the whole idea is about using voice without touching anything if i'm right.
thanks for the help.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Noise removal
« Reply #6 on: September 11, 2014, 04:05:58 PM »
... but it can for example remove the hissing of a kettle while speaking ...

This is actually not how a gate normally works.  A gate is either open or closed.  It may remove the hiss of a kettle while you are not speaking, but as soon as you start speaking the gate will open and all sound will be passed through, including the sound of the kettle.

Noise suppression and filtering is a different thing.

Your software may implement suppression and filtering, but if it says it is just a gate then it won't block any sounds while you are speaking.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Noise removal
« Reply #7 on: September 11, 2014, 04:14:31 PM »
the problem that i'm facing is when i'm playing music vc won't recognize me so  i thought maybe using a noise remover will fix the problem since music sound is not that near to me. i'v seen things like amulet and stuff but the whole idea is about using voice without touching anything if i'm right.
thanks for the help.

Music is not "noise" in the sense that we are discussing it.  Your parents may have at one time told you that the music you were listening to was "noise" but technically it is not.  Noise is generally a repeating pattern or a consistent frequency.  Noise can usually be removed by some kind of active filter, although the process of removing it can have a negative effect on the original signal.  To the human ear, noise removal often helps as long as you don't overdo it.  Removing too much noise can often result in the original signal becoming very weird sounding.

A noise cancelling headset microphone can actually remove background sound, including all sorts of sounds like music, because they have two microphones and the outward-facing mic measures the background sound and then some of this sound is subtracted from what is entering the forward-facing microphone.  For a truly effective hands free solution that includes listening to music or watching movies etc., I think a headset or something similar is the only option.

Acoustic echo cancellation (AEC) attempts to do something similar but for this to work the software needs to know what sound is being sent to your speakers and it can then try to remove this from the sound coming in from the microphone.  This only works to a limited degree.  The process is compromised by the acoustic nature of your living space, where sound will reflect off of many surfaces at different speeds and volumes, and is made even more difficult when you introduce things like multi-speaker surround sound.

Kinect claims it can do all this stuff.  In my experience it cannot.  Or at least, not well enough to make a big enough difference.
« Last Edit: January 01, 2016, 12:41:27 PM by nime5ter »

donmehdi

  • Jr. Member
  • **
  • Posts: 21
  • Karma: 0
    • View Profile
Re: Noise removal
« Reply #8 on: September 11, 2014, 04:27:20 PM »
Thanks for the clarification.As i understand music and open air doesn't work each other. 

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Noise removal
« Reply #9 on: September 11, 2014, 04:28:21 PM »
This is actually not how a gate normally works.  A gate is either open or closed.  It may remove the hiss of a kettle while you are not speaking, but as soon as you start speaking the gate will open and all sound will be passed through, including the sound of the kettle.

Noise suppression and filtering is a different thing.

Your software may implement suppression and filtering, but if it says it is just a gate then it won't block any sounds while you are speaking.

thank you for catching the typo ... fixed the phrase ...

removing some noise while speaking can be achieved partially with equalizers ..  
When Voice command gets tough, use hand gestures

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Noise removal
« Reply #10 on: September 11, 2014, 04:35:30 PM »

Acoustic echo cancellation (AEC) attempts to do something similar but for this to work the software needs to know what sound is being send to your speakers and it can then try to remove this from the sound coming in from the microphone.  This only works to a limited degree.  The process is compromised by the acoustic nature of your living space, where sound will reflect off of many surfaces at different speeds and volumes, and is made even more difficult when you introduce things like multi-speaker surround sound.

Kinect claims it can do all this stuff.  In my experience it cannot.  Or at least, not well enough to make a big enough difference.

are you aware of any software that do that? I am actively looking for one ...
maybe Kinect for windows does? I use the xbox one with PC .. there is no enhancement tab in the properties ...
When Voice command gets tough, use hand gestures

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Noise removal
« Reply #11 on: September 11, 2014, 05:00:43 PM »
No.

Kinect claims it can do all this stuff.  In my experience it cannot.  Or at least, not well enough to make a big enough difference.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7713
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Noise removal
« Reply #12 on: September 11, 2014, 05:03:07 PM »
I am actually working on a special Kinect mode for VC.  So far it seems to allow you to speak from further away from the microphone, but the results are not spectacular (at least not with the Kinect I have) and I have yet to really test it out with music etc.  Also using the Kinect language packs has some serious drawbacks.  You have to use SP which means no dictation and no training, but for some reason the Kinect language packs also do not support numbers!  :bonk

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2009
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Noise removal
« Reply #13 on: September 11, 2014, 05:21:50 PM »
Thanks for the clarification.As i understand music and open air doesn't work each other. 

That's right. The most effective way to handle this problem is to find a way to temporarily reduce or completely mute the volume of your music so that you can then give a voice command.

This is referred to as "ducking". If you search the forum and the wiki, there are various ways to accomplish this, depending on your setup. Obviously, if you have a remote control that can mute/unmute your music for you, that's the simplest method.

Some people use a command that reduces the system volume when they say their prefix word but it's not a great method. VC will still need to hear you say (yell?) that prefix word. If you can be physically closer to your microphone location than your speakers are, this might work.
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)

donmehdi

  • Jr. Member
  • **
  • Posts: 21
  • Karma: 0
    • View Profile
Re: Noise removal
« Reply #14 on: September 11, 2014, 06:15:31 PM »
Actually using the prefix is what i'm doing but as you said you should add a bit of volume to your prefix .But it's better than nothing ;)