I'll have a look at it (first trying to do yet another interpolation for high rate modulation on delays), BUT, I advice you to try this one out yourself as it should be quite simple I think.. if you can code your own objects, a completely new world of possibilities will open in front of you!
SirSickSik Contributions
Yeah i know.. Would love to be able to code, and it seems pretty simple.... Hmm maybe i need to go to the library:)
just start with that glide module.
It uses the difference between it's own output and the incoming value to add to it's own value (to follow the incoming value). Depending on the size of the difference your adding to the output value it, the more or the less it will follow the input. So if you add the difference on a 1 : 1 ratio (difference=input-output; output=output+difference;), there will be no glide.
Remember:
-codes work from right to left. So "difference=input-output;" means that the outcome of "input-output" is put into the "difference" "object".
-end all your lines with ";" to end the function.
eg:
difference=input-output;
out=output+difference;
-"shifting" the size of bits by a power of 2 is done by A>>B (smaller) and A << B (bigger), where A is the value to scale and B is the power of 2 that it's being multiplied with. So "out=output+(difference>>1);" will add half of the difference to the output. This is useful for converting krate to audio-rate, where k-rate is >>4 the rate of audio-rate.
Thus, out=out+(difference>>4) will interpolate a krate signal to audio-rate (as audio rate is updated 16x while krate only updates once).
Note the brackets around (difference>>4), I do that because I only want to "bit-shift" the difference and not the "out" value.
ok that high-rate interpolated modulator might been fixed! Gonna test now on a delayline
ehm, quick question...
I need an 180degrees shifted version of an 64-bit phase... so I thought, lets just add (1 << 63), but somehow the new phase is the same as the old one.... it should be shifted, right?!?!?
Wouldn't you subtract the original phase from 1 << 63?
newphase = (1 << 63) - oldphase;
a|x
nope, I need the phase itself to be 180 degrees shifted. Not inverted.
With a waveshape, a 180 degrees phaseshift is OFTEN an inversion (eg a sinewave), though not always, for example in case of a saw-wave... which the phase basically is.. So a 180 degrees phaseshift to a phase means that as one phase starts, the other is half way. That's why I add half of the phase-width (which is 64bit, so half of it is 63bit), in the hope that when one phase is at 0, the other is at (1 << 63) and vice versa.
Though the weird thing is, whatever I try, it just doesn't shift the phase... I can invert it, but not phase-shift it 63bits....
if I first shift it back to 32 bit, I can do it.. problem is.. I need those in-between bits.... I can't just throw those away..
Oh, I see.. sorry, now I understand...
Hmm.. dunno how to fix it though. There are some objects in the Contrib library with differently-phased waveforms. You might want to check them out, if you haven't already.
a|x
it's a grain-pitchshifter, so I put it under "fx", though I'll take a look at my "automatic update thingy", maybe I accidentally switched it off..
just came back from work->bar, tomorrow a day off, so hopefully I'll be able to get my HQ modulated delay working... after that I hope to further enhance it with bezier curves.. (current method is still linear)
btw, while working I came to think about it that I don't need to use the 64bit signal anyway for converting the phase for the delay-modulator to 180 degrees.. I have the other 32bit signal already, while the interpolation already suits the steps..
waaaaaahhhhhhhh, F*ck yeah!!!! got it working woohoo!!! this is sound seriously awesome! 0_0
now to get it over to the pitchshifter semitone/harmonic/etc controls...
for a test, I switched on my modular, didn't change a thing, send the audio through the pitchshifter and let the thing run... holy shit.. this is fun! XD
oh my, found a little error in the code... after fixing it, I got a perfectly shifted sine over all notes/harmonics....
it's based on the normal LP filter, so I'm afraid it's just the normal range.
Only thing I did was stack'm 6 times and add a feedback loop with a saturator in it.
I'll see what I can do next week. at the moment I'm still focusing on a HQ oscillator and pitchshifter.
A proper analog style LP filter with a bit of grit would be godsend! But so would a HQ oscillator and pitchshifter;)
Hi @SirSickSik
Your doing some amazing work here with these modules, bravo !
I've just spent a few hours trying a few out, some are very fun and others quite useful.
Are you going to make public a few demo patches, showing the usage of the modules, so that we get to know them better (and how you had them in mind used in a full patch). And I'd love to hear / play with some of your patches too .
Keep up the good work and thank you for all the hours your sharing with us
well, at the moment I'm mostly writing these things to get to know how to code these things properly, so I can write my own complete synthesizer (build from seperate self-written modules that is) which can actually do all the things I want it to be able to do (and that's quite a lot).....without the need of a lot of patch changing. In the meanwhile, I just share these modules that I've already written (why keep it in a closet?)
so building demo's for all these modules, just takes quite some time, which I rather spend on improving my modules and writing more of them, so I finally have my synthesizer I've been thinking about or all these years..
an ps.. next to that, it's like the way I did it myself...just connect the hell out of all these modules and see what they do and try to understand why...
it worked out quite well for me as you can see.
I only had guitar playing education and played in some bands before I started with electronical music. In the meantime I haven't had any external education about music (except for my own online reading if I wanted to really know something without trying to invent the wheel myself).... I "just" studied philosophy and I work with disabled people...