Representing harmony in computational music cognition


Cognitive theories of harmony require unambiguous formal models of how listeners internally represent chords and chord progressions. Various model representations have been used in previous research, but it is not always clear what cognitive assumptions are implied by these different representations, and how these representations might be converted to one another. The present research systematically addresses these issues. First, we compile a network of 13 low-level harmonic representations relevant for music cognition, organised into three categories: symbolic, acoustic, and sensory. Second, we define integer encodings for four of these representations, which provide bijective mappings between set-based chord representations (e.g. ‘(0, {3, 6})’) and integer-based representations (e.g. ‘289’). Third, we introduce a new open-source R package, hrep (, which implements these different representations in an easy-to-use object-oriented framework. We also discuss computational methods for deriving higher-level representations from these low-level representations. This work should provide a useful platform for future research into harmony cognition.