I’m far from early to the party, but I wanted to drop a note on using AI to develop code, and in particular managing the dirty work of audio plugins. Hint: Game changer.
A couple of nights ago, I paid for a month of Claude Code access—the Claude Pro plan is the minimum level with access to Claude Code at this time—and immediately gave it my first test, typed off the top of my head:
Create a basic monophonic AU plugin that emits a sine wave. It should have a toggle button to enable the sound output, which defaults to disabled at startup. It should have a horizontal slide control that sets the frequency from 20 Hz to 20 kHz, with a frequency readout. The frequency should change smoothly with no glitching. Also, a slider control to set the output level from -60 dB to 0 dB, defaulting to 0 dB, with no glitches. Call the plugin MyVibe.
That’s it. I wanted to see how Claude Code would deal with it and how much additional input I’d need to give it.
Claude Code…
…requested access to my drives and Documents folder, which I granted, and spent some time looking around.
…found that I had the JUCE framework installed and set about creating the plugin.
…ran into a build issue, searched the web for JUCE documentation, solved the issue, and completed the build.
…ran auval (Apple’s Audio Unit validation tool) and announced that the plugin passed.
…announced that it had installed my plugin in my user Library, that it had built it as an instrument plugin, and that it accepted but ignored MIDI. It was ready for use.
…found a directory where I kept my previous JUCE projects and suggested that I could give it a more permanent home there. It filled in its response with the directory path, which I could have changed, and I hit Return to accept it.
I’m not leaving out any other input on my part for this build. Claude Code set the plugin’s manufacturer ID and name correctly because it figured them out by scanning my existing projects on the computer.
The plugin ran flawlessly. No pops or ticks—it had completely de-glitched the controls as requested. Here’s the user interface it built:

How about the code?
Clean and organized—impressive.
But was it good code?
The audio generation loop was efficient, but the sine-wave generation wasn’t optimized for this application. It simply called the math library’s sin function rather than, for instance, using a wavetable lookup. That works fine in this simple case, but if I were building a synthesizer, I’d want it to incorporate my own wavetable oscillator. And that’s my next test: to point Claude Code to my DSP component source files and documentation and see how well it incorporates them into a more sophisticated plugin.
My overall thoughts?
I’m ecstatic. I don’t use JUCE often, I’ve done most of my past plugins in other frameworks, so I must burn time looking at the JUCE documentation to manage my UI and other plugin details. If Claude Code reduces the plugin development and debugging so that I’m just developing the DSP algorithms, that’s incredible for me—it will let me leverage the limited time I have available and do some things that I wouldn’t otherwise have cycles for.
Footnote
A few years ago, while I was coding a quickie Python utility to crunch some data, it occurred to me to check if AI (ChatGPT) was up to such a simple task. It wasn’t—it made an error in indexing (starting at 1 instead of 0), and the code was extremely naive. I revisited the test again occasionally. The code itself got better, but it didn’t take advantage of the power of Python—it looked more like basic C code translated to Python. But it improved each time, particularly in first using some Python features, then eventually completely understanding how to use the available Python libraries to reduce the code to almost nothing, while adding more features than I asked for.
But we’re far beyond that now. I think this is an incredible opportunity for many DSP experimenters who don’t have decades of programming experience, as well as those of us who don’t have our full time to devote to a project.




