Nota: no estoy preguntando cómo hacer un clon de uno de estos. Estoy preguntando cómo funcionan.
Estoy seguro de que todos han visto los juegos en los que usas tus propios archivos de música (o los proporcionados) y los juegos producen niveles basados en ellos, como Audiosurf y Beat Hazard .
Aquí hay un video de Audiosurf en acción, para mostrar lo que quiero decir.
Si proporciona una canción de heavy metal, obtendría un conjunto completamente diferente de obstáculos, enemigos y experiencia de juego de algo como Vivaldi.
Lo que me interesa es cómo funcionan estos juegos. No sé mucho sobre audio (bueno, del lado de los datos), pero ¿cómo procesan la canción para entender cuándo se está asentando o cuándo se está acelerando? Supongo que simplemente podrían alimentar los valores de tono (suponiendo que ese tipo de cosas existan en los archivos de audio) para formar un nivel, pero no lo explicaría completamente.
Estoy buscando una explicación, algunos enlaces a artículos sobre este tipo de cosas (estoy seguro de que hay un término o términos para ello), o incluso una implementación de código abierto de este tipo de cosas ;-)
EDITAR: Después de un poco de búsqueda y un poco de ayuda, descubrí FFT (Fast Fourier Transform). Tal vez sea un paso en la dirección correcta, pero es algo que no tiene ningún sentido para mí ... o encaja con mi conocimiento físico de las ondas.