The problem I'd like to solve is that my desktop microphone picks up all my keystrokes very loudly compared with my voice. Even just lightly tapping a key without depressing it causes a loud click to be picked up.

I'd like a way to filter out this type of sound, while picking up voice normally. Is there any software input equalizer/filter that could do this? Or alternatively, some sort of hardware hack?

  • I have noticed this on some cell phones also, some mics are real sensitive to certain frequencies and amplify them more, I suggest trying a higher quality microphone.
    – Moab
    Sep 25, 2010 at 1:14
  • Great question. +1. I have an IBM T60 with the same problem.
    – Xavierjazz
    Sep 25, 2010 at 1:35

4 Answers 4


It seems like the microphone is the problem. I would plug in a better mic. You could buy a small clip-on microphone or a headset with a built-in mic. There are really cheap ones available, and they might still be better than you laptop mic, if only for the fact that they would be closer to your mouth.


This is usually due to low quality motherboard components, or high quality ones that were not thought out well - having unshielded circuits or a few components too close to each other.

The easiest solution by far is to buy another audio card - it can just be a cheap £5 one, although I would advise something such as an OEM creative one (which should be better than any built in / on board motherboard).


Have you considered buying a new keyboard with something like notebook keys? I guess there are some keyboards on the market, which are specially designed to be silent and to have smooth keystroke. I saw something like this at Gizmodo once. Mabye that can reduce the clicking your microphone is catching.


I have recently been thinking about this and wondered if it is able to write a filter algorithm based on machine learning. I have a blue-switch keyboard that is quiet loud and therefore have the same problem. While I personally haven't implemented it yet I believe it shuold be possible. What you'd need is:

  • sample data
    • log key stroke timestamps and overlay with recording
    • create NN that can recognize keystrokes very well
  • filter
    • train NN that tries to change the stream so that NN1 won't recognize key strokes anymore
    • add amount of maniupulation of stream as a negative reward --> manipulate as little as possible

If anyone is interested in building this I'd be happy to work on it together.

  • That's a cool concept! Currently I can't commit to work on it, but I'll probably try to investigate it in a couple of months from now. If you start a project and welcome help, please update the answer with a link. =) Mar 23, 2018 at 1:09
  • I started with creating a question about it: ai.stackexchange.com/questions/5773/… Mar 23, 2018 at 12:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.