I have two .mp3s on my computer, both of which are unusual in their own way.
The first one in three different media players (WMP, VLC, Google Music) says its length is 2:07, but will play for three minutes and 35 seconds. Music, lyrics, the whole thing. Song just flows seamlessly passed the 2:07 mark. Why would a file do this?
Second is a file that started out at a decent length, four minutes and some change. However, something happened and I couldn’t tell you what, that changed the length of the song to thirty-five minutes in length. Again, happens on all three media players and will just play and play and play (it’s an instrumental, so it’ll just loop 20 times), when I distinctly remember it used to be only about four minutes.
The second file actually jumped from four to seven minutes, then from seven to 35.
Both of these songs were not legally ripped from a disc. The first one came in a torrent with all the other songs on the disc. The second song was downloaded from Limewire a long time ago (which is why I can’t identify when it changed, it just was a different length one day).
That last one is weird, since I’d think most players would just stop early. But actually having the wrong length is not too uncommon, as the length is stored in the file for efficiency’s sake. This freeware program claims to be able to fix this problem, but I don’t have anything to test it on (that I know of).
Barring some bug common to all the media players you’ve tried, the answer is that the files you’ve downloaded are somehow corrupted. It’s possible, but unlikely, that they became corrupted during the download, or unlikelier still that they became corrupted on your computer due to some problems with the filesystem on your drive. The most likely explanation, however, is that they were corrupted upon their creation; the software used to rip and encode them was buggy, and/or couldn’t intelligently handle read errors (from copy restriction, scratched or damaged CDs, etc.) from the original media. If the files happen to be MP3s, then you can try using MP3 Diags, free software which attempts to fix corrupted MP3 files. Depending on the exact nature of the corruption, though, the only solution may be to re-rip and re-encode the audio from (a better copy of) the original medium.
I have a song that the mp3 players claim is 29 minutes long. It’s really just 3 or 4 minutes, and the player simply moves on to the next song after the song is over.
If a file was corrupted from the get go, why would the one song not start off at 35 minutes instead of starting at a normal length then spiking upwards over two occasions?
In any case, thanks for the suggestions on how to try and fix the files. I don’t really mind the first one going longer than the given length of the track, just was always strange.
It might be nice though to have that second song back down to a length that will have me actually wanting to listen to it. The only song even remotely close to that length that I ever want to hear is Pink Floyd’s “Echoes”.
There are various manners in which a file can be corrupted, and various ways in which a media player might interpret or work around that corruption, so it’s not possible to find the answer unless you can identify the file format and the exact nature and point(s) of corruption in the file, and examine the source code of the media player you’re using to play it. The first of these you can tell us by looking at the file extension, the second of these you might be able to find out from MP3 Diag or a similar tool, but the third presupposes that you’re using a free or open source media player to play a publically documented file format, and that you have the requisite technical skills and the considerable time involved (hours or days) to study the matter.
I don’t know about the second file but in the case of the first file, the song likely isn’t corrupted. Most probably, it’s been encoded in VBR mode. It seems there’s a program called VBRFix to fix this. I haven’t used it, though.
It’s common (but generally bad practice) in computer data to have the same parameter stored in two different places, or stored in one, but intended to be computed on the fly sometimes. When data is read, either parameter might be the one used. One program might access one source, another program reads the other.
If the two don’t match for any reason, you are at the mercy of the software that reads it.