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
Phaser/Resonator
8 posts
• Page 1 of 1
Phaser/Resonator
Hello gang,
***HOPE I have not scared anyone from downloading my phaser/resonator it works fine on slower computers. Just KEEP the stages shorter.
Well I was not going to post this, but after creating the presets I decided I should. It's a little high on CPU usage (when used to the max), but on a fast machine it does fine. On my I7, inside Fl Studio with it running, a audio editor, a drum machine, and a sequencer it did fine.
It's a stereo 96 stage PHASER/RESONATOR, so that's a total of 96 series all pass filters and in series mode a total of 192. I got the idea from a commercial VST called "Moodal by Tritik". The actually claim to have a total of 1000 resonant filters. If anyone knows how they do this and keep the CPU load down I would really like to know.
As for it's use there is an input gain and output gain control, the frequency knob sets the frequency for left and right channels, as does the resonance knob ( resonance for each all pass filter). Now there are 2 feedback knobs, 1 for each channel. They set feedback around the entire number of stages selected and can be set to positive or negative feedback. Now the number of stages I selected are what I felt worked and sounded good, but of course if you go inside you can change them to your liking.
There is also a standard LFO and it modulates the frequency.
As you can see there is a pitch follower. The stabilize knob does just what it says, while the other 3 knobs, Cv gain, VCO gain, and Pitch gain, modulate the frequency also.
Far right is a knob that lets you swap the left and right channel, with centering making each channel mono. The wet/dry knob just again does what it says.
There is a series mode button. What it does is connect the left channel into the right channel and disconnects input to the right channel. So now you still have out of the left channel the number of stages you have selected, but out of the right channel you have double that number up to 192 stages.
Last there is the KILL AUDIO button. As with all devices like this there can be load feedback, and possible freezes. Like if resonance, feedback, the follower modulate knobs all get turned to the max.
I have provided 10 presets to start you off, so play with them for awhile then start turning knobs.
PLEASE, if you have any suggestions on making this better, more CPU friendly, tips and tricks, cool presets, and so, do please post them.
Have fun then, till next time, BobF.....
- BobF
- Posts: 598
- Joined: Mon Apr 20, 2015 9:54 pm
Re: Phaser/Resonator
BobF, there is actually a number of things that you can do to reduce CPU load:
1. In your schematic, most time is spent on calculating the allpass coefficients. Replace the sin1() and cos1() functions by efficient approximations.
2. Modulation is usually much slower than audio, hence coefficient updating needs not be done at sample rate. Use something like hop(32) for the coefficient updating.
3. In your schematic the allpasses are identical, hence no need to calculate coefficients for each unit separately. Instead calculate them at one place and distribute to the filters.
4. Those were the low hanging fruits. You can use assembly to further optimize. FS code usually does a lot of unnecessary data moves.
5. Finally, You can exploit SSE to gain up to another factor 4. Observe that each code instruction is actually executed on 4 data streams in parallel, so it is a "pay one and get three more for free" thing.
I have implemented but the last item and got a reduction from originally 27000 cycles for the 96 stages module to 2500 cycles.
1. In your schematic, most time is spent on calculating the allpass coefficients. Replace the sin1() and cos1() functions by efficient approximations.
2. Modulation is usually much slower than audio, hence coefficient updating needs not be done at sample rate. Use something like hop(32) for the coefficient updating.
3. In your schematic the allpasses are identical, hence no need to calculate coefficients for each unit separately. Instead calculate them at one place and distribute to the filters.
4. Those were the low hanging fruits. You can use assembly to further optimize. FS code usually does a lot of unnecessary data moves.
5. Finally, You can exploit SSE to gain up to another factor 4. Observe that each code instruction is actually executed on 4 data streams in parallel, so it is a "pay one and get three more for free" thing.
I have implemented but the last item and got a reduction from originally 27000 cycles for the 96 stages module to 2500 cycles.
- Attachments
-
- BobsPhaser-Resonator_MV-optimized.fsm
- (296.22 KiB) Downloaded 1140 times
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Phaser/Resonator
Hi Martin,
Thanks a million. Boy I wish I had just even a little of the brain power you possess. I can understand what you are saying but for the most could probably only implement a same part of it myself.
Again thank you so much for taking the time to look at it.
P.S., How long did this take you, especially if you are still on holiday?
Cheers BobF.....
Thanks a million. Boy I wish I had just even a little of the brain power you possess. I can understand what you are saying but for the most could probably only implement a same part of it myself.
Again thank you so much for taking the time to look at it.
P.S., How long did this take you, especially if you are still on holiday?
Cheers BobF.....
- BobF
- Posts: 598
- Joined: Mon Apr 20, 2015 9:54 pm
Re: Phaser/Resonator
Hi BobF,
don't worry, it didn't take very long, I had all the replacement parts lying around. Did you check if it still works after my optimization?
Oh, and no, I am no longer on holiday.
don't worry, it didn't take very long, I had all the replacement parts lying around. Did you check if it still works after my optimization?
Oh, and no, I am no longer on holiday.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: Phaser/Resonator
Hi again martin,
YES, it works perfect and no CPU loading. Fantastic work as always!
To anyone that downloaded my original, PLEASE download Martins optimized version, you will be glad you did.
Hope you had a great holiday.
Later then, BobF.....
YES, it works perfect and no CPU loading. Fantastic work as always!
To anyone that downloaded my original, PLEASE download Martins optimized version, you will be glad you did.
Hope you had a great holiday.
Later then, BobF.....
- BobF
- Posts: 598
- Joined: Mon Apr 20, 2015 9:54 pm
Re: Phaser/Resonator
I had all the replacement parts lying around.
- RJHollins
- Posts: 1571
- Joined: Thu Mar 08, 2012 7:58 pm
Re: Phaser/Resonator
YES, I thought that very funny also. Wish I had those kind of parts just laying around too, ha ha.
Later then, BobF.....
Later then, BobF.....
- BobF
- Posts: 598
- Joined: Mon Apr 20, 2015 9:54 pm
Re: Phaser/Resonator
Sorry for the delay in looking at this. Real life sometimes just gets in the way too much!
I do like this; another good and versatile plugin Bob so well done mate.
I found some non-unique preset parameter names so I've taken the liberty to put this right.
I found an unused Pitch follower and a selector so I've deleted these.
I re-centred the front panel a little to give slightly better symmetry.
The main things I would like to see is for you to check and maybe re-do the presets, now the parameter names are all unique.
I would also like to see a brief user guide so I can upload this to the Flowstoners website. This is to assist anyone downloading the plugin who doesn't have Flowstone and can't analyse the signal flow and control functions. For example where is the pitch follower in the flow and what does it do?
Looking forward to seeing this finished!
Cheers
Spogg
I do like this; another good and versatile plugin Bob so well done mate.
I found some non-unique preset parameter names so I've taken the liberty to put this right.
I found an unused Pitch follower and a selector so I've deleted these.
I re-centred the front panel a little to give slightly better symmetry.
The main things I would like to see is for you to check and maybe re-do the presets, now the parameter names are all unique.
I would also like to see a brief user guide so I can upload this to the Flowstoners website. This is to assist anyone downloading the plugin who doesn't have Flowstone and can't analyse the signal flow and control functions. For example where is the pitch follower in the flow and what does it do?
Looking forward to seeing this finished!
Cheers
Spogg
- Attachments
-
- BobsPhaser-Resonator_MV-optimized -spogged 1.fsm
- (886.24 KiB) Downloaded 1371 times
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
8 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 40 guests