I was playing with a karaoke application and came up with following questions:
1. The application allowed its users to control the volume of the artist; even mute it. How is this possible?
I know that every sound is represented by a frequency. So does adjusting artist sound/setting equalizer etc. mean performing some transformation of required frequencies?
2. The application recorded users voice input via a mic. Assuming that the sound is recorded in some format, the application was able to mix the recording with the karaoke track(with artists voice muted). How can this be done?
Did they play both the track and voice recording simultaneously? Or maybe they inserted additional frequency(channel?) in the original track, maybe replaced it?
What sort of DSP is involved here? Is this possible in
Java?
I am curious and if you have pointers to documents or books that can help me understand the mechanism here, please share.
Thanks.