Frequency-Divider in Synthedit ?

Modular Synth design and releases (Reaktor, SynthEdit, Tassman, etc.)
xoxos
Mr Entertainment
12018 posts since 30 Apr, 2002 from i might peeramid

Post Tue Nov 02, 2010 8:11 am

hmm.. with custom coded modules.. one module with 12 outs (at lowest octave) that outputs a 0-10v 'phase' for each.. a voice combiner module on each one... then within the polyphonic circuit, pitch with octave removed driving a many > 1 to select the tap, octave applied (while v > 10v, subtract 10v), then a special voicing module that transforms the 0-10v 'phase' to oscillator.

it'd probably sound a teensy bit noisy (guessing like -36 dB or less kinda noise) and not sure about cpu.. and hopefully the voice combiners will work as desired..
you come and go, you come and go. amitabha xoxos.net free vst. neither a follower nor a leader be
tagore "where roads are made i lose my way"
where there is certainty, consideration is absent.

User avatar
antto
KVRAF
2499 posts since 4 Sep, 2006 from 127.0.0.1

Post Tue Nov 02, 2010 8:34 am

xoxos: why?
what you described will eat more CPU
the solution is simple: put _everything_ in one module...

using the standart MIDI2CV won't work, you need custom midi processing
imagine 60 VCAs and 60 ADSRs in SE?
the ADSR modules will allocate 420 audio buffers for the 7 voltage pins
now count the pins on the 60 VCAs too..
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.freenode.net >>> #kvr

xoxos
Mr Entertainment
12018 posts since 30 Apr, 2002 from i might peeramid

Post Tue Nov 02, 2010 12:40 pm

my method would only need one architecture for the currently played voice. the 'synchroniser' would be like an lfo shared between all voices.

one module would be more convenient, personally i have given up attempting to learn more about the sdk :)
you come and go, you come and go. amitabha xoxos.net free vst. neither a follower nor a leader be
tagore "where roads are made i lose my way"
where there is certainty, consideration is absent.

User avatar
antto
KVRAF
2499 posts since 4 Sep, 2006 from 127.0.0.1

Post Tue Nov 02, 2010 1:42 pm

and you'll put 60 ADSR modules for each note?
i'm not saying it's not possible

i also have done some pretty nasty things with standart SE modules before, and i'm talking about SE only modules, no third party
i figured a way to make the Oscillator have pulse-width on every waveform
the container included 2 oscilattors, 6 multipliers, 1 comparator, and some filter, and it had some undesired effects, and it was a CPU MONSTER
later, when i started coding modules - this all was done inside one module and it was far better than before

btw, if you plan to use the SE Osc for the divide thing - it will be tricky
the SE Osc uses mip-mapped wavetables to prevent aliasing
so your divider might behave "jerky" close to the edges of the waveform because of the interpolation and the gibbs thing.. just guessing
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.freenode.net >>> #kvr

User avatar
aciddose
KVRAF
12064 posts since 7 Dec, 2004

Post Tue Nov 02, 2010 1:49 pm

rexman77 wrote:Does anyone know what the circuitry for an octave divider contains? I think a custom module may be what we would need.
it's a passive divider usually based upon either a cup/bucket counter, or even better a simple integrator. (integrator is the only way i've ever seen, actually. it's nothing more than a SCR based relaxation oscillator going into a single transistor in common-emitter. the result is a pulsewave at the desired note, at one octave above the highest desired octave. division ratios are based upon the amount of resistance / scaling for the input of the integrator)

it could also be a fixed ratio divider with 12 units inside the chip, 14 pins for that chip. the master clock should need to be 2.4mhz or so, i think.

you need twelve divisions for the twelve notes, and ten octave divisions for the octaves - per note. this is usually accomplished with a ripple-counter chip per note, twelve of them in total. 14 pins each.

the phases aren't "the same", they're just all related to a fixed base.

for example, if you use the sample rate as your master clock you can generate notes that are always exact divisions of the sample rate. 48000hz can produce a perfect 48000/n note, for example, 4.8khz (10), 480hz (100), 48hz (1000), etc. by using one master clock and dividing from that, all phases will be related in the same way as a divider organ.

(that is, pretty much not at all)

what _are_ related are the octaves of the same note. they're always going to be in perfect sync.

you know what the problem is with this system? you can only anti-alias by oversampling. it would make more sense to generate the pitches on demand (the ones actually being used) and just set the phases correctly.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.

User avatar
antto
KVRAF
2499 posts since 4 Sep, 2006 from 127.0.0.1

Post Tue Nov 02, 2010 2:03 pm

yeah, that's only 12 oscillators for the whole range of the keyboard (be it 5 octaves or 10 or 20)
in the NovaChord - there are LFOs modulating the pitch of each oscillator a little, to give some movement
modulating the d# oscillator - all d# notes at all octaves will be bending with the master osc..
but you can apply different filters or chorus after the dividers and add individual fatness to each note, while still using only 12 oscillators! and this is not polyphony, it had some special name but i forgot it, you can press ALL of the 60? keys and they will all play! that's because you got a sepparate path for them after the divider
i guess this is a very optimized way for doing an analog organ, as VCOs are precious you're not using 60 but only 12 ;]

btw, in the digital variant, you can do even more actually
if you use the lowest octave as base and go up

right before the dividers you can add offsets per each note (before doing the modulo) and then, each note's phase will be different
so if you play d#3 and d#4:
d#4 will make 2 cycles
d#3 only 1, but they will be like sync'ed together
but when you add that little offset to one of the notes - they won't
also, if you modulate that offset - you'll get something like chorus effect i suspect
It doesn't matter how it sounds..
..as long as it has BASS and it's LOUD!

irc.freenode.net >>> #kvr

User avatar
WOK
KVRAF
2093 posts since 24 Feb, 2004 from Germany

Post Tue Nov 02, 2010 2:17 pm

rexman77 wrote:I've been thinking about this as well, and it's one of the primary reasons I haven't started working on a string machine yet. The only way I can think to do this without using some kind of frequency divider module (which I haven't found) is to have a midi-CV and oscillator for each key and midi-filter each one so that pressing a key only triggers one oscillator...
I have found a solution in the past with the help of the Yahoo group and did this.
It works well but uses a little high CPU - it does not really use a digital frequency divider (like the binary counter module), because these generate strong aliasing in Synthedit.
Last edited by WOK on Wed Nov 03, 2010 3:14 am, edited 1 time in total.
ImageImage

User avatar
aciddose
KVRAF
12064 posts since 7 Dec, 2004

Post Tue Nov 02, 2010 2:50 pm

antto wrote:yeah, that's only 12 oscillators for the whole range of the keyboard (be it 5 octaves or 10 or 20)
technically, only one oscillator. you could say in the SCR/integrator version that each is an oscillator, which is somewhat true i suppose. that doesn't apply for the divider method though. where you have a 2.5mhz clock, and have for example 2.5mhz / 19231 for 129.99hz (130hz)

electronically the way the divider could work would be using for example a 16-stage ripple counter. then masking using logic (multi-in AND and NOT gates) the one number you want. the pulse would be very thin, but could be used to trigger a d-flipflop to invert so you could divide by any number a multiple of two. (all even numbers)
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.

ianweb123
KVRAF
3084 posts since 3 Nov, 2002 from Kettering UK

Post Wed Nov 10, 2010 2:26 pm

The first Morphiza used a technique that worked on triangle waves.. ( but as a frequency doubler ).. Take a triangle wave, put it through a comparator so that the wave doubles above the zero line, subtract 5 from the signal and times it by 2, then repeat the process on the new waveform. etc etc.. Probably a lot easier to build than to describe but at least all of the resultant waveforms start in sync.. Obviously the higher frequencies get pretty grotty, as well, which may or may not assist the effect that you are after.

User avatar
osiris
KVRAF
7136 posts since 20 Nov, 2003 from Lost and Spaced

Post Wed Nov 10, 2010 3:53 pm

It would be much simpler if someone could come up with a pitch shifter module for SE, where the output of one oscillator could be output to however many pitch shifters you need. Again, probably CPU intensive because you're processing audio in real time. It's a thought. Like I said I tried to do the supersaw in Polly8 with the CL frequency dividers (or someone's). It was less cpu to use 6 oscillators with math & fixed value modules.

rexman77
KVRist
52 posts since 11 Oct, 2010 from USA

Post Wed Nov 10, 2010 8:29 pm

ianweb123 wrote:The first Morphiza used a technique that worked on triangle waves.. ( but as a frequency doubler ).. Take a triangle wave, put it through a comparator so that the wave doubles above the zero line, subtract 5 from the signal and times it by 2, then repeat the process on the new waveform. etc etc.. Probably a lot easier to build than to describe but at least all of the resultant waveforms start in sync.. Obviously the higher frequencies get pretty grotty, as well, which may or may not assist the effect that you are after.
Could you be a bit more specific? I tried this and I all I got was a pulse wave at the same frequency.

User avatar
aciddose
KVRAF
12064 posts since 7 Dec, 2004

Post Wed Nov 10, 2010 8:43 pm

run the triangle through abs(), subtract 1/2 and multiply it by 2.

that only works for triangles, only works to produce an octave higher, and again can not be anti-aliased.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.

ianweb123
KVRAF
3084 posts since 3 Nov, 2002 from Kettering UK

Post Wed Nov 10, 2010 11:15 pm

rexman77 wrote:
ianweb123 wrote:The first Morphiza used a technique that worked on triangle waves.. ( but as a frequency doubler ).. Take a triangle wave, put it through a comparator so that the wave doubles above the zero line, subtract 5 from the signal and times it by 2, then repeat the process on the new waveform. etc etc.. Probably a lot easier to build than to describe but at least all of the resultant waveforms start in sync.. Obviously the higher frequencies get pretty grotty, as well, which may or may not assist the effect that you are after.
Could you be a bit more specific? I tried this and I all I got was a pulse wave at the same frequency.
I'll see if I can do a preset and post a link to it here.

User avatar
RPH
KVRian
1098 posts since 21 Nov, 2005 from The Netherlands

Post Thu Nov 11, 2010 9:18 am

osiris wrote:It would be much simpler if someone could come up with a pitch shifter module for SE, where the output of one oscillator could be output to however many pitch shifters you need.
http://www.chriskerry.f9.co.uk/CK_Pack_7x.html ?

User avatar
osiris
KVRAF
7136 posts since 20 Nov, 2003 from Lost and Spaced

Post Fri Nov 12, 2010 7:58 am

Okay, so it WASN'T the CK module. I would know because I didn't buy the one with those oscillator modules.
I'd like something simpler with no predelay or 'windows' size, but these have me intrigued.
Still, with 12 of these, according to the site, that would be almost 4% CPU JUST for this little string attached to one oscillator......
....sigh

Return to “Modular Synthesis”