Karya, built on 2018-05-31T02:46:59 (patch 0a1a35479c514820d77330ae8a978975ba22a47a)

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 :: BaseTypes.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 #


:: BaseTypes.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.