I am trying to build a real time simple audio recognition that can recognize few keywords. Following this tensor flow tutorial i was able to train a simple neural network. Currently the signal flow looks like this

microphone --> Pulse Code Modulation(PCM - range [-1, 1]) --> stfts --> spectrograms--> mel_spectrograms --> log_mel_spectrograms --> mfcc's --> Neural Network.

So far, I just grab the data from the microphone input and preform some steps and input to Neural network. Not performing any kind of back ground noise reduction or some kind of signal filtering techniques. So far the result are very much influenced by the back-ground noises( single channel sampling frequency 16000 Hz).

I am new to this subject and wondering if you can share some valuable insight and techniques/python packages to enrich the speaker voice before feeding it to neural network.

  • $\begingroup$ Hi, @BhanuKiran and welcome to DSP.SE! $\endgroup$
    – applesoup
    Oct 19, 2018 at 16:28
  • $\begingroup$ This project might be of some use. Not Python, but puredata can be used on pretty much any desktop operating system. $\endgroup$
    – JRE
    Apr 18, 2019 at 7:27

1 Answer 1


A typical first approach to solve your problem would probably be to use one of the many existing noise reduction algorithms that target speech signal applications. These algorithms typically consist in

  • noise PSD estimation and
  • noise reduction filtering.

For each task, there are a variety of algorithms to choose from. Example noise PSD estimation algorithms are those based on minimum statistics of the input signal [1] or based on the minimum mean-square error [2]. The actual noise reduction filtering can, e.g., be performed by using spectral subtraction or a Wiener filter.


[1] Rainer Martin, “Noise Power Spectral Density Estimation Based on Optimal Smoothing and Minimum Statistics,” IEEE Transactions on Speech and Audio Processing, vol. 9, no. 5, pp. 504–512, Jul. 2001. PDF MATLAB implementation

[2] T. Gerkmann and R. C. Hendriks, “Unbiased MMSE-Based Noise Power Estimation With Low Complexity and Low Tracking Delay,” Audio, Speech, and Language Processing, IEEE Transactions on, vol. 20, no. 4, pp. 1383–1393, May 2012. PDF MATLAB implementation


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.