SynthMaker

Unison Synth?

Archive · 2011 26 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

CoreStyler ·

I made an example of unison synth. But can be considered unison or i miss something?

trogluddite ·

CoreStyler wrote: But can be considered unison or i miss something?

It is missing any extra voices. Splitting and recombining the poly streams doesn't add any extra voices or oscillators - it just adds a whole lot of extra maths to the pitch calculations. The answer lies somewhere in the new 'MIDI to multi-voice' primitive (SM2 only I'm afraid) - it allows you to set overlapping key zones so that every MIDI note really does spawn several new voices. Each voice gets it's own 'Tag' so that they can have independent parameters for detune etc. Not seen it in action yet though - and as usual OutSim haven't provided any examples.

CoreStyler ·

Im working on 2.0.2 But i dont undestand how creating unison. This is the image of multivoice with Init for selecting number of voices.

In the past version of the synth im showing i used an example posted here for unison who added a C module with 0 values 0 0 0 0 The so called "Example unison". i dont remeber who makes it. this is an image but i opened it on SM 2 so voice module is changed with the new.

DigitalWhiteByte ·

The UniSynth is made by Myco, I see the Boolean which set Hold Stolen, Stolen Retrigger and Retrigger New and are in a bad location, shall be made to the corresponding Boolean: Hold, R-New, R-Old. I think you have missed something. 😉

trogluddite ·

Yes, those boolean's all need matching up. The Integer array inputs on the mulit-voice are the key to the unison voice layers though, I think. If you feed them arrays that are just a list of identical values, then you would get a unison synth with the same number of overlapping voices as there are entries in the arrays.

CoreStyler ·

Can you post an example?

trogluddite ·

If I find time I'll have a little play - bear in mind that I've never used t myself yet, I'm just basing my comments on what I've read in the 'Component Guide'.

CoreStyler ·

Good. Because i dont know anything about unison theory.. did you now a link where is easy to understand? 😈

trogluddite ·

The theory is fairly simple - it's getting SM to do it that's the hard bit! 😉

OK, so when you play a synth - press a key, it plays a note. We all know that.

Imagine you went into your sequencer and loaded lots of plugins of the same synth, all with the same patch, all on different tracks. And then you connected all those synths to the same MIDI keyboard.

Now when you play one note, you'd have lots of identical synths that will all play the same note at the same time. If you now went to all those plugins, and tweaked the detune just a little bit different for every single one of them - they still would all play the same note, but it would sound super phat because they're all ever so slightly different.

If your sequencer will let you do this, give it a go - it eats CPU, but sounds great (turn the volume down first!! it will be loud)

A proper unison synth is where you can have lots of layers like that, but all inside the same VST - usually with a control for how many layers you want to have, and one big control for how much detune difference there is between the layers, so you don't need to tweak every single layer one by one.

If the synth you started with had 3 oscillators and 1 filter - doing a 4 * unison, would be like a synth with 12 oscillators and 4 filters - but with mush less knobs, so easier to control.

If we can get the multi-voice working, then it should be able to do this - because each layer would be a copy of the whole synth - but without having to add any extra modules to make it happen.

CoreStyler ·

That's is similar of how works a superwave. More waves with different tunes. Now the thing's are 2. one is to double the whole synth, another is to make this multivoice add more of one layer. Ok now im in. If someone know how to do the second thing on SM please tell us!

trogluddite ·

Here's a first demonstration - seems to work how I thought.

(saved with the audio out turned off - don't forget to turn it back on again!)

It's very very basic - just ocsillator and envelope. I saved it with unison=1 - i.e. no extra voices (boring) - turn the unison knob up one at a time (max.4), and hear and much thicker the sound gets. BTW don't change it while playing notes, it seems to get a bit confused by that.

The detune control is multiplied by the VtoP Tag output - that's just a number that says which layer each voice is on - so layer0 has no pitch change, layer1 a little bit, layer2 a little bit more etc.etc. You could use that Tag output to modulate anything in your synth design - just like you do with envelopes and LFOs - maybe have every layer's filter cutoff a bit different or something.

The 'set number of voices' probably looks a bit strange, so here's how it works. The integer array inputs need one array entry for each layer. They tell each layer what is the lowest note, highest note, lowest velocity and highest velocity that each voice should play. The stuff in that module just creates arrays that have all 0's for te kowest and 127's for the highest - so every layer will play every note. The counter sets how big the arrays are (how many layers).

trogluddite ·

trogluddite wrote: BTW don't change it while playing notes, it seems to get a bit confused by that.

Actually, I've realised that it handles this pretty well - just that I set voices a bit low, and was getting a lot of note stealing.

16 voices / 4 layers = only 4 notes of polyphony (obvious really) 16 voices / 3 layers = 5 polyphony and one voice left over, so weird voice stealing on hitting note no.6

Solution: multiply 'voices' by the number of layers for a consistent amount of polyphony.

It can sound odd changing the value while notes are playing because the no. of layers is only read at the start of a new note, so you can end up with a mixture of notes with differing numbers of layers playing at the same time - I think that's really the only intelligent way of doing it, and at least it is very stable.

RunBeerRun2 ·

I like that unsion example, Trogg! I'm trying it with 3 oscillators, SM has it at only 2% cpu here.

CoreStyler ·

Works good. i tried and works also with frequency. But a very good thing is the portamento or glide. if we set 16 voice it cant be usable. or there is anything for make working a portamento with more voices than one? Sounds good trog. is very similar to Rob Papen predator unison

trogluddite ·

CoreStyler wrote: portamento with more voices than one?

The one I posted HERE is as close as I've ever got to making it work - I think it should still work with the unison, but I'm not at the right computer to try it right now. Most poly portamento that I've ever used has been a bit flaky though (had a few old GM modules that had it) - it's really hard to work out which old pitch to start sliding from when you make a new note. The one in the post slides from the most recent note, which seems logical to me, but may not be what you expect.

CoreStyler wrote: Sounds good trog. is very similar to Rob Papen predator unison

Thanks, but there's really nothing special in there, just stock stuff - it's the big layering that makes the sound.

RunBeerRun2 wrote: I like that unsion example, Trogg! I'm trying it with 3 oscillators, SM has it at only 2% cpu here

Remember that it's the whole synth that's duplicated on every layer though, not just the oscillators - it will get greedy quickly once you start adding filters and modulation. OTOH with so many layers, you can make a big sound with a much simpler synth; that's a pretty good trade-off, I guess.

CoreStyler ·

Yes is a simple thing but sounds good. I tried to understand what you do but i dont really know what is the meaning of components, values... What i understood is that poly is divied by 16 voices / 4 = 4 notes. So i have to study some theory of this because really i did'nt understand what is really a unison. In practise, seem an instrument note multiplied for 2, 3, 4... with a detune. But even if i understand this small thing i dont understand what you have done in SM. 😊

DigitalWhiteByte ·

Unisono from the Latino uni = one sono = sound which has the same sound, according of many voices the verb = to be in unison is go to chord 😀

Dave ·

CoreStyler wrote: What i understood is that poly is divied by 16 voices / 4 = 4 notes.

I always thought the unison is done with multiple detuned oscs and not around the midi2poly-module?!

MichaelBenjamin ·

Dave wrote: CoreStyler wrote: What i understood is that poly is divied by 16 voices / 4 = 4 notes.

I always thought the unison is done with multiple detuned oscs and not around the midi2poly-module?!

the only difference here is that sm can produce 4 voices in parallel with the same cpu so it may be more efficient to spawn 4 voices at note on, then detune the channels. then with 2 oscs you can have 8 voices. but you could aswell use 8 oscillators and detune them.

Dave ·

MichaelBenjamin wrote: the only difference here is that sm can produce 4 voices in parallel with the same cpu so it may be more efficient to spawn 4 voices at note on, then detune the channels.

yeah but i haven't seen a sm-example of that which sounds really good 🙁

trogluddite ·

The example I posted is pretty much compatible with any poly synth architecture you care to make in SM - I just kept it simple because it was a proof-of-principle for a technique made possible by a brand new module. To me, the beauty of it is this: - the little MIDI/voices section can be pretty much dropped into any synth that you already have lying around; then simply treat the 'Tags' output as you might any other modulation source. Great for quickly maknig a bigger sound from a simple synth - the downside being that you have less fine control over each layer's parameters. I'm sure that better examples will appear given time. I don't have any myself because, ironically enough, I very rarely use SynthMaker for making synths!

cristian02 ·

i was looking at the trogluddite's osm and wondered if i can use the high/low velocity to play the 4 sounds one by one pressing keyboard key with less or more velocity and not the 4 sounds playing at same time (aftertouch).Is there a way to do it for example with 4 oscillators or just one but with differents level of sound ?

DigitalWhiteByte ·

cristian02 wrote: i was looking at the trogluddite's osm and wondered if i can use the high/low velocity to play the 4 sounds one by one pressing keyboard key with less or more velocity and not the 4 sounds playing at same time (aftertouch).Is there a way to do it for example with 4 oscillators or just one but with differents level of sound ?

Please dont double post 🙂 I think it's the same question you asked here. 😉

CoreStyler ·

I managed to add a switch for poly/unison. Works but when you pass from poly to unison or from unison to poly notes remain blocked. Stops when changing preset. I would like to have a switch between poly and unison and maybe the possibility to use portamento on unison. here the schematic.

I tried and managed this by using a selector on the poly (freq) output in sync with the switcher. But something happen on midi such when i click notes, they does not sound well. Same thing, by changing preset works.

trogluddite ·

I think that maybe having two Voices inputs to the Voices-to-Poly is confusing the voice assignment somehow.- maybe the two MtoV give identical IDs to their voices.

I'm not sure that a poly/unison switch is really necessary - when unison is engaged, the synth is still polyphonic as long as there are enough voices. When unison is set to 1 - it behaves just like a normal poly (i.e. 1 = unison off). When unison is a higher number, the max. voices get split between notes. e.g. When unison = 4. You just get 1/4 of the notes (so if 16 max voices -> max 4 notes)

You should be able to use portamento in the same way as normal with unison switched on - but would be easy enough to automatically switch it off when unison is set to one (i.e. no unison). You could also switch max.voices to be the same number as the unison, if you want the synth to be a mono-synth whenever unison is switched on. Then only one MtoV would be needed.

Hope I explained that OK - I'll try to expand my unison example when I next have time.

CoreStyler ·

Tanks. but not i would like to have unison and also poly voices (not only one voice). Would be great to selecting poly or unison. I made moudules that's switches (also gui) and showing "poly" max voices in one hand and in other the unison voices. Yes. When unison = 1 is equal to poly = 1voice. or not?

Would be great also adding two kind of portamento, maybe x rate and x time.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.