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

Safe HaskellNone

Derive.Scale.BaliScales

Contents

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 

data Config Source #

Constructors

Config 

Fields

Instances
Show Config # 
Instance details

Defined in Derive.Scale.BaliScales

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

Instances
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 

c_ombak :: Score.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.