The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Software noise cancelling for microphones, is there such a thing?

    Discussion in 'Windows OS and Software' started by PhoenixFx, Dec 25, 2008.

  1. PhoenixFx

    PhoenixFx Notebook Virtuoso

    Reputations:
    744
    Messages:
    3,083
    Likes Received:
    0
    Trophy Points:
    105
    I know about existing hardware solutions, but is there a software program (sort of like a driver level filter) that can work with a mic/line-in input of a sound card and provide a standard audio input source for the filtered output (for instant messengers, line-in recording apps, etc..)?

    On my Creative X-Fi Go there is a noise cancellation feature, but the driver support is not yet implemented. There is an audio clip demonstrating how it should work ( Demo Silencer OFF, Demo Silence ON), but the option is disabled with link to this web page. Don’t know when they are planning to release it, in the mean time wondering if there are similar applications out there. If not, then why hasn’t anyone developed one already?
     
  2. qhn

    qhn Notebook User

    Reputations:
    1,654
    Messages:
    5,955
    Likes Received:
    1
    Trophy Points:
    205
    I doubt that a software solution would be feasible, giving the fact that external noises concentrate around the ears region. This translates to a need of an insulated area covering the listening environment.

    cheers ...
     
  3. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205
    Oh it is very feasible. The OP is not talking about playback of audio, which is what you are referring to in your reply. The OP is interested in noise cancellation during the recording process. Basically a "squelch" control, where the output of the mic gets muted when the sound drops below a certain threshold. That is one form of noise cancellation the other could be the removal of a steady state noise source from a microphone output. Imagine for example, recording of a voice with the microphone picking up the constant drone from a nearby fan. Because this fan noise is pretty constant and predictable, it is feasible to remove it from the output signal.

    Both of these are feasible, but not easy and not without artifacts. (Actually, the squelch is not too difficult. But it does present possible artifacts unless done very well.)

    The best solution to this I have ever seen was a hardware solution devised many years ago by the live sound engineers of the Grateful Dead. (These guys came up with some of the best innovations ever!) It involved two microphones, one directly in front of the singers mouth. The second was offset a few inches to the side (six or so). The two mics were wired into a summing amp with one 180 degrees out of phase with the other. Anything that entered both mic's was automatically nulled out. Only sounds that entered one of the mics was passed thru the summing amp. Some careful adjustment of the gain of the two channels on the summing amp yielded a very clean output with much less ambient noise.

    Look at some old concert footage of the Dead and you might see this set up on Jerry Garcia's mic stand.

    Gary
     
  4. qhn

    qhn Notebook User

    Reputations:
    1,654
    Messages:
    5,955
    Likes Received:
    1
    Trophy Points:
    205
    ^^ cool input.

    cheers ...
     
  5. PhoenixFx

    PhoenixFx Notebook Virtuoso

    Reputations:
    744
    Messages:
    3,083
    Likes Received:
    0
    Trophy Points:
    105
    I think it is possible, Did you guys listen to those two audio clips I attached? Creative is going to release something like that in the future; those samples are not very impressive, I know.. but better than nothing…. Checking to see if something like that already exists.

    If you look at the science behind it I don’t think it is that difficult; I mean filtering out the most prominent voice by analyzing frequencies and a bit of signal processing is not that complex right? I don’t know the exact math behind it, but I know it is possible. Forget about picking out only the speaker's voice from a set of many voices, but at least cutting off ambient noises (that are way out of the human voice spectrum) is possible, right ?

    Take a look at this : Jawbone noise canceling BT headset demo (This is not demonstrating noise canceling at the ear piece, it is demonstrating noise canceling at the mic input : as heard by the other party of the conversation). If a tiny headset can do that, imagine what a Core 2 with some good coding is capable of :eek:

    Wonder why this type of a feature is not a part of every sound card or at least a part of instant messengers with voice.
     
  6. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205
    Yes I listened to them. But I agreed all along that it IS possible. The processing power is there and the math exists. But it is not easy code and there will always be some artifacts, either portions of the background will remain or portions of the foreground will be lost. But the results can be very useful. Eliminating a large portion of the background can be VERY beneficial, even while having some of the background remaining.

    But I don't know of any such software available now that does his on the input side of the equation. I have seen some filters that can be applied AFTER the fact to clean up recorded material, but none that do it in line.

    Gary
     
  7. PhoenixFx

    PhoenixFx Notebook Virtuoso

    Reputations:
    744
    Messages:
    3,083
    Likes Received:
    0
    Trophy Points:
    105
    Yes, I was actually referring to qhn's comment...

    That jawbone headset is quite amazing... wonder how they do it. Hardware or software, at the end it is all signal processing.. unless they use more than just a single microphone as the input, writing a software solution shouldn't be difficult (I mean if they already have a hardware implementation, a software implementation should be simpler, right ?). I'm not saying anyone can do it ,I certainly can't :eek: , but someone who knows about signal processing should be able to....
     
  8. qhn

    qhn Notebook User

    Reputations:
    1,654
    Messages:
    5,955
    Likes Received:
    1
    Trophy Points:
    205
    I agree that it is possible, but it is not practical in my view. My take is that someone is working to make a better filtering/removal of unwanted noises process, and not so much in noise "cancelling" -

    cheers ...
     
  9. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205
    Not sure I understand the difference. When referencing the input process what is the difference?

    Gary
     
  10. qhn

    qhn Notebook User

    Reputations:
    1,654
    Messages:
    5,955
    Likes Received:
    1
    Trophy Points:
    205
    Simple - what would determine/define "noises" in an audio stream?

    It would make more sense to develop/expand the filtering/removing of unwanted "noises" (?) from a raw input, rather than cancelling them (whatever "them noises" supposed to be defined) out before the recording.

    my 2 cents of product development.

    cheers ...
     
  11. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205
    I still don't understand what you mean. What is the difference in removing them versus canceling them?

    Are you saying it makes more sense to remove them AFTER the recording rather than before?

    I am confused.

    Gary
     
  12. qhn

    qhn Notebook User

    Reputations:
    1,654
    Messages:
    5,955
    Likes Received:
    1
    Trophy Points:
    205
    yep.

    cheers ...
     
  13. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205
    That's fine for recordings and situations where there is post processing, but where there is immediate use of the input signal the cancellation at the source becomes more compelling. Things like Skype etc. where the input is used, not recorded.

    Gary
     
  14. qhn

    qhn Notebook User

    Reputations:
    1,654
    Messages:
    5,955
    Likes Received:
    1
    Trophy Points:
    205
    I am sure that even for things like Skype, noise filtering is being made through the chat engine (so i call it) before channelling it further. Every headset performs differently, coupled with ISPs performance and so on.

    So it is always better for each product (in this case Skype) to implement the filtering within its core machine, rather than relying on some software sitting outside cancelling "noises". Thus back to the making more sense not to make the development of noise cancelling utilities a priority.

    cheers ...
     
  15. ScuderiaConchiglia

    ScuderiaConchiglia NBR Vaio Team Curmudgeon

    Reputations:
    2,674
    Messages:
    6,039
    Likes Received:
    0
    Trophy Points:
    205
    But that solution requires each software vendor to provide their own implementation of some noise cancellation. It looks like, from the OP's initial post, that Creative is looking to provide a more universal solution which could work in any piece of software that uses mic input, by providing a switch at the driver level to turn on or off the noise cancellation.

    I agree the approach to doing the noise removal in post processing allows for more finite control and in a lot of cases makes more sense. But I can also see a case for preprocessing as well. Especially one that allows you to tweak the set up for proper performance at the driver level and only have to do that one time and then any app could use that tweaked driver settings. With, of course, the ability to turn off the cancellation where post processing makes more sense.

    The thing I like most about this approach, is that it allows for this enhancement to be used with ANY piece of software. Post processing requires that each individual piece of software has to contain noise removal code of it's own. (Unless the post processing app supports plug in's.) You can't really do this at a single point, aka driver level.

    Gary
     
  16. qhn

    qhn Notebook User

    Reputations:
    1,654
    Messages:
    5,955
    Likes Received:
    1
    Trophy Points:
    205
    I am sure that both approaches discussed so far are sound approaches, and feasible to develop and implement. My input tends only toward where the priority comes and be decided.

    Creativ can make a jump start on this, and uses it as a good marketing tool to sell its products. But will the return be justified if the audio freeway is still full of potholes that would eliminate/negate the pluses that this pre-cancelling process offers?

    cheers ...
     
  17. PhoenixFx

    PhoenixFx Notebook Virtuoso

    Reputations:
    744
    Messages:
    3,083
    Likes Received:
    0
    Trophy Points:
    105
    As for Skype noise filtering, it does a good job at cancelling feedback when using laptop speakers and built in mic, but not so good at removing ambient noises. I’ve seen a small message on skype informing me that background noise is detected therefore move away from the noise source, but I don’t think it does anything much to improve sound quality.

    I also think it is better if sound card manufacturers take up this challenge rather than individual software vendors. For one, high-end cards with built in DSP chips can take advantage of the onboard processing power, they can also provide hardware solutions too (like giving the option to use more than one mic and somehow use multiple inputs and directionality to improve noise canceling like the one ScuderiaConchiglia mentioned in his first post). Besides, sound card manufacturers should know better than IM developers about sound processing.... I mean after all their business is providing better sound.. And I also agree with that one universal solution is better than 100 localized fixes.

    I think this is a very good feature if someone implements it, for example I sometimes use a notebook cooler and have to turn it off when I talk with someone because the sound of that is clearly picked up by the built in mic; more than the audible noise I think sound through vibration is picked up. One way or the other I cant talk without switching it off. What about people working in noisy environments ? Am I the only one who thinks this is a necessity than a luxury ?
     
  18. qhn

    qhn Notebook User

    Reputations:
    1,654
    Messages:
    5,955
    Likes Received:
    1
    Trophy Points:
    205
    IM sound quality, for me, equals to conversing with a person over the net like conversing with that person face-to-face. Same thing goes for telephony (land lines, cels, handy, mobile etc ...)

    Taking Skype as an example, it would be nice if they expand the audio set-up functionality, to include some sort of equalizer/filter dialog, allowing the users to control and filtering out the noises found in their environment. In your case, a laptop cooler.

    Expanding to communications, it would be nice that one does not have to close one ear whilst talking on the phone because the neighbour is playing loud music. In this situation, at least Skype asks user to move about until it determines (internally) that the sound is good enough for the other person to understand.

    I must say that noise-cancelling mics have been around for a long time. Just take a look at the headsets used by private and commercial pilots and football coaches. But those headsets still rely heavily that the mic be real close to the mouth/lips in order to filter out ambient noises. Now, in between always sits a transceiver/receiver that can be controlled to clean out further ambient noises in order to deliver intelligible messages.

    I take the 5th on who's better than whom in sound processing.

    Agreed.

    cheers ...