lick icon indicating copy to clipboard operation
lick copied to clipboard

Implement New York style drum compression effect

Open heuermh opened this issue 3 years ago • 1 comments

See

Boom Bap! Re-creating ’90s East Coast Hip-Hop Beats in the Home Studio https://www.sweetwater.com/insync/90s-east-coast-hip-hop-beats-in-the-home-studio/

heuermh avatar Mar 14 '21 20:03 heuermh

See also

https://tapeop.com/reviews/gear/140/parallel-aggressor-plug-in

heuermh avatar Apr 02 '21 15:04 heuermh

$ cat dyno.ck
Dyno dyno;

<<<"Dyno default values">>>;
<<<"type", "slopeAbove", "slopeBelow", "ratio", "thresh", "attackTime (samples)", "attackTime (ms)", "releaseTime (samples)", "releaseTime (ms)", "externalSideInput">>>;

dyno.compress();
<<<"compress", dyno.slopeAbove(), dyno.slopeBelow(), dyno.ratio(), dyno.thresh(), dyno.attackTime(), dyno.attackTime()/1::ms, dyno.releaseTime(), dyno.releaseTime()/1::ms, dyno.externalSideInput()>>>;

dyno.duck();
<<<"duck", dyno.slopeAbove(), dyno.slopeBelow(), dyno.ratio(), dyno.thresh(), dyno.attackTime(), dyno.attackTime()/1::ms, dyno.releaseTime(), dyno.releaseTime()/1::ms, dyno.externalSideInput()>>>;

dyno.expand();
<<<"expand", dyno.slopeAbove(), dyno.slopeBelow(), dyno.ratio(), dyno.thresh(), dyno.attackTime(), dyno.attackTime()/1::ms, dyno.releaseTime(), dyno.releaseTime()/1::ms, dyno.externalSideInput()>>>;

dyno.gate();
<<<"gate", dyno.slopeAbove(), dyno.slopeBelow(), dyno.ratio(), dyno.thresh(), dyno.attackTime(), dyno.attackTime()/1::ms, dyno.releaseTime(), dyno.releaseTime()/1::ms, dyno.externalSideInput()>>>;

dyno.limit();
<<<"limit", dyno.slopeAbove(), dyno.slopeBelow(), dyno.ratio(), dyno.thresh(), dyno.attackTime(), dyno.attackTime()/1::ms, dyno.releaseTime(), dyno.releaseTime()/1::ms, dyno.externalSideInput()>>>;

$ chuck + dyno.ck

"Dyno default values" :(string)
type slopeAbove slopeBelow ratio thresh attackTime (samples) attackTime (ms) releaseTime (samples) releaseTime (ms) externalSideInput
compress 0.500000 1.000000 2.000000 0.500000 220.500000 5.000000 22050.000000 500.000000 0
duck 0.500000 1.000000 2.000000 0.100000 441.000000 10.000000 44100.000000 1000.000000 1
expand 2.000000 1.000000 0.500000 0.500000 882.000000 20.000000 17640.000000 400.000000 0
gate 1.000000 100000000.000000 100000000.000000 0.100000 485.100000 11.000000 4410.000000 100.000000 0
limit 0.100000 1.000000 10.000000 0.500000 220.500000 5.000000 13230.000000 300.000000 0

or as a table

Dyno default values

type slopeAbove slopeBelow ratio thresh attackTime (samples) attackTime (ms) releaseTime (samples) releaseTime (ms) externalSideInput
compress 0.5 1.0 2.0 0.5 220.50 5.0 22050.0 500.0 0
duck 0.5 1.0 2.0 0.1 441.0 10.0 44100.0 1000.0 1
expand 2.0 1.0 0.5 0.5 882.0 20.0 17640.0 400.0 0
gate 1.0 1.0E08 1.0E08 0.1 485.10 11.0 4410.0 100.0 0
limit 0.1 1.0 10.0 0.5 220.50 5.0 13230.0 300.0 0

heuermh avatar Jan 20 '24 20:01 heuermh

Fixed by commit 1f0541a

heuermh avatar Jan 20 '24 23:01 heuermh