Мне лень описывть построение текста песни в блоках, поэтому так:
var audio = new Audio();
audio.src = "http://mus.com/song.mp3";
audio.play();
var lirycs = [{
"time": 5444,
"duration": 121,
"text": "Top ",
"isLineEnding": 0
},
{
"time": 6000,
"duration": 121,
"text": "Top2 ",
"isLineEnding": 0
}];
var next_text = lirycs.shift();
var checker = setInterval(function(){
if(next_text.time<audio.currentTime*1000){
console.log(next_text.text);
next_text = lirycs.shift();
}
if(audio.ended)clearInterval(checker);
});
Да и не интересно работать с огрызком кода, да и умеющий JS легко сделает эту хрень.