When the file is uploaded you have the $FILES array containing the file information. print_r($FILES) and you 'll see what it contains.
One of the array keys is 'type'. That's the mime type of the file. So where the name can be changed the type is read from the file data.
Rename the file with mp3 extension to be sure it's both the type, and has the mp3 extension you want.
I would validate by creating an array of mp3 mime types
I think this is current but do some research to check
(list taken from http://filext.com/file-extension/MP3)
Then compare the files type to see it is in the array (using inarray() )
If it is continue moving it to the server if not exit with a message to the user.
If you get complaint from users in the future (after you have it working for a while) that they can't upload first thing to check is no new mime types have been created. This happened recently with Microsoft's new XML office doc types and the acceptable mime types array had to be updated for acceptable office docs.