Platform MACA64 not recognized error

I recently started getting errors in Matlab stating: "Platform MACA64 not recognized". This happens when opening a script file to edit or executing a script.
In this example the error occurs in my script when it calls audioread (myFileName). The error occurs in the bowels of audioread which is of course a builtin function, so it's strange that it doesn't work.
Error using audioread>readaudio (line 181)
Platform MACA64 not recognized.
Error in audioread (line 160)
[y, Fs] = readaudio (filename, range, datatype);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in Deconv (line 5)
[invSweep, Fs1] = audioread (myFileName));
This example occurs when opening a script to edit.
I'm running on a Macbook with Apple Silicon (M2). I tried reinstalling Matlab by first deleting the Matlab Applications file and the Mathworks Application Support folder but that didn't seem to make a difference. I even tried installing the Intel version and running with Rosetta but I get the same error except instead of MACA64 it says MACI64.
One other possibly related thing is some functions such as audioread are not found in the commandline help even though I can execute these commands.
>> help audioread
audioread not found.
Search the documentation for audioread
Any ideas?

5 comentarios

As you can see below, a missing audioread is strange. It should be present on all platforms. If you try to delve into the Matlab installation folder, are you able to find a file in the location described below?
which('audioread','-all')
/MATLAB/toolbox/matlab/audiovideo/audioread.m
help audioread
AUDIOREAD Read audio files [Y, FS] = AUDIOREAD(FILENAME) reads an audio file specified by the character vector or string scalar FILENAME, returning the sampled data in Y and the sample rate FS, in Hertz. [Y, FS] = AUDIOREAD(FILENAME, [START END]) returns only samples START through END from each channel in the file. [Y, FS] = AUDIOREAD(FILENAME, DATATYPE) specifies the data type format of Y used to represent samples read from the file. If DATATYPE='double', Y contains double-precision normalized samples. If DATATYPE='native', Y contains samples in the native data type found in the file. Interpretation of DATATYPE is case-insensitive and partial matching is supported. If omitted, DATATYPE='double'. [Y, FS] = AUDIOREAD(FILENAME, [START END], DATATYPE); [Y, FS] = AUDIOREAD(URL,...) reads the audio file from an Internet URL or stored at a remote location. When reading data from remote locations, you must specify the full path using a Uniform Resource Locator (URL). For example, to read an audio file from Amazon S3 cloud specify the full URL for the file: s3://bucketname/path_to_file/my_audio.wav For more information on accessing remote data, see "Work with Remote Data" in the documentation. Output Data Ranges Y is returned as an m-by-n matrix, where m is the number of audio samples read and n is the number of audio channels in the file. If you do not specify DATATYPE, or dataType is 'double', then Y is of type double, and matrix elements are normalized values between -1.0 and 1.0. If DATATYPE is 'native', then Y may be one of several MATLAB data types, depending on the file format and the BitsPerSample of the input file: File Format BitsPerSample Data Type of Y Data Range of Y ---------------------------------------------------------------------- WAVE (.wav) 8 uint8 0 <= Y <= 255 16 int16 -32768 <= Y <= 32767 24 int32 -2^31 <= Y <= 2^31-1 32 int32 -2^31 <= Y <= 2^31-1 32 single -1.0 <= Y <= +1.0 ---------------------------------------------------------------------- WAVE (.wav) (u-law) 8 int16 -32124 <= Y <= 32124 ---------------------------------------------------------------------- WAVE (.wav) (A-law) 8 int16 -32256 <= Y <= 32256 ---------------------------------------------------------------------- FLAC (.flac) 8 uint8 0 <= Y <= 255 16 int16 -32768 <= Y <= 32767 24 int32 -2^31 <= Y <= 2^31-1 ---------------------------------------------------------------------- MP3 (.mp3) N/A single -1.0 <= Y <= +1.0 MPEG-4 (.m4a,.mp4) OGG (.ogg,.oga,.opus) ---------------------------------------------------------------------- Call audioinfo to learn the BitsPerSample of the file. Note that where Y is single or double and the BitsPerSample is 32 or 64, values in Y might exceed +1.0 or -1.0. Example: % Read audio from a local file [y, Fs] = audioread('Local_folder/sample_audio.wav'); % Read audio from an Amazon S3 bucket location [y, Fs] = audioread('s3://bucketname/path_to_file/sample_audio.wav'); See also AUDIOINFO, AUDIOWRITE Documentation for audioread doc audioread
The actual error occurs on this line:
readPlugin = PluginManager.getInstance.getPluginForRead(filename);
So now we should try to hunt down where this class is created.
which PluginManager -all
'PluginManager' not found.
Seems like a dead end, but it isn't. It's imported earlier from here:
\MATLAB\R2024a\toolbox\shared\multimedia\+multimedia\+internal\+audio\+file
Since the first line of the getPluginForRead function is this:
PluginManager.errorIfUnsupportedFile(fileToRead);
my guess is that you're trying to read an unsupported file.
If that is indeed the case, I find it odd that this would be the error. Perhaps the assert on line 210 of PluginManager is incorrect somehow?
assert(false, 'Audio Toolbox always available on Mac OS X');
Thanks, Rik. Clearly something is wrong with my installation because so many different things are failing (I can't even open script in the editor by double clicking or from the right click menu).
Which shows that I'm in version 2024b which I installed after I posted this. It's bizarre that "which" finds audioread but help audioread does not.
Audioread seems to throw the same error regardless of whether I have a valid fiename.
One other thing, I had installed the Matlab Runtime 2022 (for Intel). I thought that I might have screwed things up but I deleted that install and the Application Support so it seems like it should have no effect but maybe I missed something.
>> which('audioread','-all')
/Applications/MATLAB_R2024b.app/toolbox/matlab/audiovideo/audioread.m
>> help audioread
audioread not found.
Search the documentation for audioread
>> which('multimedia.internal.audio.file.PluginManager','-all')
/Applications/MATLAB_R2024b.app/toolbox/shared/multimedia/+multimedia/+internal/+audio/+file/PluginManager.m % multimedia.internal.audio.file.PluginManager constructor
Rik
Rik el 9 de Jul. de 2024
I don't know what is going on here. R2024b is also not released yet (only a pre-release), so some issues might occur there.
Chris
Chris el 9 de Jul. de 2024
Behavior is exactly the same with R2024a vs R2024b.
Chris
Chris el 9 de Jul. de 2024
Also, I noticed that I can't sign in to my account from Matlab. It just goes in an endless loop prompting me to login. Actually, once the login appeared to work momentarily (had my name in the upper right corner) but then it logged out and I was back in the same loop. I am able to log in just fine from the website.
I wonder if that is the cause of all of my trouble? Any ideas?

Iniciar sesión para comentar.

 Respuesta aceptada

Daniel
Daniel el 16 de Jul. de 2024
Hi Chris,
These issues are usually indicative of an issue with your MATLAB Path. To restore the default path, enter the following in the MATLAB Command Window:
>> restoredefaultpath
If you have MATLAB Path configurations you don't want to lose, you can save those before hand by saving the output of the following from the MATLAB Command Window:
>> which -all pathdef

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Versión

R2024a

Preguntada:

el 8 de Jul. de 2024

Respondida:

el 16 de Jul. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by