MidiSystem - Comparar Arquivos MIDIs

Ola Pessoal!

Bom, digamos que eu tenha duas musicas, de preferência no formato MIDI. Gostaria de saber se tem alguma forma de comparar uma musica com a outra em relação a nota musical, ou seja:

  • Pegar uma musica X
  • Pegar o instrumento de voz do MIDI, aonde gera a melodia da musica.
  • Pega a nota musical para cada intervalo de tempo(pode ser 0,1 segundo)
  • Fazer o mesmo com a outra musica e depois comparar para saber se a musica esta correta ou não.

Da mesma forma que o Karaokê sabe se você esta cantando certo, gostaria de saber se existe como fazer isso no java. Minha dificuldade nao é em montar um algoritmo para comparar, e sim como vou pegar um MIDI e capturar a nota/segundo no Java

Tem como fazer isso? Alguém já fez algo parecido?

Obrigado!

Dois mids, sim. Mid e voz, aí o buraco é muito mais embaixo.

Dê uma olhada na classe Sequencer. Você terá que adicionar a ela um listener, e capturar os eventos das notas musicais.
http://www.java2s.com/Code/Java/Development-Class/AnexamplethatplaysaMidisequence.htm