Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buses proposal #114

Open
bwhitman opened this issue Mar 30, 2024 · 0 comments
Open

Buses proposal #114

bwhitman opened this issue Mar 30, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@bwhitman
Copy link
Collaborator

We have a couple of quality of life issues that a "bus" could help us obviate

  • some patches use chorus, some do not. chorus is currently synth-wide. so it makes it hard to do a multimbral operation
  • some patches use EQ, some do not
  • we would like to route some signals to non-audio ports (DACs for CV operation)

Let's add a bus construct, where oscillators are rendered into a bus and effects can be added after summing into that bus.

If this sounds complicated, never fear, we already have two buses! fbl is used on multi core hardware to render a group of oscillators. We then sum those and add effects to them together. What if fbl could be, say, up to 6, instead of two, and you can assign oscillators to a bus number. By default, they would be set up like they are now, into two buses by their osc #, (0-AMY_OSCS/2, AMY_OSCS/2-AMY_OSCS). But a parameter, say, U / bus, can be added to the oscillator to override this bus.

Then, synth wide "effects" like (currently) chorus, reverb, eq can also have U / bus set alongside them (with default being all active buses), e.g. chorus_level=1, bus=0,1,3. And (for example) juno patches can have bus numbers pre-set into ones that need chorus / eq / etc and those that don't. Then dx7 and juno voices could be played simultaneously with chorus only on the appropriate ones.

(Future) a bus can be indicated as non-audible, or have its volume set per bus for mixing. Other C code could peek into a bus to, for example, send the bus output to a non-audio sink, like a i2c DAC on Tulip for modular synth ramps.

@bwhitman bwhitman added the enhancement New feature or request label Aug 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants