Karya, built on 2020-11-26T21:03:17 (patch 23b5be2d53a9e8e7d6136cda5aae2849abe5cded)
Safe HaskellNone



Create val calls for scale degrees. These are the calls that a scale brings into scope, so they should be referenced from scale_note_to_call implementations.


equal tempered

scale_degree :: DeriveT.Scale -> Scale.PitchNn -> Scale.PitchNote -> ValCall Source #

Create a pitch val call for the given scale degree. This is intended to be used by scales to generate their calls, but of course each scale may define calls in its own way.

pitch_expr :: Double -> Pitch.Note -> Pitch.Note Source #

Convert a note and frac arg into a tracklang expression representing that note.


type NamedIntervals = Map Text Rational Source #

Map from named intervals to the interval's ratio.

scale_degree_just Source #


:: DeriveT.Scale 
-> NamedIntervals 
-> Pitch.Hz

add an arbitrary extra interval to the output

-> Scale.PitchNn 
-> Scale.PitchNote 
-> ValCall 

A fancier version of scale_degree that takes interval arguments.