The HarmTrace package

[Tags: gpl, library, program]

HarmTrace: Harmony Analysis and Retrieval of Music with Type-level Representations of Abstract Chords Entities

We present HarmTrace, a system for automatically analysing the harmony of music sequences. HarmTrace is described in the paper:


[Skip to ReadMe]

Properties

Versions0.1, 0.1.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 1.0, 2.0, 2.1, 2.2.0
Change logNone available
Dependenciesarray, base (>=4.2 && <4.7), binary (>=0.6.4), cmdargs (>=0.10.1), deepseq, Diff (==0.1.*), directory, filepath, ghc-prim (>=0.2), HarmTrace-Base (>=1.0.0.2), HCodecs (>=0.2.2), hmatrix (>=0.11.0.3), hmatrix-gsl-stats (>=0.1.2.9), instant-generics (>=0.3.6 && <0.4), ListLike (>=3.0.1), mtl, parallel (>=3), parseargs (>=0.1.3.2), process (>=1.0), sox (>=0.2.2.2), template-haskell (>=2.4 && <2.9), uu-parsinglib (==2.7.4.*), vector (>=0.7) [details]
LicenseGPL-3
Copyright(c) 2010--2013 Universiteit Utrecht, 2012--2013 University of Oxford
AuthorW. Bas de Haas and Jose Pedro Magalhaes
Maintainerbash@cs.uu.nl, jpm@cs.ox.ac.uk
Stabilityexperimental
CategoryMusic
Home pagehttp://www.cs.uu.nl/wiki/GenericProgramming/HarmTrace
Executablesharmtrace
UploadedWed Jan 23 09:57:55 UTC 2013 by JosePedroMagalhaes
Downloads2702 total (149 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for HarmTrace-2.2.0

HarmTrace (Harmony Analysis and Retrieval of Music with Type-level 
Representations of Abstract Chords Entities) is a system for automatic harmony 
analysis of music. It takes a sequence of chords as input and produces a harmony 
analysis, which can be visualised as a tree. 

Music theory has been essential in composing and performing music for centuries. 
Within Western tonal music, from the early Baroque on to modern-day jazz and pop 
music, the function of chords within a chord sequence can be explained by 
harmony theory. Although Western tonal harmony theory is a thoroughly studied 
area, formalising this theory is a hard problem. 

With HarmTrace we have developed a formalisation of the rules of tonal harmony 
as a Haskell (generalized) algebraic datatype. Given a sequence of chord labels, 
the harmonic function of a chord in its tonal context is automatically derived. 
For this, we use several advanced functional programming techniques, such as 
type-level computations, datatype-generic programming, and error-correcting 
parsers. Our functional model of harmony offers various benefits: it can be used 
to define harmonic similarity measures and facilitate music retrieval, or it can 
help musicologists in batch-analysing large corpora of digitised scores, for 
instance. 

More information about HarmTrace, including how to use and example output, is
available on its webpage: http://www.cs.uu.nl/wiki/GenericProgramming/HarmTrace