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
The Quilcom 7SAW synthesiser
13 posts
• Page 1 of 2 • 1, 2
The Quilcom 7SAW synthesiser
Hi all!
Time for a new synth.
This one explores an oscillator inspired by the Roland JP-8000 Supersaw.
Many thanks must go to Adam Szabo, whose definitive paper gives insight into what Roland achieved. I’ve included his paper in the zip so you can read about the technicalities and how he analysed so cleverly what was going on. Also many thanks, as ever, to Martin Vicanek whose work I make extensive use of.
Key features emulated here are:
-7 aliasing sawtooth oscillators to give a richer HF content
-Tracking HPF to remove aliasing lower than the fundamental
-Polyphonic random phase offset, per note played, for the 6 detunable side oscillators
-Mixing to provide compensated levels
In addition the 7 oscillators are spread equally across the stereo field (can be reduced to mono).
The Synth’s architecture is very simple but a rich and varied range is possible, as per my presets.
There is a demo and user guide at
https://youtu.be/exQE1l0nW-k
Zip includes Adam’s paper, the schematic, the plugin and the factory presets:
https://www.dropbox.com/s/38t9xv9xqpts9 ... 4.zip?dl=0
Any comments would be very welcome!
Cheers
Spogg
Time for a new synth.
This one explores an oscillator inspired by the Roland JP-8000 Supersaw.
Many thanks must go to Adam Szabo, whose definitive paper gives insight into what Roland achieved. I’ve included his paper in the zip so you can read about the technicalities and how he analysed so cleverly what was going on. Also many thanks, as ever, to Martin Vicanek whose work I make extensive use of.
Key features emulated here are:
-7 aliasing sawtooth oscillators to give a richer HF content
-Tracking HPF to remove aliasing lower than the fundamental
-Polyphonic random phase offset, per note played, for the 6 detunable side oscillators
-Mixing to provide compensated levels
In addition the 7 oscillators are spread equally across the stereo field (can be reduced to mono).
The Synth’s architecture is very simple but a rich and varied range is possible, as per my presets.
There is a demo and user guide at
https://youtu.be/exQE1l0nW-k
Zip includes Adam’s paper, the schematic, the plugin and the factory presets:
https://www.dropbox.com/s/38t9xv9xqpts9 ... 4.zip?dl=0
Any comments would be very welcome!
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: The Quilcom 7SAW synthesiser
Cool, im glad you found my little paper userful! Sounds pretty cool! I checked your schematic and you are using a way too complicated method for the phase randomisation. You can use assembly to same a LOT of cpu for this task. This is how I did it in my synth
Btw, yes you said my name correct haha. In Hungarian when the S and Z are beside each other you pronounce it like an english S like in 'snake'. When the S is alone you say it like 'Shh'
Btw, yes you said my name correct haha. In Hungarian when the S and Z are beside each other you pronounce it like an english S like in 'snake'. When the S is alone you say it like 'Shh'
- Attachments
-
- random_phase.jpg (304.93 KiB) Viewed 32298 times
- adamszabo
- Posts: 667
- Joined: Sun Jul 11, 2010 7:21 am
Re: The Quilcom 7SAW synthesiser
Since it is based on Adam's work I think it's fair to point to his awesome synth as well: http://www.adamszabo.com/jp6k/
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: The Quilcom 7SAW synthesiser
adamszabo wrote: I checked your schematic and you are using a way too complicated method for the phase randomisation. You can use assembly to same a LOT of cpu for this task. This is how I did it in my synth
Thanks Adam! Glad I said your name right too.
I tried various schemes for the phase randomisation but I found that whenever a channel opened (note pressed) I got the same random numbers every time. In the end my scheme was based on 6x free-running (mono) white noise modules (thanks Martin!) with different seeds converted to poly and then I always get unique spreads. Could you tell me whether your scheme will always start with a unique value set from those rand functions?
@tulamide thanks for that link and he does deserve the plug. The demos sound fantastic and he deserves to sell loads. Of course his synth is a full emulation whereas mine just explores the Supesaw concept itself, more as a kinda demo/experimental thing.
Don't you just LOVE Flowstone?
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: The Quilcom 7SAW synthesiser
Thanks Tom, I didnt want to do any self advertising
Spogg, yes, try it out! You get a different random unique number from each output everytime you press a new key. Connect a white readout primitive to it and you can see it.
Spogg, yes, try it out! You get a different random unique number from each output everytime you press a new key. Connect a white readout primitive to it and you can see it.
- adamszabo
- Posts: 667
- Joined: Sun Jul 11, 2010 7:21 am
Re: The Quilcom 7SAW synthesiser
Thanks Adam, I will try it in the near future and check the CPU saving.
I must assume that the RAND function is somehow invisibly seeded so that when the channel is opened you don't always get the same result. Fascinating!
I must assume that the RAND function is somehow invisibly seeded so that when the channel is opened you don't always get the same result. Fascinating!
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: The Quilcom 7SAW synthesiser
Well I have to thank you so much Adam
The CPU dropped to nearly half with your asm code
I've put the new version 1.03 as the Dropbox link on the first post (and on flowstoners) and recommend folk download it again due to the CPU saving.
Adam, I made this work easily in DSP too (slightly higher CPU) but when I checked there is no reference to the rand function in the manual. This annoys me a bit because, had it been available I would have used it. Since there is no info there is no syntax for its use either. Could you possibly explain why we need to create a Float Array for the rand function and not just a regular float?
float rand1[1] = rand(0,1); This works
float rand1 = rand(0,1); This doesn't work.
Also can I put any upper and lower limit in the brackets?
Sorry to be a pain but I want to "get" this, if you don't mind.
Thanks again Adam!
Spogg
The CPU dropped to nearly half with your asm code
I've put the new version 1.03 as the Dropbox link on the first post (and on flowstoners) and recommend folk download it again due to the CPU saving.
Adam, I made this work easily in DSP too (slightly higher CPU) but when I checked there is no reference to the rand function in the manual. This annoys me a bit because, had it been available I would have used it. Since there is no info there is no syntax for its use either. Could you possibly explain why we need to create a Float Array for the rand function and not just a regular float?
float rand1[1] = rand(0,1); This works
float rand1 = rand(0,1); This doesn't work.
Also can I put any upper and lower limit in the brackets?
Sorry to be a pain but I want to "get" this, if you don't mind.
Thanks again Adam!
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: The Quilcom 7SAW synthesiser
Unfortunately, I am not an expert at that code, I just got it like you did from me, but to my understanding, we have to create an array to fill it with the random numbers. You can also call that variable MyRandomArray[1] if you want, it does not have to be rand1[1]. The 1 in the bracket means the size of the memory, I think 1 means 4 bytes or something? Also, yes you can put other limits in your brackets. (-2,2) will do the random number between -2 and 2.
Perhaps Martin on MyCo can expand on what I wrote to clear things up
Perhaps Martin on MyCo can expand on what I wrote to clear things up
- adamszabo
- Posts: 667
- Joined: Sun Jul 11, 2010 7:21 am
Re: The Quilcom 7SAW synthesiser
I found a duplication error in the parameter naming
I've corrected 5 presets it affected and put the version 1.04 in the first post. No sounds changed and the preset folder is up to date now.
Cheers
Spogg
I've corrected 5 presets it affected and put the version 1.04 in the first post. No sounds changed and the preset folder is up to date now.
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: The Quilcom 7SAW synthesiser
The rand() function is mentioned on page 242 of the User Guide. Apparently it may be used to initialize an array with random values.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
13 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: Google [Bot] and 38 guests