Blog

Objective-C C++ C macOS DSP

Vizzdom - macOS System Audio Spectrum and Level Analyzer

Vizzdom is a little tool for macOS that lets you see the frequency spectrum, RMS and peak level of your system audio. It includes a small driver that you can also use to record your system audio in Garageband, QuickTime etc.

How it works

There is not really a way included in macOS to get the system audio, but luckily someone at Apple released an example code for a NullAudio driver that basically does nothing yet, but points anybody in the right direction who wants to get their hands (really) dirty. Another example code, CAPlayThrough, shows how to pipe audio from one audio device to another one connecting it with a varispeed node. I added a ringbuffer to the NullAudio driver so that it actually returns audio and connected the volume and mute events of the driver and the system output. When you install the driver (lives in /Library/Audio/Plug-Ins/HAL/DriveThrough.driver) you will have a new virtual device called Drivethrough Device in your system audio settings. That way you can also record your system audio: you choose the virtual device as the system output, and select it as input in your audio workstation, QuickTime etc.

After installing the driver you can hit start and the app will select the virtual device as output and pipe it to the selected real output device and mirror the volume settings between the two. Then you can watch the frequencies dance to your favorite tunes for hours ☺️

You can easily uninstall the driver from the Setup menu. You can also just delete the driver and restart coreaudio by running

sudo kill `ps -ax | grep 'coreaudiod' | grep 'sbin' |awk '{print $1}'`

from your terminal.

Disclaimer

This is very alpha-ish software, mostly because I only tested it on my Macbook. It works flawless on my M1 Macbook running 12.3.1 and a lot of debugging went into it to make it work, but your mileage may vary ✌️

Download

Vizzdom Analyzer
macOS (ver. 1.10)

How to install and record system audio

Anything that is playing through your speakers or headphones can be recorded after installing the driver.

  1. Download and open - if you like to use the analyzer, you need to grant microphone access when asked
  2. You should see an “Install Driver” button to install the driver and restart coreaudio
    Install screen
  3. If you hit start, the app pipes your system audio through the virtual device and you should see the frequencies dance when playing audio πŸ•Ί (not needed for recording)
  4. To record audio, you go to your audio settings and choose “Drivethrough Device” as Output
    Settings screen
  5. Then you can use this device as Input in other apps like QuickTime, Garageband, Ableton, Logic, Cubase, Maschine etc. to record or sample audio coming from anything your computer can play.
    Quicktime screen

Sorry for the german screen shots…

If you want to uninstall the driver, open the app and choose “Setup -> Uninstall Driver”!