• ### Are there any resources on manipulating waveforms in interesting ways, like for example mirroring a waveform along either axis, or something similar to the bend options in serum?

I would be very interested in exploring things like that, but don't know where to start.

• Posts 12 | Views 1443
• @schitz I would start by using phase distortion. So if you're using a [phasor~] and [tabread4~] to read a table, or if you're using some other method of waveshaping then you can manipulate the [phasor~] that's used to read it.
for instance, this phase distortion will read the 1st half of the wave faster or slower than the 2nd half, depending on the value from the right inlet (that's in a range between 0 and 1). the frequency is from the left inlet:

If you want to have it be bandlimited then that will be more involved, especially if using a method besides oversampling

• @schitz I don't know serum but I glanced at a few demo vids, and like @seb-harmonik.ar says, the stuff you want to look into is waveshaping and wavetables.

For the particular mirror effect, I take it you mean the possibilty to draw a wave segment and have it played back with a mirrored segment as discussed here: https://www.youtube.com/watch?v=JVCH-IiDmnc&t=311s - I made a crude demo patch to illustrate how that can be done with some basic waveshaping and table tricks. Mind you, this is "proof of concept", not "plug and play" -> WaveDrawMirror.pd

Since you asked for resources, why not check out Miller Puckette's book -> http://msp.ucsd.edu/techniques/latest/book-html/node26.html (wavetables) + http://msp.ucsd.edu/techniques/latest/book-html/node78.html (waveshaping) - Don't get scared by the hairy math, there are illustrative examples with counterparts in your pd installation (help->browser->puredata->3.audio.examples)

• @seb-harmonik.ar how did you get the custom colors? I would very much like to make the canvas black and everything else red, but can't figure out how.

• @bocanegra thanks!

• inversion per pole is not very interesting, but it is also not very difficult: * -1, + 1 if it is >=0, , * -1, - 1 if it is <0.

for wavesets try: lowpass, highpass, phase distortion (if phase is not available, create one from the length), FM, AM, and RM using a cosine - or shorten it and leave gaps in the unused space.

then of course crossmix against a completely different wave, layer with other waves, and combiniation of all these basic techniques.

• @schitz I use my mod https://github.com/sebshader/pdnext/releases/tag/0.51-4.
https://forum.puredata.info/topic/10943/a-little-pd-mod
There are also ways of changing things like the canvas background color in vanilla by editing the .tcl files included with the pd distribution.

• @seb-harmonik.ar that's super cool, I'm definitely switching over to your mod! Thanks a ton.

• @seb-harmonik.ar I was wondering if you had any ideas on how to reduce clicking when I'm modulating the shape of the phasor? The clicking is actually kind of pleasant, but I would like to have some control over it. I have tried smoothing the modulation going into the number box above 'select', but that doesn't seem to affect the clicking at all.

• @schitz I haven't tried out the patch, but there are several control messages going into signal objects (I count 3) - those are the usual suspects when you get clicks/glitches, and can be remedied with [line~] or [lop~] objects in order to create smooth transitions

• @bocanegra Oh, I see! I was smoothing the input of the calculation instead of the output.

Posts 12 | Views 1443
Internal error.

Oops! Looks like something went wrong!