MATLAB Answers


Why doesn't mp3write work in R2015b but it does in R2013b?

Asked by David Koenig on 12 Jan 2016
Latest activity Edited by Walter Roberson
on 19 Jul 2017
When I try to use mp3write in R2015b I get
Error using wavwrite (line 8) WAVWRITE will be removed in a future release. Use AUDIOWRITE instead.
Error in mp3write (line 53) wavwrite(Y,FS,NBITS,strcat(lame,'\temp.wav'));
I can always go back to R2013b because I luckily kept it but I would prefer to use the latest versions. Is there a mod available that will solve this problem? Thanks.


Sign in to comment.


1 Answer

Answer by Walter Roberson
on 12 Jan 2016
Edited by Walter Roberson
on 19 Jul 2017
 Accepted Answer

mp3write() is a File Exchange Contribution. Or maybe it is this other contribution. Either way it is not part of MATLAB.
You can adapt the source of whichever one you are using to use audiowrite() . It should be a minor change.


Thanks for the response, Walter. I checked the documentation for audiowrite and it appears that it does not allow for .mp3 files. It does allow for .wav, .flac and .mp4 but note .mp3. Am I missing something?
You are missing that whichever mp3write() that you are using from the File Exchange is doing its work by using wavwrite() to write a .wav file and then invoking an outside program named "lame" to convert the .wav into .mp3 . You need to go to that third-party mp3write() code and change the wavwrite() call into an audiowrite() call. The mp3write() code does not really care how it creates the temporary .wav file, just that it creates a temporary .wav file that it can use as input to the external program named "lame".

Sign in to comment.