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

Add support for LFOs #150

Open
5 of 6 tasks
paulfd opened this issue Apr 2, 2020 · 2 comments
Open
5 of 6 tasks

Add support for LFOs #150

paulfd opened this issue Apr 2, 2020 · 2 comments
Assignees
Labels
improvement Improve on existing functionality
Milestone

Comments

@paulfd
Copy link
Member

paulfd commented Apr 2, 2020

@jpcima already provided the LFO generation in #43 which allows to generate the waveforms from opcodes. What is needed now:

  • Plumbing to have Regions store this information (with quick tests)
  • Add either an LFOPool or a preallocation in the synth so that Voices can have the necessary allocated space to handle LFO operation
  • Add CC/pitch modulation to LFO targets
  • Add monophonic aftertouch event tracking in the midi state, LV2 and VST plugins
  • Add aftertouch modulation to LFO targets
  • Add LFO modulation to LFO targets

Some questions remaining:

  • Are LFOs on different voices/regions supposed to be synchronized somehow?
  • Since LFOs can modulate LFOs, there needs to be a way to avoid cycles in this modulation graph. Either we force an evaluation order (the preferred, simpler approach) with a cycle check. Maybe verify/ask what other implementations are doing.
@paulfd paulfd added the improvement Improve on existing functionality label Apr 2, 2020
@paulfd paulfd added this to the 0.4.0 milestone Apr 2, 2020
@paulfd paulfd self-assigned this Apr 2, 2020
@jpcima
Copy link
Collaborator

jpcima commented Apr 2, 2020

LFOs synchronize with the start of note of their region.
That includes their phase, their start delay, etc..

@paulfd paulfd modified the milestones: 0.4.0, 0.5.0 Jul 1, 2020
@alcomposer
Copy link
Collaborator

alcomposer commented Oct 9, 2020

@paulfd there was a discussion to allow voice LFO's to have a free running setting.

I'm assuming that such setting would lock the LFO to global time. Hence it would act differently for LFOs defined by beat- or freq.

Obviously for free running defined LFOs, there would be no sync with start of note, and other LFO opcodes.

However free running phase would be possible. (Assuming a free running LFO would be 0° at time 0)

@paulfd paulfd modified the milestones: 0.5.0, 0.6.0 Oct 15, 2020
@paulfd paulfd modified the milestones: 0.6.0, 1.1.0 May 24, 2021
@paulfd paulfd modified the milestones: 1.1.0, 1.2.0 Jul 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improve on existing functionality
Projects
None yet
Development

No branches or pull requests

3 participants