How can I perform an audio noise reduction like the Voice Memos app?

Recently, the Voice Memos app from Apple got a new feature: a magic wand that performs noise reduction.

This noise reduction seems to process live while the recorded audio is playing, since it doesn't pause the played audio.

In the Apple documentation, there's a single reference to a noise reduction, by performing a discrete cossine transform, removing the unwanted frequencies below a threshold, and then performing the inverse transform.

My question is: is it a viable approach for performing live processing? If yes, how can I perform it? By calling installTap or maybe creating a custom AudioUnit?

Replies

I recently found there's a Wiener filter inside vDSP. I wonder if they use this inside Voice Memos.