If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
Advanced Unison
15 posts
• Page 1 of 2 • 1, 2
Advanced Unison
Unison per se is pretty easy. Take a wave and play it several times parallel, slightly detuned against each other and distributed over the stereo field.
But, to achieve that, I would need to use x oscillators. I am thinking of unison for that wonderful SWM-Sine Oscillator that Martin made. But, say, 4 of them just for unison adds to the load (because in total there might then be 8 or 12, which increases CPU load at least 3 times).
Wouldn't it be better to send out 4 streams from the oscillator, while the oscillator calculates the detuning? Or doesn't it make a difference in terms of CPU-load?
But, to achieve that, I would need to use x oscillators. I am thinking of unison for that wonderful SWM-Sine Oscillator that Martin made. But, say, 4 of them just for unison adds to the load (because in total there might then be 8 or 12, which increases CPU load at least 3 times).
Wouldn't it be better to send out 4 streams from the oscillator, while the oscillator calculates the detuning? Or doesn't it make a difference in terms of CPU-load?
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Advanced Unison
As far as I understand Flowstone is using SSE which means 4 voices will take the same cpu amount as only 1 voice. So if you create a unison using 4 voices, (so then you get 1 mono key) it should cost no more cpu.
- adamszabo
- Posts: 667
- Joined: Sun Jul 11, 2010 7:21 am
Re: Advanced Unison
If CPU load is a concern then try this (somewhat) optimized oscillator version.
- Attachments
-
- PWM-SineGenerator_optimized.fsm
- (86.66 KiB) Downloaded 1197 times
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Advanced Unison
Somewhat? It is noticable improved! With 3 oscillators playing chords, so that at least 9 notes are playing:
Before 10%, now down to 8% - that's a 20% improvement! Thank you very much!
The question is still there, I know, I can be annoying.
Say we have a synth with three oscillators.
Playing notes triggers sounds created from those 3 oscillators in combination.
I would want to set one of these oscillators in 4-voice-unison mode (but not monophonic). Behind the scenes I would now use another 3 oscillators to get unison on that one oscillator, so in total there are now 6 oscillators playing.
But, for unison you wouldn't neccessarily need to generate waves from an oscillator. I could, in theory, just take the result from one calculation, and add a little detuning for 3 more. I was thinking that this additional detuning in the oscillator would need less cpu-cycles than generating 4 complete waves. Is that wrong? Is it even (theoretically) possible?
Before 10%, now down to 8% - that's a 20% improvement! Thank you very much!
The question is still there, I know, I can be annoying.
Say we have a synth with three oscillators.
Playing notes triggers sounds created from those 3 oscillators in combination.
I would want to set one of these oscillators in 4-voice-unison mode (but not monophonic). Behind the scenes I would now use another 3 oscillators to get unison on that one oscillator, so in total there are now 6 oscillators playing.
But, for unison you wouldn't neccessarily need to generate waves from an oscillator. I could, in theory, just take the result from one calculation, and add a little detuning for 3 more. I was thinking that this additional detuning in the oscillator would need less cpu-cycles than generating 4 complete waves. Is that wrong? Is it even (theoretically) possible?
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Advanced Unison
There is a "Midi to Multi Voice" component already which should do what you are after (i think), I have atached a schem how you can make unison with it (courtesy of Myco)
- Attachments
-
- unison_myco.fsm
- (30.06 KiB) Downloaded 1214 times
- adamszabo
- Posts: 667
- Joined: Sun Jul 11, 2010 7:21 am
Re: Advanced Unison
adamszabo wrote:There is a "Midi to Multi Voice" component already which should do what you are after (i think), I have atached a schem how you can make unison with it (courtesy of Myco)
Thanks a lot for this example. It is another approach to unison, that I didn't think of! Streams are poly-components, of course you can send several detuned frequencies per midi note. That's good to know.
But (please don't shoot me ), that's still not quite where I want to go. So I made an accoustic example, hearing may say more than a thousand words. I'll be as accurate as possible in my description:
You will hear one saw-oscillator. A bandpass filter is applied, set to mid-frequency. Also, midi-velocity drives the filter's envelope amount as well as the filter envelope's decay to certain degrees.
3 chords (of 3 notes each) are played with velocity 75, and a melody with velocity 125. The 4-bar-loop is repeated 4 times. On the first time you will hear the raw sound, the second time the same sound is sent through a unison module that is set to 16 voices and 50% of the possible detuning strength. For the last 2 loops it will switch back and forth per bar.
unison.mp3
I think this will make it clearer. The stereo field is used in total. With the current techniques I can't use the stereo field in FS. With x dedicated streamouts I could mix them in stereo.
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Advanced Unison
With the unison example I posted its very easy. Just assign the voice tags (unison voices) to different outputs. For example, you can split your signal and create a L and R and have a unison of 4 voices, but have voice tag 0 and 1 only go through L, and voice tag 2 and 3 only go through R, then you will get the stereo effect.
Last edited by adamszabo on Sat Nov 21, 2015 11:15 pm, edited 1 time in total.
- adamszabo
- Posts: 667
- Joined: Sun Jul 11, 2010 7:21 am
Re: Advanced Unison
Here is an example with a stereo spread knob. Its mono in the middle.
- Attachments
-
- unison_myco_stereo.fsm
- (46.22 KiB) Downloaded 1219 times
- adamszabo
- Posts: 667
- Joined: Sun Jul 11, 2010 7:21 am
Re: Advanced Unison
Thank you, Adam, you saved my day! I totally forgot about channel IDs. That solves it and it is just as I imagined it (using one osc), perfect!
I hope I can return the favour soon (you know what I'm talking about )!
I hope I can return the favour soon (you know what I'm talking about )!
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: Advanced Unison
Hi guys
I've been following this with great interest.
I have a problem with the schematic that I haven't yet been able to resolve. The MIDI input module works fine with the PC keyboard input selected but ignores my MIDI keyboard (Keystation 61 es). The keyboard is fine on other synths in FS. I've tried replacing all the main prims with those from my toolbox (FS 3.08.1) but the keyboard is always ignored.
I've never had this issue before.
Also, a more general question: This approach is very elegant but do we actually save CPU cycles over using individual oscillators (as I did in my Quilcom Unison synth)? The intuitive thought is that we still have to create the inividual waves to make the sound so if we do benefit in CPU terms how so?
Cheers
Spogg
I've been following this with great interest.
I have a problem with the schematic that I haven't yet been able to resolve. The MIDI input module works fine with the PC keyboard input selected but ignores my MIDI keyboard (Keystation 61 es). The keyboard is fine on other synths in FS. I've tried replacing all the main prims with those from my toolbox (FS 3.08.1) but the keyboard is always ignored.
I've never had this issue before.
Also, a more general question: This approach is very elegant but do we actually save CPU cycles over using individual oscillators (as I did in my Quilcom Unison synth)? The intuitive thought is that we still have to create the inividual waves to make the sound so if we do benefit in CPU terms how so?
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
15 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 87 guests