hmmmm... envelope control of a chorus

Started by pinkjimiphoton, February 24, 2016, 11:16:45 PM

Previous topic - Next topic

Transmogrifox

I got it all stitched together enough I can run the chorus on a wav file on my computer by hard-coding settings.  Here's a quick sample I thought sounded interesting where the rate and depth are modulated together.  As you dig in the rate goes up and the width goes down to somewhat compensate the warble:
http://cackleberrypines.net/transmogrifox/Misc/cgi_play/chorus/outfile.wav
Here's the clean version for comparison:
http://cackleberrypines.net/transmogrifox/Misc/cgi_play/chorus/demo.wav

Work-in-progress source code is here for any computer geek/dsp nuts:
http://cackleberrypines.net/transmogrifox/Misc/cgi_play/chorus/

Either way when it is finished I think it will make a convenient evaluation tool for determining what parameters one might want to control with an envelope detector or adsr.


trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.

Transmogrifox

Alright, here it is for any of you interested in messing with this:
http://cackleberrypines.net/transmogrifox/src/cgi_chorus/chorus.html

Basically you plug in parameters, click Run Chorus, then click the link to "Listen to output".

The way it's set up right now it writes to "outfile.wav" so if multiple people are running it simultaneously I don't know what will happen.  It may crash and give you a server error because of the file being locked during multiple simultaneous write attempts, it may start overwriting and give you a corrupted file, you might get somebody else's run parameters if you don't download yours soon enough...So if weird stuff starts happening you can PM me.

If you guys are using it and start reporting trouble/errors then I will make it more robust so multiple simultaneous users don't have problems.

The default config is just a nice chorus with no envelope control.  Probably listen to that first.  Also you might want to set "Mix" to 0 to hear the dry sample.  Also if there is interest I can expose envelope follower Attack and Release to the web interface -- I was just anxious to get it out for comment.  If you want to process your own wav file...well then there is some legwork needed to allow user file upload or maybe I can have it read audio from a link or something...just stuff I can chip away at if there is enough interest.

I will say from my own messing with it there are some really useful sounds that come from envelope control on a delay line effect.  DSP is the best way to make something tweakable like this, but the hope with presenting this tool is that some of you will find the right combinations of envelope control that can be practically implemented on a BBD Chorus -- and then there will be a very unique and worthwhile community chorus build.

Also if any of you like the DSP chorus itself the source code is available. http://cackleberrypines.net/transmogrifox/src/cgi_chorus/csource

Anyway, for now it's a good basic tool to get an idea of what you can do by applying envelope control to any chorus parameter. 

trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.

garcho

very cool, thank you!

having fun with this thing.
  • SUPPORTER
"...and weird on top!"

Transmogrifox

:)  I'm glad somebody is playing with it.

Another tip:  The only difference between a flanger and chorus is the delay range:  if you set depth between 0 to 1ms (you can enter decimal numbers like 0.01).  A decent flanger setting is depth=1.0ms, width=5.0ms and go from there.  The lowest notch frequency appears at 2.0/depth on the high end of the sweep, and 2.0/(depth+width) on the low end of the sweep. That will give you an idea of the depth/width range useful for a flanger.

You can make this into an envelope-controlled flanger by setting depth=1ms, width=0ms and depthskew=5, or depth=5ms, depthskew=-5 to go the opposite direction.  Here having EF attack and release parameters exposed would be nice to control the attack "chirp". 
trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.

Transmogrifox

trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.

Mark Hammer

The recently-issued Calavera phaser includes envelope control of rate, and can either slow rate down or speed it up as you pick harder.  Worth taking a listen to to figure out which you like better.