Java Sound: Comparando musicas

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!