Skip to content

Master compressor - #630

Merged
PaulFreund merged 38 commits into
SynthstromAudible:release/1.0from
m-m-adams:master_compressor
Oct 25, 2023
Merged

Master compressor#630
PaulFreund merged 38 commits into
SynthstromAudible:release/1.0from
m-m-adams:master_compressor

Conversation

@m-m-adams

@m-m-adams m-m-adams commented Oct 17, 2023

Copy link
Copy Markdown
Collaborator

RMS calculation is done in floats due to the number of sqrt/logs required, rest of the compressor is integer based on extending the existing sidechain envelopes

UI:
in song or arranger view, affect entire sidechain is a one knob compressor, lowering the threshold and auto increasing make up gain. Pressing sidechain will flash COMP, and switch to showing gain reduction on the top LED meter and input volume on the bottom. They are not identically scaled in order to make better use of the lights. While in this mode the bottom knob (reverb) adjusts the ratio, ranging from about 1/8 to infinity/brick wall limiting

Attack and release can be adjusted on the affect entire attack/release knobs since they're otherwise unused.

I have removed the community settings as there is no longer a downside to the compressor, it's approximately 10x faster than in #583
image

Todo:

  • speed up compressor
  • overhaul UI
  • save/restore settings

In a future PR I'll move this into global effectable proper so that it can properly leverage the parameter system and kits can have their own compressor as well. Currently it relies on the fallthrough method for gold knobs without params attached

@m-m-adams
m-m-adams changed the base branch from community to release/1.0 October 17, 2023 13:38
@m-m-adams
m-m-adams marked this pull request as ready for review October 20, 2023 18:33
@baymud

baymud commented Oct 21, 2023

Copy link
Copy Markdown
Contributor

Thanks for digging in to this! As per the video I posted on Discord, I've noticed a few things on 7SEG when testing this compressor:

  • It seems to default to maximum attack/release times when starting a new track, which seems counter intuitive
  • It also seems to default to maximum compressor amount (sidechain LEDs are off, but when I go to turn it up it jumps to fully lit and I have to reduce it)
  • LEDs in general seem to reset to off for amount, attack and release once you navigate away and back again (but it doesn't sound like it's resetting the parameters, so maybe just an LED issue)
  • Numbers on the display for the various parameters would help, especially if you ever want to recall/recreate certain settings, as right now you'd have to match the LEDs as best you could
  • The input meter is useful, but the moving LEDs make it hard to tell where you're at when adjusting the ratio (maybe a brief interruption in the input meter or just values on the display)
  • When editing ratio you can still press the encoder to change reverb size (not sure if this is a problem, or people may want it, but I found it confusing at first)

@m-m-adams

Copy link
Copy Markdown
Collaborator Author

Thanks for the feedback! Some of those I'll handle in a different PR to switch to the proper deluge parameter management system, but I'd like to get this merged to solidify the audio side before that's done

* It seems to default to maximum attack/release times when starting a new track, which seems counter intuitive

* It also seems to default to maximum compressor amount (sidechain LEDs are off, but when I go to turn it up it jumps to fully lit and I have to reduce it)

Both are bugs in the interaction between the older compressor code and this one. I'll fix in this PR

* LEDs in general seem to reset to off for amount, attack and release once you navigate away and back again (but it doesn't sound like it's resetting the parameters, so maybe just an LED issue)

Tracking but out of scope for this PR, it'll fix itself in the main deluge parameter system

* Numbers on the display for the various parameters would help, especially if you ever want to recall/recreate certain settings, as right now you'd have to match the LEDs as best you could

* The input meter is useful, but the moving LEDs make it hard to tell where you're at when adjusting the ratio (maybe a brief interruption in the input meter or just values on the display)

Will fix in this PR

* When editing ratio you can still press the encoder to change reverb size (not sure if this is a problem, or people may want it, but I found it confusing at first)

I'll fix that too, not sure if it's good or not but it seems counter intuitive

@PaulFreund

Copy link
Copy Markdown
Collaborator

Code looks good but need to get rid with that interaction with sidechain :)

@m-m-adams
m-m-adams marked this pull request as draft October 24, 2023 00:08
@m-m-adams

Copy link
Copy Markdown
Collaborator Author

Gonna see if I can integrate the master comp with the 32->24 bit conversion to optimize the headroom

@m-m-adams
m-m-adams marked this pull request as ready for review October 25, 2023 14:31
@PaulFreund
PaulFreund merged commit 41bda54 into SynthstromAudible:release/1.0 Oct 25, 2023
@PaulFreund

Copy link
Copy Markdown
Collaborator

Forgot to press approve but did review it ;)

@m-m-adams
m-m-adams deleted the master_compressor branch October 25, 2023 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants