Karya, built on 2022-03-21T01:30:44 (patch 89d1651424c35e564138d93424a157ff87457245)
Safe HaskellSafe-Inferred



Carnatic style pitch ornaments.

The names don't correspond directly with anything traditional, as far as I know, but are inspired by http://www.gswift.com/article-2.html.

Pitch ornaments can be expressed either as pitch calls, or as control calls meant for a transpose track. They both have pros and cons:

Transposition control signal:

  • I can keep the pitches separate and clear and collapse the pitch track. This correctly reflects the underlying swaram, with the gamakam as separate ornamentation.
  • Related to the above, each call doesn't need to repeat the the pitch arg, so there's less redundancy. Calls are also simpler with one fewer argument.

Pitch signal:

  • A pitch call can use absolute (t-nn) or scalar (t-diatonic) transposition based on the type of its arguments, while the transpose signal has to either use a separate track, or the somewhat awkward -> call.
  • The pitch signal can represent an ornament involving multiple pitches, e.g. a slide frome one pitch to another. A transposition signal can only represent offsets from an external pitch.

So the pitch signal is more powerful, but the transposition signal is often more convenient, and can lead to less redundant notation. Unless I can think of a way to get the advantages of both, I might have to have both around, with their own versions of the same calls.



standard parameters

pitch calls

trill_from_transitions :: Typecheck.Function -> Typecheck.Function -> [RealTime.RealTime] -> [(RealTime.RealTime, Signal.Y)] Source #

Make a trill signal from a list of transition times.

c_dip :: Generator Pitch Source #

Ok, this name is terrible but what else is better?

control calls

c_dip_c :: Generator Control Source #

Ok, this name is terrible but what else is better?