Nota: Não estou perguntando como criar um clone de um deles. Estou perguntando sobre como eles funcionam.
Tenho certeza que todo mundo já viu os jogos em que você usa seus próprios arquivos de música (ou os fornecidos) e os jogos produzem níveis baseados neles, como Audiosurf e Beat Hazard .
Aqui está um vídeo do Audiosurf em ação, para mostrar o que quero dizer.
Se você fornecer uma música heavy metal, terá um conjunto completamente diferente de obstáculos, inimigos e experiência de jogo de algo como Vivaldi.
O que me interessa é como esses jogos funcionam. Eu não sei muito sobre áudio (bem, do lado dos dados), mas como eles processam a música para entender quando ela se acalma ou quando está acelerando? Eu acho que eles poderiam apenas alimentar os valores de afinação (supondo que esse tipo de coisa exista nos arquivos de áudio) para formar um nível, mas isso não explicaria completamente.
Estou procurando uma explicação, alguns links para artigos sobre esse tipo de coisa (tenho certeza de que há um termo ou termos para isso) ou mesmo uma implementação de código aberto desse tipo de coisa ;-)
EDIT: Após algumas pesquisas e uma pequena ajuda, descobri a FFT (Fast Fourier Transform). Talvez isso seja um passo na direção certa, mas é algo que não faz sentido para mim ... ou se encaixa no meu conhecimento físico das ondas.