Machine de Karaoke by Song Du, Jae-Hoon Lee, Jae Young Cho and Sining Qi
Our project is a karaoke recording machine which is capable of removing the voice component of a music file and storing the user¡¯s singing voice with the background music to an external compact flash memory. It can also be used as a stand-alone voice recorder.
Summary
Our Karaoke machine has 6 modes. It also works as a digital voice recorder.
In the recorder mode, a musical file is read from an iPod. The vocal in the music can be removed. The remaining background music is added to the recorded sound signal acquired by a microphone. The playback sound therefore consists of the original music and the recorded sound. In order to have high quality sound, a relatively high recording speed is required, say 20KHz. An external serial mutli-channel ADC is used to extract the music signal. Considering the size of data, the local microcontroller memory does not have enough space to store such a big file, therefore an external storing device, like a memory flash card, must be used.
Motivation
The motivation of doing this project is to implement the ongoing research project under Professor Sergio Servetto¡¯s group.
High-Level Design
Rationale and sources of your project idea
The rationale of the Karaoke machine is mainly for entertainment. The design idea also came from a research project under Professor Sergio Servetto's group. By making some modifications we can increase the recording rate to be as high as megahertz.
Background
The method of removing vocal inside a song is to subtract the left channel from the right channel, or vise versa. This idea is based upon the fact that, during stereo recording, the singer is usually placed in the middle of the left and right microphone. Most instruments, however, are not. The result is that the singer's voice is the same in the right and left channel, while majority of the instrumental sounds are slightly different in two channels. By subtracting the left and right channel, the vocal will be removed and the music shall remain. This is by no means a perfect technique because the assumption about the singer might not be true in some cases. And due to the echoes, the vocals cannot be completely removed, some "ghostly" sound always remain in the background. In addition, typically the bass instruments, such as drum, are usually placed in the middle as well. By using the method described above, the bass component of the music would be reduced as well. One possible way to solve this issue is to attach a low-pass filter to one of the input and leave the other channel alone. Due to time constraints, we did not implement the filter.
Conclusions
Overall we are satisfied with our results although it didn't work perfectly as we originally hoped. We had to spend a great amount of time researching since the project involved unfamiliar materials. The conversion of the music and voice to digital signal worked as desired and the quality of sound during playback is satisfactory. But we had some trouble writing large amount of data to memory due to time constraints. With additional time, we feel confident that we would have come up with an algorithm to compensate for the loss of data. Although we could not record songs in their entirety, we were able to record parts of it and get a better understanding of how to communicate to an external memory using UART interface using different baud rates.