Explicación:
Se toma un segmento, se calcula la nota MIDI correspondiente y se compara con la del segmento anterior.
Si son iguales se incrementa la cuenta de ticks (no necesariamente en 1)
Si el antiguo tenía un valor legal (no era silencio) y el nuevo una nota ilegal, se apaga la nota antigua y se resetea la cuenta de ticks (ha ocurrido un evento).
Si el antiguo era silencio y hay una nota válida se activa la nota nueva y se resetea la cuenta de ticks. En este caso hay una excepción, y es que para ahorrar bits, la información del canal solo se envía la primera vez, el resto de eventos se supone que ocurren en el mismo canal salvo que se especifique lo contrario.
Si las dos son notas válidas (no pueden ser iguales porque se ha comparado antes) se apaga la antigua, se activa la nueva y se resetea la cuenta de ticks.
Todo esto mientras no sea el último segmento, si es el último segmento se comprueba si hay alguna nota activa, se desactiva en caso de ser necesario y a continuación se finaliza el archivo.