Real time background noise reduction or removal
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.

References

[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