Das Problem ist ja das das Gesang nicht nur aus einem Sinuston besteht sondern aus einer Überlagerung vieler Frequenzen. Eine Möglichkeit wäre z.B. zu versuchen den Gesang zu entfernen (google mal nach Vocal Remover). Dann das entstehende Signal vom Ursprungssignal subtrahieren. Dann bliebt nur noch die Stimme übrig. Sollte das resultierende Signal einen bestimmten Schwellwert nicht überschreiten hättest du ein Instrumental-Stück. (Wenn du selbst einen Vocal-Remove-Algo hättest könnte mana uch direkt daraus versuchen abzuleiten ob eine Stimme überhaupt vorhanden ist.) Auf jedenfall sind die Ergenisse nie eindeutig und die Fehlerquote ist recht hoch.
Solltest du jedoch einen fehlerfrei arbeitenden Algorithmus hinbekommen läßt sich der bestimmt gut zu Geld machen.
hier mal etwas zum lesen
http://alphard.ethz.ch/hafner/PPS/PP...er/Bericht.htm
http://www.delphipraxis.net/internal...t.php?p=608430
Gruß
tr909