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

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
Eq Instrument # 
Instance details

Defined in Derive.Scale.BaliScales

Show Instrument # 
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
Eq Laras # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

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

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

Show Laras # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

showsPrec :: Int -> Laras -> ShowS #

show :: Laras -> String #

showList :: [Laras] -> ShowS #

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 # 
Instance details

Defined in Derive.Scale.BaliScales

Enum Tuning # 
Instance details

Defined in Derive.Scale.BaliScales

Eq Tuning # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

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

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

Ord Tuning # 
Instance details

Defined in Derive.Scale.BaliScales

Show Tuning # 
Instance details

Defined in Derive.Scale.BaliScales

Pretty Tuning # 
Instance details

Defined in Derive.Scale.BaliScales

ShowVal.ShowVal Tuning # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

show_val :: Tuning -> Text Source #

RestrictedEnviron.ToVal Tuning # 
Instance details

Defined in Derive.Scale.BaliScales

Typecheck.Typecheck Tuning # 
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.