Tidal icon indicating copy to clipboard operation
Tidal copied to clipboard

Add missing SuperDirt parameters

Open yaxu opened this issue 5 years ago • 8 comments

fadeTime is missing https://github.com/tidalcycles/Tidal/issues/618

While we're about it, lets check to see if others are missing

yaxu avatar Apr 08 '20 08:04 yaxu

here is a list for you, not complete, but there may some be missing. Feel free to tick!

here is the file to check: https://github.com/tidalcycles/Tidal/blob/main/src/Sound/Tidal/Params.hs

  • [x] cps = 1.0

  • [ ] offset = 0.0

  • [x] begin = 0.0

  • [x] end = 1.0

  • [x] speed = 1.0

  • [x] accelerate

  • [x] pan = 0.5

  • [x] gain = 1.0

  • [x] overgain = 0.0

  • [x] cut = 0.0

  • [x] unit = \r

  • [x] n = \none // sample number or note

  • [x] octave = 5

  • [x] note

  • [x] midinote = #{ note ? n + ( octave * 12) }

  • [x] freq = #{ midinote.value.midicps }

  • [x] delta = 1.0

  • [ ] latency = 0.0

  • [ ] lag = 0.0

  • [x] offset

  • [ ] length = 1.0

  • [x] loop = 1.0

  • [x] dry = 0.0

  • [x] lock = 0 // if set to 1, syncs delay times with cps

  • [x] amp = 0.4

  • [x] fadeTime = 0.001

  • [x] fadeInTime

  • [x] channel

  • [x] delaytime

  • [x] delayfeedback

  • [ ] delaySend

  • [ ] delayAmp

  • [x] lock

  • [x] size

  • [x] room

  • [x] dry

  • [x] leslie

  • [x] lrate

  • [x] lsize

  • [ ] rmsReplyRate

  • [ ] rmsPeakLag

  • [ ] plat

  • [ ] tilt

  • [ ] curve

  • [ ] through

  • [ ] psratio

  • [x] to

telephon avatar May 14 '20 14:05 telephon

  • delta isn't there but is calculated and sent automatically, so I ticked
  • latency isn't there - what does it do? There is already a nudge that I think isn't sent but tidal adds to the timestamp. Would latency just do the same but on the superdirt side? Then maybe we don't need both
  • offset again seems a bit like a synonym for latency and nudge. It is in params anyway but I'm not sure what it does
  • lag is there but is an alias for lagogo. I have no idea what a lagogo is, maybe left over from tidal-midi. I can remove that alias anyway. But again, what does lag do?
  • The delay family - would be convenient to have a group alias with a param for each
  • Same for the leslie family

The unticked ones need adding. I don't know what most of them do though

yaxu avatar Dec 12 '20 13:12 yaxu

You can delay by either lag (absolute, in seconds) or offset (relative to cps). I don't know off my head what nudge results in – there is none on the dirt side.

It would be good to have name families, yes. Like # leslie_rate instead of lrate? There could be still shortcuts on the tidal side, but it would be good to make the superdirt side more verbose and less crowded.

The convention could be <synthname><delimiter><parametername>. Maybe as delimiter using _

This will be a breaking change to those who use superdirt directly, but better soon than ending up in a mess.

telephon avatar Dec 12 '20 14:12 telephon

I noticed we don't have a standard for case, e.g. delaySend vs delayfeedback. Perhaps we could make it case insensitive?

yaxu avatar Apr 21 '21 18:04 yaxu

Doing this in supercollider costs electricity for all the rest, could it be done in tidal?

telephon avatar Apr 21 '21 19:04 telephon

Yes potentially, but then there are people using superdirt directly. Maybe best to standardise in superdirt, deprecating the old versions for a while. This relates to your thought about leslie_rate vs lrate.. Which is more usual for supercollider, leslierate, leslie_rate or leslieRate? I guess overgain is in a different category, because over isn't an effect that gain is a parameter of, so could stay lowercase (although gainOver might make sense then, but doesn't feel right..).

yaxu avatar Apr 21 '21 19:04 yaxu

Maybe best to standardise in superdirt, deprecating the old versions for a while.

yes, that is good.

This relates to your thought about leslie_rate vs lrate.. Which is more usual for supercollider, leslierate, leslie_rate or leslieRate?

Camelcase, leslieRate would be most idiomatic, both in SuperCollider and HasKell, right?

telephon avatar Apr 22 '21 06:04 telephon

Only if we'd decided to add the synth name before it for keeping the namespace in order, we could use underscore. Like lfo_maxFreq or similar …

telephon avatar Apr 22 '21 06:04 telephon