diff --git a/packages/superdough/helpers.mjs b/packages/superdough/helpers.mjs index 3b704caea..b13f40498 100644 --- a/packages/superdough/helpers.mjs +++ b/packages/superdough/helpers.mjs @@ -132,10 +132,11 @@ export function getLfo(audioContext, begin, end, properties = {}) { } export function getCustomLfo(audioContext, properties = {}) { - // Extract some params we need for deriving other params + // Default / process certain params const { shape = 0, ...props } = properties; const lfoprops = { shape: getModulationShapeInput(shape), + dcoffset: -0.5, ...props, }; return getWorklet(audioContext, 'lfo-processor', lfoprops); diff --git a/packages/superdough/superdough.mjs b/packages/superdough/superdough.mjs index 04e383c4d..ba84d6910 100644 --- a/packages/superdough/superdough.mjs +++ b/packages/superdough/superdough.mjs @@ -451,7 +451,7 @@ function connectLFO(idx, params, nodeTracker) { const depthValue = depthabs != null ? depthabs : depth * currentValue; const modParams = { ...filteredParams, - frequency: sync !== undefined ? sync / cps : rate, + frequency: sync !== undefined ? sync * cps : rate, time: cycle / cps, depth: depthValue, min,