Cómo analizar la entrada / espectro de audio correctamente

Soy bastante nuevo en Java y procesamiento de señales, pero se me asignó un proyecto que se ocupa del procesamiento de audio. Mi tema que se me da es un juego que tiene un componente de análisis de una canción (cualquier canción) y genera datos dependiendo de la frecuencia que se está reproduciendo...