Support

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

For general discussion related FlowStone

Advanced Unison

Postby tulamide » Fri Nov 20, 2015 6:37 pm

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?
"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

Postby adamszabo » Fri Nov 20, 2015 8:13 pm

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

Postby martinvicanek » Sat Nov 21, 2015 1:26 am

If CPU load is a concern then try this (somewhat) optimized oscillator version.
Attachments
PWM-SineGenerator_optimized.fsm
(86.66 KiB) Downloaded 1190 times
User avatar
martinvicanek
 
Posts: 1328
Joined: Sat Jun 22, 2013 8:28 pm

Re: Advanced Unison

Postby tulamide » Sat Nov 21, 2015 2:46 am

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?
"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

Postby adamszabo » Sat Nov 21, 2015 11:42 am

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 1209 times
adamszabo
 
Posts: 667
Joined: Sun Jul 11, 2010 7:21 am

Re: Advanced Unison

Postby tulamide » Sat Nov 21, 2015 5:35 pm

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 :mrgreen: ), 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

Postby adamszabo » Sat Nov 21, 2015 10:39 pm

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

Postby adamszabo » Sat Nov 21, 2015 11:13 pm

Here is an example with a stereo spread knob. Its mono in the middle.
Attachments
unison_myco_stereo.fsm
(46.22 KiB) Downloaded 1213 times
adamszabo
 
Posts: 667
Joined: Sun Jul 11, 2010 7:21 am

Re: Advanced Unison

Postby tulamide » Sun Nov 22, 2015 12:00 am

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 :mrgreen: )!
"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

Postby Spogg » Sun Nov 22, 2015 11:30 am

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
User avatar
Spogg
 
Posts: 3358
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Next

Return to General

Who is online

Users browsing this forum: No registered users and 99 guests