New Audio Sparklines Module

This might not be for everyone, but it’s been fun and helpful for me!

I’ve been working with AudioBlocks a lot and was missing an easy way to visualize blocks throughout development. I use Jim’s Buffer Debugger regularly, but that’s not an option running headless code like unit tests or for on-the-fly debugging.

Most of the time I just want a quick sanity check. Is the buffer empty? Is there some strange value in there? I want to see what AudioBlocks look like without playing guessing games with DBG statements.

I’m a huge fan of Tufte’s sparklines which are “small, intense, word-sized graphics with typographic resolution,” so I wrote a little helper to uhhh…show a normalized, time-compressed 3-bit waveform :slight_smile:

Here’s a sine:

Block is 1 channel, 441 samples, min -0.999994, max 0.999994, 100% filled
[0—⎻⎺‾⎺⎻—x—⎼⎽_⎽⎼—]

Or a square:

Block is 1 channel, 441 samples, min -0.999994, max 0.999994, 100% filled
[0⎺‾⎺x⎽_⎽]

Inspired by @jimc’s really helpful lldb python script, I also taught lldb how to render sparklines on the fly for MacOS CLion/Xcode.

On hover:

On click:

The repo:

12 Likes

Very nice!

1 Like

cool stuff