HarmTrace-2.2.0: Harmony Analysis and Retrieval of Music

Portabilitynon-portable
Stabilityexperimental
Maintainerbash@cs.uu.nl, jpm@cs.ox.ac.uk
Safe HaskellNone

HarmTrace.Audio.Annotate

Description

Summary: Combining low-level features (VAMP plug-ins) with high-level knowledge (the HarmTrace harmony model)

Synopsis

Documentation

mptreeAnnotator :: GrammarEx -> Maybe [TimedData Key] -> AudioFeat -> ChordAnnotationSource

MPTrEE (Model Propelled Transcription of Euphonic Enitities): a sophisticated, harmony and beat informed chord annotator

groupAnnotator :: GrammarEx -> Maybe [TimedData Key] -> AudioFeat -> ChordAnnotationSource

Creates an annotation out of a Chord candidate list by just picking the first chord. This annotator does smart grouping (see mergeByBeat).

simpleAnnotator :: GrammarEx -> Maybe [TimedData Key] -> AudioFeat -> ChordAnnotationSource

The most simple annotator, no grouping, no matching, just pick the best matching chord

putSegStats :: Maybe [TimedData Key] -> AudioFeat -> IO ()Source

prints Segmetation statistics

preProcessData :: Maybe [TimedData Key] -> AudioFeat -> [ProbChordSeg]Source

preprocesses the raw audio data before using chord harmony model based chord selection. First, the beats and chroma are synchronised. Second, chord candidate lists are created. Third, smart, beat informed grouping of the chord candidates is performed. Fourth, the chord candidate lists are grouped in segments based on the key (obtained as provided by the user or as derived from the audio data). Last, the chord candidate lists are further segmented based on the occurrences of I and V chords.