Old 10-15-2008, 08:51 AM   #1
liteon
Human being with feelings
 
liteon's Avatar
 
Join Date: Apr 2008
Posts: 510
Default MoogFilter (24dbLP,HP,BP)

Hello,

This is my first attempt on writing something in JS.
I've ported the Moog VCF from http://www.musicdsp.org/


[IMG]http://img407.**************/img407/1277/moogdv8.jpg[/IMG]
[IMG]http://img513.**************/img513/9583/moogbpfilterzh3.jpg[/IMG]

Latest screenshot:
[IMG]http://img375.**************/img375/5989/moogup1rq8.jpg[/IMG]

unzip, place "moog24db" file in Reaper/Effects folder.

fixes (some of these may apply to other similar filters):
- fixed small volume drop when "drive" is engaged
- added drive/distortion formula
- added limiter On/Off switch
- added Mono/Stereo processing switch
- BP filter fix - was outputting mono
- added BP filter mode.
- max Resonance set to 0.85 since it may start to self-oscilate with values closer to 0.9.
- replaced the original "clipper (band limited sigmoid)" code with "utility/limiter" since it was droping the signal when higher volumes are inputed. Signal can be driven trough the filter now properly.
- dropdown menu for filter selection.
- glitch while tweaking parameters fixed.

tbd:

- oversampling!

LATEST VERSION: http://forum.cockos.com/showthread.p...980#post246980

Liteon

Last edited by liteon; 10-23-2008 at 04:19 PM.
liteon is offline   Reply With Quote
Old 10-15-2008, 03:31 PM   #2
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,955
Default

sounds really good!

couple of suggestions:

1> change yr filter selection so LP = 0, HP = 1, then:

slider3:0<0,1,1{LP,HP}>Filter Type


2> there's glitching on change of filter settings - maybe interpolate between old/params per sample/block if the slider has been moved?
dub3000 is offline   Reply With Quote
Old 10-15-2008, 06:14 PM   #3
liteon
Human being with feelings
 
liteon's Avatar
 
Join Date: Apr 2008
Posts: 510
Default

Quote:
Originally Posted by dub3000 View Post
sounds really good!

couple of suggestions:

1> change yr filter selection so LP = 0, HP = 1, then:

slider3:0<0,1,1{LP,HP}>Filter Type

2> there's glitching on change of filter settings - maybe interpolate between old/params per sample/block if the slider has been moved?
Ah cheers for that. Actually the last version I've compiled I think I had the speakers off and didn't heard the glitch at all.

1> added
2> fixed (i was reseting some values in the @slider section)

Link updated in the original post.

Liteon
liteon is offline   Reply With Quote
Old 10-16-2008, 07:47 AM   #4
Liquidclear
Human being with feelings
 
Join Date: Mar 2008
Location: Newcastle, WA
Posts: 70
Default

Thanks liteon, I was looking for something just like this the other day.
Liquidclear is offline   Reply With Quote
Old 10-16-2008, 02:03 PM   #5
griz lee
Human being with feelings
 
griz lee's Avatar
 
Join Date: Jul 2006
Location: in a hotel room near you
Posts: 1,175
Default it's frighteningly moogy

wow Lieton, that does sound really good.

Many thanks for such a wonderful and super tool. You rock.
griz lee is offline   Reply With Quote
Old 10-16-2008, 06:21 PM   #6
liteon
Human being with feelings
 
liteon's Avatar
 
Join Date: Apr 2008
Posts: 510
Default

Cheers men!

I've made a small fix for this one - BP was outputting mono only. Fixed now.

Did another classic filter. Check it out.
http://forum.cockos.com/showthread.p...469#post244469

liteon is offline   Reply With Quote
Old 10-16-2008, 07:07 PM   #7
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,823
Default

Nice work, liteon! Sounds great, and a great contribution.

Here's a totally different implementation (mine) of a Moog ladder, which might be interesting for comparison: http://www.stillwellaudio.com/?page_id=40
schwa is offline   Reply With Quote
Old 10-16-2008, 07:21 PM   #8
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,823
Default

Just for fun, here's a frequency comparison of pink noise through the Oligarc Moog (white) and this JS (red):



Cool!

Here's the RPP to do the comparison:
https://stash.reaper.fm/oldsb/72274/moog-compare.zip

Last edited by schwa; 10-16-2008 at 07:27 PM.
schwa is offline   Reply With Quote
Old 10-16-2008, 08:36 PM   #9
liteon
Human being with feelings
 
liteon's Avatar
 
Join Date: Apr 2008
Posts: 510
Default

Quote:
Originally Posted by schwa View Post
Nice work, liteon! Sounds great, and a great contribution.

Here's a totally different implementation (mine) of a Moog ladder, which might be interesting for comparison: http://www.stillwellaudio.com/?page_id=40
Heh thanks . I've just compared the two effects - they are quite close. But visually your produces kinda smoother spectrum.

On the other hand the BP filters are completely different x)

Last edited by liteon; 10-16-2008 at 08:39 PM.
liteon is offline   Reply With Quote
Old 10-17-2008, 12:11 AM   #10
dub3000
Human being with feelings
 
dub3000's Avatar
 
Join Date: Mar 2008
Location: Sydney, Australia
Posts: 3,955
Default

there's some sort of limiting going on, right? any chance we could get that controllable? (i.e. optionally disable it? for the cheby one as well)
dub3000 is offline   Reply With Quote
Old 10-17-2008, 07:25 PM   #11
liteon
Human being with feelings
 
liteon's Avatar
 
Join Date: Apr 2008
Posts: 510
Default

Updated the filter with some addons

notes about performance:

- distortion - used one of Bram's distortion formulas which is basically a waveshaper. The distortion may be better sounding but I bet if we try to make an approximation of the original moog filter distortion it will hit the the CPU quite hard. But still if someone has any formulas or code let me check them.
(reduces cpu use when set to 0)

- limiter on/off (reduces cpu when off)

- mono/stereo - when using the filter only the cpu change between mono/stereo wont be that drastic but otherwise with the limiter+distortion on it will be at least 2x - in stereo. Example: 2% cpu in mono - 4% cpu in stereo.

Did some tests with oversampling loops too. Will see if i can make a proper one with JS

Cheers
liteon is offline   Reply With Quote
Old 10-17-2008, 07:42 PM   #12
liteon
Human being with feelings
 
liteon's Avatar
 
Join Date: Apr 2008
Posts: 510
Default

Quote:
Originally Posted by schwa View Post
Just for fun, here's a frequency comparison of pink noise through the Oligarc Moog (white) and this JS (red):
Btw I was going to ask you. Have you used something like parallel smoothing in the algorithm for oligarch?

Thanks

Last edited by liteon; 10-17-2008 at 11:43 PM.
liteon is offline   Reply With Quote
Old 10-18-2008, 05:27 AM   #13
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,823
Default

These JS filters are in the Reaper installer as of 2.53 ... thanks for the excellent contribution liteon!
schwa is offline   Reply With Quote
Old 10-18-2008, 06:40 PM   #14
liteon
Human being with feelings
 
liteon's Avatar
 
Join Date: Apr 2008
Posts: 510
Default

Quote:
Originally Posted by schwa View Post
These JS filters are in the Reaper installer as of 2.53 ... thanks for the excellent contribution liteon!
I'm glad that I can contribute

Edit: Will check more info about oversampling and parameter interpolation for the filters.

Last edited by liteon; 10-18-2008 at 06:48 PM.
liteon is offline   Reply With Quote
Old 10-18-2008, 06:56 PM   #15
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,823
Default

Quote:
Originally Posted by liteon View Post
Have you used something like parallel smoothing in the algorithm for oligarch?
There's no smoothing step per se, but Oligarc is a completely different implementation from the bilinear cascade you've done.
schwa is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 05:43 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.