I also have an C adaptation of the Padsynth algorithm in #soundpipe, which was also originally developed by Nasca Octavian Paul. It has a similar kind of cleverness to PaulStretch. It's a pretty simple algorithm with a few choice design decisions based on intuitions in musical acoustics which make it stand out.
I actually did some work on #soundpipe today! Made a tiny tweak to my #paulstretch implementation to make it possible to read files from disk (via drwav) rather than from a in-memory buffer. This means that input files can be of arbitrary size which is a very good thing.
The new functionality can be enabled by calling sp_paulstretch_wavin instead of sp_paulsynth_compute:
https://git.sr.ht/~pbatch/soundpipe/tree/master/item/modules/paulstretch.c
This is already being used in a standalone command line utility included in #monolith. Here you can see it in action:
https://git.sr.ht/~pbatch/monolith/tree/master/item/util/stretcher.org
#monolith #paulstretch #Soundpipe
Well, it's not completely done, but I figured enough time has passed to merge "granule" into #soundpipe dev: https://git.sr.ht/~pbatch/soundpipe/commit/9b304e6ed3c774a405c8c766d75cb672248942a1
The original "granule" opcode has way too many init-time variables, so I'm going to look into turning those into audio-rate parameters. Should make for a neat granular synthesizer.
I don't get it. Why does everybody go for the zitareverb algo in #Soundpipe? ReverbSC (sp_revsc) is where it's at. The topology was originally designed by Sean Costello (of Valhalla DSP), and is an amazing sounding verb for ambient music. Actually life-changing for me. ReverbSC is the reason why I started building Soundpipe in the first place, and enabled me to build all the systems and software I use today.