I want to isolate video game "action" sounds from the video game soundtrack. Given all ~20 songs, I'd like to filter them out from any live audio stream during gameplay.
What is a fast and robust way to do this?
More info: I am using this to preprocess the audio input for a neural network which is making decisions in real-time, so it needs to be fast (on the order of 100ms or less). It also needs to be robust, since the soundtrack can be interrupted in-game events or pausing the game.
I am thinking of binning the audio with small bins, taking a FFT, identifying which song is playing by feeding the spectogram to a convolutional neural network, and subtracting the song. I fear this approach would be too slow, though.