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?