Karya, built on Mon Jul 24 11:39:07 PDT 2017 (patch 33511aca01257b76b88de7c7a2763b7a965c084e)

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

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.

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 # 

Methods

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

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

Show Laras # 

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

c_ombak :: Control Source #

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

laras_key :: BaseTypes.Key Source #

VSymbol: Select saih tuning.