Bueno... este tema es largo y duro (
)
Yo realmente de redes neuronales y demás se bien poco, pero como afinicionado al sonido (y teleco) te puedo dar ideas y decirte patrones que se dan en los diferentes estilos de música:
- La música clásica se diferencia sobre todo en el gran márgen dinámico que maneja. A veces, abriendo un fichero de onda sólo con verlo se nota que es música clásica. Hay momentos con amplitudes muyy bajas, y otros que casi llega al valor de amplitud máximo. También si la amplitud es baja en todo momento también cabe intuir que se trata de música clásica.
- Hay programas por aquí que sacan el tempo de un tema musical. Incluso he encontrado papers y demás artículos donde te explican conceptos para elaborar este tipo de programas. Con el tempo de un tema puedes averiguar muchas cosas... Si el tempo es rápido o bien es lento puedes deducir cosas sobre el estilo musical... Si el programa detecta que no hay tempo seguramente sea porque se trate de algún estilo suave e instrumental (¿música clásica?).
-Por otro lado, estoy seguro que la música que lleve mucha guitarra distorsionada va a tener características en los espectros peculiares... (es pararse a mirar espectros).
La verdad, yo creo que primero deberías cogerte un editor de audio tipo WaveLab, abrir música de diferentes estilos, observar e intentar encontrar patrones (tanto en la forma de onda en el tiempo, como en el espectro).
Por último, te digo que para generar el espectro de una señal y así poder comparar, sí te sería muy útil alguna librería que generase la FFT. Además, para abrir WAVs y MP3 hay otras librerías también interesantes, que te abstraen de las cabeceras de los archivos y te dejan trabajar con la información interesante directamente.
Métete aquí para mirar mi proyecto fin de carrera (hecho en C#), por si te da ideas con el tema de los MP3 o de los WAVs:
>Mi proyecto fin de carrera