I'm writing a small speech input app for my laptop. My app is unusable when other sounds are being generated by the laptop, such as from a music playing app. For this reason, I'd like to have an echo cancellation plugin that would cancel out the music played on the laptop speakers when it is received by the mic. I think this should be doable since the music is playing through alsa. I've done some poking in the plugin documentation, and it's not clear to me how to architect this plugin. Ideally, I would route all my music playing apps through the echo cancelling plugin. I would also route the mic capture stream through the plugin. So the plugin must handle both playback and capture streams. Does the asym plugin hold the answers I need? Does anyone have any thoughts on how I might do this? There are several open source echo cancellation algorithms available, so I'm mainly asking for advice on implementing this as an alsa plugin.
Thanks, Rob