Measuring the length of a song

5 次查看(过去 30 天)
Suppose I have a code segment like this for measuring the time length of the song.
player = audioplayer(y, Fs);
tic
play(player)
toc
I do not get the actual length of the song with this tic toc. It just gave some 5 seconds whereas the song length was in minutes. I guess actually the 5 seconds is for the audioplayer process not the playing of the song in full. MatLAB prompt is becoming ready to receive the next command even while the song is being played. How to get the actually song time? Please do not advise me to multiply the sampling interval with the number of samples.
  2 个评论
Guillaume
Guillaume 2015-5-22
"Please do not advise me to multiply the sampling interval with the number of samples"
Why not? That would be the most accurate and straightforward way to get it.
Seetha Rama Raju Sanapala
Yes. but I am looking for some other tool like tic toc to measure the time. BTW, why is tic toc not able to measure this and is there a technical name for this feature of freeing up MATLAB for the next command before the song is played in full?

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2015-5-22
If the song is stored in an audio file in standard format, then use audioinfo on the file and extract Duration from the result.
You could also change your play(player) call to playblocking(player). That would give you a wall-clock time to play the song, but that is not the same as how long the song is because of the overhead of setting up to play the song.

更多回答(0 个)

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by