0
$\begingroup$

For any person even remotely familiar with music it is obvious that rap and singing are easily distinguishable (save for some interesting mix styles). This means that there must be a clear difference, but as with many things (e.g. image recognition) it might be that humans are better at picking up the subtleties. What I am interested in is whether a computer would be able to recognize the difference between rap and singing?

In other words: could you distinguish between rap and singing by just looking at the soundwaves in terms of frequency and amplitude and the likes? If so, how would that work?

$\endgroup$
  • 1
    $\begingroup$ You will probably get more detailed answers about how to do so by posting this over at the Signal Processing SE. $\endgroup$ – Chris Mueller Jan 24 '14 at 16:16
1
$\begingroup$

Of course this is possible. As humans only register frequencies and amplitudes it is a matter of writing good pattern recognition software. There are plenty algorithms available in the area of machine learning capable of doing this. The basic principle is that instead of hard-coding the differences between rap and singing you let the computer figure out what it means for a song to be either "rap" or "singing" by feeding it a whole lot of examples from which it can "learn".

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ Right, computers can do it, like Shazam that may determine the exact song. But the OP's question could also be whether we can do it by looking at the waves. ;-) Well, I guess that the rap would have much higher representation of the same frequencies (plus minus) all the time while the Fourier decomposition of music would be much more diverse. $\endgroup$ – Luboš Motl Jan 24 '14 at 12:57
  • $\begingroup$ I agree, I missed the fact that the OP may be referring to the question if "humans" could tell the difference from viewing the, for example, Fourier decomposition of the sound waves. In which case I agree with you. $\endgroup$ – camelthemammel Jan 24 '14 at 13:04
  • $\begingroup$ I didn't necessarily disagree, maybe the question was "in principle" so that one may use any algorithm on any computer to "solve" the problem. It's hard to see into OP's brain. $\endgroup$ – Luboš Motl Jan 24 '14 at 13:52
  • $\begingroup$ To give you some insight in my brain then ;) - I was in fact mainly looking for the general physics of recognizing the difference between rap and singing and used the computer as an example. The fourier decomposition and checking for the diversity of the frequencies actually sounds pretty much like the answer I was looking for $\endgroup$ – Michiel Jan 24 '14 at 16:01
0
$\begingroup$

My approach would be to make a representative sampling of rap music, isolate the frequency band where the singing is located (as first approximation), do a Fourier decomposition of the amplitude patterns and then do some sort of supervised learning process over such sampling.

Long time ago I saw some sort of white-paper for Shazam (or a similar service), but never read it. Certainly they use Fourier tools in their process, from what I remember from the abstract or skimming trough it. Maybe it would be worthwhile for you (if you're interested) to look for it and read it.

| cite | improve this answer | |
$\endgroup$
0
$\begingroup$

In connection with Kausel's answer I would think that a wavelet analysis of representative samples would bring out specific differences between rap and singing that can be used to identify the nature of a piece of music. In general wavelet transforms tend to give more information than Fourier transforms. For more information see http://en.wikipedia.org/wiki/Wavelet.

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.