CDP Wish: A set of CDP functions that 'just work'

So, I gave it another whirl, it’s great, and it’s a major PITA :smiley:

I got some to work, some are asking for external files, some just don’t work. Yet, there are sounds to be mined from this beast. I wish that these were simply Tools built-in to Renoise that work. Since y’all know me, I won’t use VST/AU, because I am a PITA :slight_smile: I’m currently using this to create another album entirely from @martblek’s various Tools. It’s working.

BTW, I do own several plugins that do spectral/FFT processing, and yeah, I could use those. I’m not gonna. Renoise is my own little special sound-processing sequencing beast and I want it to be all-internal. The CDP Tool works as such. I truly dislike using external plugins - I enjoy the visual minimalism of Renoise. Gimme some sliders and knobs that match my color scheme, and yeah, I know that I could make the plugins look like that, c’mon… and yeah, CDP is external too. It shouldn’t be. It’s open-source now, I believe.

What would be nice is a CDP tool that would take each one of those _cdprogs and became something built-in to Renoise. Separate 'em, make better descriptors, with zero errors. Just to work on the sound in the sampler, not ask me for outside sounds or files. Helping us get us the sounds we want, right off the bat, so we can spend more time composing.

Ah, one can wish, no?


Yes it would be sweet to have a pared down version of the tool that contained the most applicable processes in an improved UI… One of these days I’ll make another CDP vid with my favorite processes after scouring thru the tool for many months now

There are some real gems in there :gem:


The CDP docs & terminal inside the tool gui are your friends here to help figure out why something isn’t (immediately) working. Like you mention a bunch of processes need additional files to make them work, sometimes a combination of files and if you don’t check out the docs to know what you have to do, the initial experience can be that it is broke. Also certain parameter ranges might be incorrect or are dependent on one another…like with a lot of fft processes a max range setting will depend on what the chosen amount of points is in the bottom. There is math behind it, so ideally an abled scripter could fix some of the parameter range issues through setting up an automatic limit under the hood (if points is 1028, max range in N parameter slider is X for a sample with length …etc). Luckily for a lot of processes the terminal will display the needed ranges, but this definitely can be tedious if you want to quickly get a sound out of something. The fact that you can’t save working presets also doesn’t help.

Right now I’m having fun with chatgpt and creating my own little sample and noteevent manipulation scripts, I hope one day getting better at it and implement some of the stuff I need in the CDP tool through chatgpt. Perhaps when we are at version 6 more code can be pasted inside the prompt and easier results can be had :slight_smile: . What processes are you trying to get working, but can’t get any results from?

1 Like

@Jonas I know I should read the manual, but I had about 25 minutes to fool around with it before I went to my day job - was looking for results, and got some via the ‘Distortion’. It gave me that low-res MP3 sound that my Digitalis plugin makes (I own it, it’s great for non-Renoise sound destruction). I uploaded a brief video of some new music I’m working on (see below). I has the MP3 destructive low-res sound by YouTube’s algorithms. I was able to make that and add the affected samples to my updated mix. You’ll hear it in the video as ‘flamming’ (just like in drums when two notes are struck nearly simultaneously). This flamming is useful because it’s so junky sounding. Cute!

I am looking to find more useful sound destruction, but I will need to have more than 25 minutes :slight_smile: I’d say, if just the “distort average” _cdprog was turned into a Tool, we’d have a literal ton of artefact-laden sounds to sift through. “distort fractal” and “distort multiple” are also really nice, get a grunge-y electronic sound. Pair this with @martblek’s Almost Drums NG and the Glitcher sound generator, you can get piles of just sparkling low-quality electronic percussive sounds that are so perfect for glitch music, it’s incredible.

FYI there are new cdp8 processes for testing:


Awesome, thanks for the heads up! I hope the updated processes don’t break the cdp tool, but I guess it is inevitable. Will be interesting to see of adding the new processes to the current installation folder and creating definitions for them will integrate these in the existing CDP tool, will investigate when I have time. More offline processing for the win!


*never mind found it :slight_smile:

So I just tested one of the new processes and while a little rusty getting the definition down :slight_smile: , got it to work for one of the new effects. I first made a backup of the already installed processes folder and extracted the version 8 versions on top of the old progs folder overwriting the exe’s. I then tried some go to older effects first if to see nothing was broken and for the few I’ve tried this seems to be the case, but have to test further.

I then checked out the documentation for one of the new effects “Bounce” and have added the following code to the definitions file of the CDP tool in the scripting editor of Renoise;

dsp["BOUNCE – 'Bounce' a sound: accelerating repeats, decaying in leve"] = {
  cmds = { exe = "bounce", mode = "bounce", url = "", tip = "(WARNING: do not set both -c and -e flags.)Bounce repeats the whole input sound count times, with the gaps between repeats shortening on each repeat, not unlike a bouncing ball. Startgap sets the initial delay time between repeats. Shorten sets the speed of the reduction (smaller is faster) and is a multiplier: for example, with Shorten = 1 the delay time is not reduced. To achieve the bouncing effect, each repetition is reduced in level: set endlevel and the sound reduces to this level over the course of count repeats. Ewarp bends the rate of decay: <1 gives a slower rate of decrescendo at the start and >1 a faster decay. If the optional min parameter is set, the repeated elements are themselves shortened in proportion to the accelerando; min sets a minimum length for the repeated elements. If no shrinkage is wanted, the parameter should be selected and set to zero. Finally, the no overlap flag (-c) ensures that elements will cut off at the next repetition to avoid clipping. (This can be a problem if the source is longer than startgap and the signal has multiple overlaps.)" },
  arg1 = { name = "Input", input = "wav", tip = "Select the input sound to the process" },
  arg2 = { name = "Output", output = "wav", tip = "Select the output sound to the process" },
  arg3 = { name = "count", min = 1, max = 100, def = 50, tip = "number of bounces (repetitions) (Range: 1 to 100)" },
arg4= { name = "startgap", min = 0.04, max = 10, def = 0.6, tip = "time-gap between the source start and the first repeat. (Range: 0.04 to 10)" },
arg5 = { name = "shorten", min = 0.1, max = 1, def = 0.9, tip = "bounce gap reduction (multiplier) from one bounce to the next. For example with 0.8, each gap would be 80% of the previous one. (Range: 0.1 to 1; lower value shortens more)" },
arg6 = { name = "endlevel ", min = 0, max = 1, def = 0.1, tip = "the final level, as a fraction of the source level. (Range: 0 to 1; 1 = no decay)" },
arg7 = { name = "ewarp", min = 0.1, max = 100, def = 50, tip = "decay warp: amount of decrescendo at start (Range: 0.1 to 100; >1.0 greater, < 1.0 less)" },
arg8 = { name = "-smin", switch = "-s", min = 0, max = 1, tip = "minimum length of bounced elements, shrinking in the same proportion as the acceleration. (Range: 0-1; 0 = no shrinkage)" },
arg9 = { name = "-c", switch = "-c", tip = "if repeating elements overlap, cut to avoid this overlap and possible clipping." },
arg10 = { name = "-e", switch = "-e", tip = "shrink elements by trimming the start (Default: trim the end.)" },

After pressing execute in the bottom right of the scripting editor the changes are saved and when starting up the CDP tool, you’ll see the bounce option now added to list of processes! Succes :wink: Instant bouncing ball. Hope to create more soon.


Oh this is awesome that you’re taking this on! Would it be possible to post an updated xrnx when it’s time? Looking forward to checking out some of these new processes!


Don’t quit your day job waiting for it just yet! :smile: You can best try for yourself if there are any processes you’re curious about. In the definition file that comes within the cdp tool you can add & save stuff in renoises scripting editor, description on the syntax is in the top of the file and in conjunction with the docs (CDP8 New) I’m sure you can figure it out. Eventually I hope to tackle the relevant stuff, quick browsing through the new processes list I can see there are a bunch of spatial effects that have no use in Renoise anyway as multi-channel wave files aren’t supported. >2 channel output processes don’t make sense. Am currently starting with these CDP SPECFNU Functions and can share the definition code in this thread when done, so if you have installed the new processes, you can paste & save the code inside the definition file in the scripting editor. By the time I have most stuff covered I’ll try poking @afta8 to see if he can update the xrns! :slight_smile:

1 Like

By the way, as far as I can tell, only the ‘distort’ set of effects can get any kind of ‘near’ to the bitrot/telecommunications low-fidelity sounds I’m looking for, in particular, the ‘average’ setting. It is the closest. What it does lack is some of the fluffiness of the real thing. I’m going to try some of the LoFiMat on it to see if that’ll give it a bit more nebulous of a sound.

The LoFiMat tool does help, but it’s still a bit ‘hard’. I’m next going to try an LFO modulating the ‘Rate’ function to see if that’ll give it more floof.

This does work, applying the LFO to the sound, then processing it several times over. Finally, using the distort functions ‘divide’ gives it a slippery, floppy, fluffy, data-loss sound. Takes forever :smiley:

Out of curiosity (and still relevant to the thread), can anyone use blur drunk successfully within Renoise?

1 Like

Yep, it makes a bunch of granular repeats of the sound. Not bad. I haven’t done anything different, but I’m on a Mac.

Works here in windows 10 as well, what error are you getting in the terminal? Please check out the official CDP thread if none of your fft based effects work (start at the end of the thread and travel back).

1 Like

So, when will these CDP 8 _cdprog files be available and will they work on a Mac?

For the pc I can already download them here; Soundshaper Downloads

Latest CDP software revision Upgrade to the latest set of CDP Programs
Combined Soundshaper/SoundLoom program set
Extract files to your existing base CDP folder. Download140x45"

Not sure where the dl link takes you when on the mac though. Note installing the above package of new & updated old effects wont auto-magically add them inside the current Renoise tool. First the new processes need to be defined and this is quite the task.

1 Like

Ah yeah, none for me then :slight_smile: Hope this gets updated soon!

I’m not sure, I think there is something here, check out this thread on the CDP forum;

check out the zip, not sure this is the same or newer then the pc link though?

1 Like

looks like there is new stuff in there, but even after adding the new ‘definitions.lua’ file from your other post, still nothing. We’ll see. Maybe there’s something else I have to add.

Solved: Hard Mac Reset, now it’s all there!

1 Like

there can be a bunch of reasons why you are not seeing the few added processes, did you extract the new programs to the correct folder? Can you see the bounce addition?

The specfnu exe only has one entry in the EXE Filter, the 23 variations are in the other dropdown menu;

1 Like