MATAA -- Mat's Audio Analyzer

Hi Matt,

I am trying to learn to use mataa to test speakers. I have installed Octave 9.2 (using Homebrew to assist with the installation) and mataa on a Mac running OS 13.5.1 (Ventura). Octave appears to be running fine.

So far I have not been able to get mataa to connect to Core Audio, so nothing is working. The "mataa_audio_info" tool returns the following response:

scalar structure containing the fields:

input =

scalar structure containing the fields:

name = (UNKNOWN)
channels = [](0x0)
sampleRates = [](0x0)
API = UNKNOWN

output =

scalar structure containing the fields:

name = (UNKNOWN)
channels = [](0x0)
sampleRates = [](0x0)
API = UNKNOWN


The end of the "mataa_selftest" report contains this:

Testing sound input/output...
The audio device that will be used for audio output is: (UNKNOWN)
The audio host API is (output): UNKNOWN
Number of channels of output device:
Minimum sampling rate (sound output): Hz
Maximum sampling rate (sound output): Hz
The audio device that will be used for audio input is: (UNKNOWN)
The audio host API is (input): UNKNOWN
Number of channels of input device:
Minimum sampling rate (sound input): Hz
Maximum sampling rate (sound input): Hz
The audio I/O test will be done using a sine-wave signal with:
frequency = 1000 Hz
duration = 0.100000 s
sampling rate = Hz
** ERROR: operator /: nonconformant arguments (op1 is 1x1, op2 is 0x0)
****** MATAA self test completed ******


Attempting to run "mataa_signal_generator" and "mataa_measure_IR" like in the Audio Express article examples produces the following error messages:

>> s=mataa_signal_generator('MLS',96000,0,14);
h=mataa_measure_IR(s,96000,1,0);
warning: mataa_measure_signal_response: The recommended sound API on your computer platform (MAC) is Core Audio, but your default input device uses another API (UNKNOWN). Please see the MATAA manual.
warning: called from
mataa_measure_signal_response at line 137 column 5
mataa_measure_IR at line 81 column 38

warning: mataa_measure_signal_response: The recommended sound API on your computer platform (MAC) is Core Audio, but you default output device uses another API (UNKNOWN). Please see the MATAA manual.
warning: called from
mataa_measure_signal_response at line 140 column 5
mataa_measure_IR at line 81 column 38

error: mataa_measure_signal_response: No audio input device selected or no device available.
error: called from
mataa_measure_signal_response at line 144 column 3
mataa_measure_IR at line 81 column 38


I can't find anything in the manual or help files about adding Core Audio as the API for input and output. It seems like this should have happened by default since there's no other option on a Mac. The settings file doesn't have a field for this. What am i missing? How do I get mataa to communicate with Core Audio?
 
  • Like
Reactions: mbrennwa
I'm using an iMac with an Intel CPU. Mac system settings show my usb soundcard setup for input and output. The external hardware is all working fine. I can get sound in and out of the Mac with several other sources. Just can't get mataa to join in yet. Section 2.5 of the manual for macs just says that TestTone and TestDevices rely on Core Audio. No instruction on how to get Core Audio set as the the preferred API in mataa_audioinfo or mataa_sttings, or wherever else it might need to be.

Mataa_computer and mataa_selftest both recognize that they are running on a mac. But mataa_audio_info has all blank fields for the device and API sttings. Is TestDevices supposed to set this up? If so, how?
 
Here's the result from terminal window:

Last login: Thu Sep 19 01:29:06 on ttys000
/usr/local/Cellar/octave/mataa/TestTone/MAC/TestDevicesPA19 ; exit;
michael@Michaels-iMac-Pro ~ % /usr/local/Cellar/octave/mataa/TestTone/MAC/TestDevicesPA19 ; exit;
zsh: bad CPU type in executable: /usr/local/Cellar/octave/mataa/TestTone/MAC/TestDevicesPA19

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]
 
zsh: bad CPU type in executable: /usr/local/Cellar/octave/mataa/TestTone/MAC/TestDevicesPA19
Ok, that expalins why MATAA can't use your audio devices. I am not 100% sure what's going on here, but I guess things have changed somehow in macOS since TestDevices and TestTone have been compiled and built last time. How familiar are you with compiling (relatively simple) code on macOS? Could you try compiling the code in .../mataa/TestTone/source?

Also, if you are confident with this kind of work, you might also take a look at the PlayRec option. This integrates the audio I/O into Octave, which is a lot faster and more efficient.

Sorry, I haven't used a Mac properly for a long time...
 
My computer is an old iMac Pro which runs an Intel Xeon server type of processor rather than the usual Core i7 types. Could this be the problem?
Not sure.

Maybe I'll try a Windows installation.
That's probably the worst choice for MATAA. If you want to try another OS, go with Linux. I use this for my everyday work with MATAA.
 
I've never used linux, but I know there are many ways to implement it. Which would be the the best way for mataa? Does it matter whether I install it on a windows or mac machine? Which version of Linux are you using? Do you run it in a VM, a dual boot, or a completely separate installation?
 
I run most of my machines on Linux Debian, but there are many other good distros. Using a VM may add the additional obstacle to get the USB devices (audio interface) routed from the host to the guest.

Is there anyone out there willing to take a look at re-compiling / building the Mac versions of TestTone / TestDevices, or (preferably) even the PlayRec extension for Octave?
 
I certainly come a bit late to the party ... I simply wasn't aware of MATAA until now. MATAA seems to me a very promising approach, as it's inviting for happy "mataa_user_scripting", as you state in your manual. Therefore I am curious to dive into this new adventure ...

My setup is Intel CPU-laptop-based Arch Linux.
TestTone / TestDevices and mataa_audio_info show the expected results.