HarmTrace-Base-1.6.0.0: Parsing and unambiguously representing musical chords.

Copyright(c) 2012--2016 Chordify BV
LicenseLGPL-3
Maintainerhaskelldevelopers@chordify.net
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

HarmTrace.Base.Parse.ChordParser

Contents

Description

Summary: Some general parsing utilities used for parsing textual chord representations.

Synopsis

Parsing (elements of) chords

pChord :: Parser ChordLabel Source #

Parses a ChordLabel in Harte et al. syntax including possible additions, and removal of chord additions. If a chord has no Shorthand, the Degree list (if any) is analysed and depending on the Triad (if any) a Maj, Min,Aug, or Dim Shorthand is stored. By default all the duration stored in every Chord is 1 (where the unit is application depended, often these are beats, but they can also be eighth notes)

pShorthand :: Parser Shorthand Source #

Parses a shorthand following Harte et al. syntax, but also the Shorthands added to the Billboard dataset, e.g. maj, min, or 9.

pRoot :: Parser Root Source #

Parses a Root Note, e.g. A, Bb, or F#.

pAdditions :: Parser [Addition] Source #

Parses a list of Chord Additions within parenthesis

pAddition :: Parser Addition Source #

Parses the a Chord Addition (or the removal of a chord addition, prefixed by a *)

pKey :: Parser Key Source #

parses a musical key description, e.g. C:maj, or D:min