Back To Schedule

One Log Line per Sample

A Visual Debugger for Bit-Perfect Audio

00:00 - 00:00 UTC | Monday 9th November 2026 |
Beginner
Intermediate

Working on complex VST plugins requires quick iteration cycles and useful debugging tools. When you're improving an algorithm, you might want to visually compare the new result with the old version, not just listen to it, and more importantly, confirm you haven't broken any existing logic.

While working on a project that required bit-perfect output, I realized that I would need to debug individual samples, one by one. I wanted a visual tool with a timeline, and a log line for every sample, viewable when zooming in, each line carrying not just the sample value but any metadata that would help debugging. The audio thread writes this data asynchronously to a binary file, and the UI renders the waveform using mipmaps so it stays responsive from a full-signal overview down to raw sample values. Since no existing tool ticked all the boxes, I ended up building my own tool with Juce.

One particular feature was really important to me: I wanted to hook into the VST process function, to be able to "regenerate" the output signal, and then compare waveforms and visualize the result like a diff tool.

In this talk, I would like to share my thought process for designing and implementing such a tool, detailing the features, the technical decisions I made, and ideas for future improvements.

Vincent Dortel

Senior audio programmer

Freelance

Vincent is an audio programmer with 12 years experience in the video game industry, he worked for several studios such as Quantic Dream, Rocksteady, Ubisoft and Microsoft. He's now a freelancer, which allows him to split his time between contractor work for game studios and personal projects. He likes to combine his passion for music and games with his programming skills to tackle fun challenges. Sometimes he secretly develops VST plugins when no one's looking.