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

Copyright(c) 2012--2014 W. Bas de Haas and Jose Pedro Magalhaes, Multiphonyx Holding BV
LicenseLGPL-3
Maintainerbas@chordify.net, dreixel@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