Shaper curves: a tube curve for the Leslie's drive, as a follow-up #149
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bcox/tymbal#149
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The Leslie layer (branch
leslie, designdocs/superpowers/specs/2026-10-05-leslie-layer-design.md) is planned with a drive stage on its mono input, ahead of the crossover, so the amplifier's harmonics are split by band and take each rotor's Doppler and tremolo. That stage is planned ondsp/shaper.h's existing soft clip. This ticket is the follow-up: a tube curve, and with it the question of which other curves the shaper should carry.What is wanted
shapeselector on the Leslie's drive once there is more than one curve worth choosing.Why it was not done in the Leslie branch
ShaperShapelives indsp/shaper.h, which the VA layer, the VA filter, the ladder and the FM pair all include. The VA layer is what the board's RTL is cosimulated against, and the Leslie branch keepsdsp/va_*.hread-only for that reason. A new curve is an appended enum value with its ownMinimumRatio, and it reaches every engine that offers a shape picker, so it wants its own branch and its own look at what the RTL benches assume.What the tree has, read at
de07f37e, nothing trieddsp/shaper.h: three curves (kSoftClip,kHardClip,kFold), a drive from unity to sixteen, an asymmetry and a dry/wet fold. Memoryless on purpose; its header says why.MinimumRatio; the soft clip's is 2, the others' 4. A tube curve's ratio has to be decided and measured, not assumed.Open questions
ShaperShape, appended, or a curve local to the Leslie? Appended serves every engine and touches the shared header; local keeps the VA layer's surface still.dsp/shaper.his memoryless by design, anddsp/va_sag.his the tree's existing sag follower. Out of scope here unless the curve alone does not sound like one.2026-10-05, later the same day: bcox asked for the shaper's existing asymmetry (its
bias) to be exposed on the Leslie's drive in thelesliebranch, as a second field besidedrive, with no change todsp/shaper.h. The design (docs/superpowers/specs/2026-10-05-leslie-layer-design.md, commit72fbf894) has it. So the first thing under "What the tree has" above -- whether an asymmetric soft clip is close enough -- can be answered by ear once that branch lands, and this ticket's priority waits on that answer. Nothing has been heard or measured yet.2026-10-06: bcox has listened to the Leslie's drive with the asymmetry exposed and says it sounds pretty good for now, and that the tube curve can wait. Deferred on that basis; the
lesliebranch's ledger records it.To be clear: I do still want tubelike curves; they're just lower priority.
And yes, it should be a new shaper shape.
Bias shift and sag under sustained drive can be done via the mod matrix with a sag source, but shapers with memory is already another ticket, I think.
The current sound is a little crisper and sharper than the tube sound. It gets me closer to the Renegade sound but not all the way there. Needs to be a little rounder and grindier. (he might have a phaser on there too, i'll have to try to listen to the isolated track)