Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Derive.Scale.BaliScales

Description

Utilities for Balinese scales. Mostly that means dealing with umbang and isep.

They're implemented as a modification of ChromaticScales because a saih pitu or pelog scale requires a key or pathet, which winds up being similar to a simplified chromatic scale.

Synopsis

Documentation

make_scale :: Pitch.ScaleId -> ScaleMap -> Scale Source #

Top level scale constructor.

scale_map Source #

Arguments

:: Config 
-> TheoryFormat.Format 
-> Maybe (Pitch.Semi, Pitch.Semi)

If not given, use the complete range of the saih.

-> ScaleMap 

instrument_scale_map :: Config -> Instrument -> ScaleMap Source #

This is a specialized version of scale_map that uses base octave and low and high pitches to compute the range.

data Instrument Source #

Describe an instrument-relative scale.

Instances

Instances details
Show Instrument Source # 
Instance details

Defined in Derive.Scale.BaliScales

Eq Instrument Source # 
Instance details

Defined in Derive.Scale.BaliScales

Laras

data Laras Source #

Describe the frequencies in a saih. This doesn't say what the range is, since that's in the ScaleMap, and all saihs in one scale should have the same range.

Constructors

Laras 

Fields

Instances

Instances details
Show Laras Source # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

showsPrec :: Int -> Laras -> ShowS #

show :: Laras -> String #

showList :: [Laras] -> ShowS #

Eq Laras Source # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

(==) :: Laras -> Laras -> Bool #

(/=) :: Laras -> Laras -> Bool #

Format

balinese :: TheoryFormat.Degrees Source #

This can't use backtick symbols because then the combining octave characters don't combine.

type RelativeOctaves = (Char, Maybe Char, Char) Source #

(high, middle, low)

arrow_octaves :: RelativeOctaves Source #

Use ascii-art arrows for octaves.

balinese_octaves :: RelativeOctaves Source #

Use combining marks for octaves.

tuning

data Tuning Source #

Constructors

Umbang 
Isep 

Instances

Instances details
Bounded Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

Enum Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

Show Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

Eq Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

(==) :: Tuning -> Tuning -> Bool #

(/=) :: Tuning -> Tuning -> Bool #

Ord Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

REnv.ToVal Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

ShowVal.ShowVal Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

show_val :: Tuning -> Text Source #

Typecheck.Typecheck Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

Pretty Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

c_ombak :: ScoreT.Control Source #

If ombak is unset, use the hardcoded tunings. Otherwise, create new umbang and isep tunings based on the given number.

laras_key :: EnvKey.Key Source #

VStr: Select saih tuning.