This is very helpful. Would you mind releasing the source code for this? I am trying to debug sound effects inconsistencies in pulp-to-lua and it would be very helpful to compare.
Edit: I think I just found the bug. It seems sustain doesn't work if specified through playdate.sound.synth:setADSR or playdate.sound.synth:setSustain, but it does work through sound.envelope.new. I'll submit a bug report.
Amazing little tool, saved me a bunch of time. I know essentially nothing about synths and was on the brink of plugging in values at random until I got something that worked but I'm pretty sure I wouldn't have found the parameters I was looking for without being able to play around quickly with this.
edit: I added more code: the ability to generate a random sound of various types, but it's too big a change as it required me to implement a way to refresh the screen.
I've developed far more sophisticated tool for my upcoming game. It's kinda sequencer made of 4 ASDR instruments played simultaneously. I might add this functionality to it, when I will come back to the sound part)