What Can Humdrum Do? Installation User Guide Tools News


Welcome to the homepage for the Humdrum Toolkit, a set of resources for computational music analysis. Here you will find instructions on downloading, installing, and using the Humdrum Toolkit as well as other resources.

Humdrum was originally created by David Huron in the 1980s, and it has been used steadily for decades. The Humdrum “universe” might be thought of as consisting of two main segments: the notational style (particularly the **kern representation) and the software for analyzing the notated material. This software exists in the original format (the Humdrum Toolkit), as well as the updated and extended versions (such as Craig Sapp’s Humdrum Extras, and VHV/humlib).

Because the Humdrum software consists of a set of command-line tools, it is program-language agnostic, meaning the tools can be incorporated however you choose. Many have employed Humdrum tools in larger scripts that use AWK, Bash, C++, LISP, PERL, Python, R, and Ruby, to name but a few.

Website resources

Humdrum Toolkit User Guide

A step-by-step introduction to the Humdrum Toolkit and related concepts, written by David Huron. Quick access to a specific chapter in the guide can be found by clicking on the “User guide” link at the top of any page of the website.

Tool documentation

A list of command-line humdrum tools that are available in the Humdrum Toolkit, Humdrum Extras and in Verovio Humdrum Viewer. Tools can be listed by source package or general function, such as melodic, harmonic and rhythmic tools.


A list of how-tos and tutorials for using Humdrum tools.

Reference records
A list of official metadata records for Humdrum data.
Instrument codes

A list of official instrument codes for **kern data.

Other resources


Star-star-HUG (Humdrum User Group) is a mailing list for announcements and general questions about Humdrum.

Verovio Humdrum Viewer

Verovio Humdrum Viewer (VHV) is an online Humdrum file editor with integrated graphical notation display created the Verovio toolkit. The documentation website for VHV contains an interactive tutorial for learning about representing music notation in the Humdrum **kern format. A subset of Humdrum tools can be used within the VHV text editor, primarily tools for data processing, although some advanced analysis tools such as dissonant are also available. VHV also allows for importing MusicXML data by drag-and-drop of MusicXML files into the editor.

Humdrum Notation Plugin

After editing scores in Verovio Humdrum Viewer, you can use the Humdrum Notation Plugin (HNP) to display graphical scores on your own webpages. Data can be either embedded in the webpage, or linked to other locations on the web such as Github. An example usage of HNP is this Bach chorale website.


KernScores is a database of Humdrum files, focusing on musical scores in the **kern format.

Github Humdrum Data

This Humdrum data repository on Github contains most of the complete datasets from kernScores, allowing for easy download of the data.


Humlib is a C++ parsing library for Humdrum files. This library is compiled into Javascript for use in VHV.


Humdrum-js is a Javascript parsing library for Humdrum files.


Music21 is a python environment for computational music analysis that can import Humdrum files.