Skip to content

LFO for each oscillator layer#6

Open
m0nkmaster wants to merge 76 commits intomainfrom
individual-lfos
Open

LFO for each oscillator layer#6
m0nkmaster wants to merge 76 commits intomainfrom
individual-lfos

Conversation

@m0nkmaster
Copy link
Owner

No description provided.

- Enhanced the implementation of beads for better tracking of AI tasks and session memory management.
- Refined the integration to ensure smoother operation and improved user experience.
…unction in synthCore.ts with gain target support
Fix type errors: LayerLFOConfig sync field, duplicate clamp export, FM schema, ArrayBuffer casts
Confirmed backward compatibility via existing tests: lfos field is optional,
all example configs validate without LFO-related errors.
…e-on

Each call to createLayerLFO creates a new oscillator starting at phase 0,
ensuring retrigger mode correctly resets LFO phase on each note trigger.
Verified synthesizer.ts correctly calls createLayerLFO for all layer
LFOs during offline rendering. All 6 modulation targets functional.
… and fix pan routing

- Add 11 integration tests verifying all 6 LFO modulation targets work in offline synthesis
- Fix pan LFO routing to insert panner in signal chain before layerGain
- Use property check instead of instanceof for StereoPannerNode (test compatibility)
…or FM layer types

Verified existing implementation in LayerLFOEditor.tsx that conditionally shows fmIndex only when layer.type === 'fm'.
… in real-time synth

Verified realtimeSynth.ts already uses shared createLayerLFO function for
all 6 modulation targets with proper source tracking and cleanup.
…thesis

Free sync mode now runs LFOs continuously without phase reset between
notes. Implemented persistent LFO storage in RealtimeSynth that creates
shared LFO oscillators for 'free' mode, with per-voice modulation routing.
Retrigger and tempo modes still create per-voice LFOs as before.
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.

1 participant