An illustrative tool for music harmony analysis

Welcome to the playground interface for the Harmony DB! I intend to make it a tool to help study and research the music theory, understand harmony movements by exploring the database, and find out how chord progressions can evolve.

There is a library of thousands of songs and their chords, development is ongoing. Currently, the Harmony DB contains information about the chord progressions used in the songs, and I try to do harmony analysis here. This project allows to explore the database and run queries on the Harmony DB index.

The future vision of the Harmony DB is to be able to handle requests of any complexity, corresponding to any kind of information you want to ask the database.

The Harmony DB is an open source project, hosted on Azure, and has a free and open API. Please contact me if you'd like to use it, or if you have any ideas about queries you'd like to run or needs you might have.

Available Queries

Here are the types of requests that are currently implemented:

✓ Search songs by chords sequence →

Allows you to find examples of songs that contain a given chord sequence. The results are sorted by coverage or by song rating.

✓ Search songs by title →

Allows you to find songs by partial words in title or artists.

✓ See the most popular chord progressions →

All songs have been analyzed and the chord progression loops (repetitive subsequences) have been extracted. This query shows all progressions, starting with the most popular.

For loops, statistics on how often a cycle continuously follows itself or how often it is followed by a different cycle is also calculated.

✓ Tonalities analysis →

View the analysis of song tonalities and chord progressions, including scores, probabilities, and weights. This area is usable for model refinement and adjustment. It also aids in understanding tonality detection and allows for exploration through detailed filters.

More queries and visuals coming

Here are some ideas and future development plans. Please drop me a line if you have items you would like to see added to this list.

Do you have other ideas? I'd love to hear about them. Please post them in the GitHub discussions or contact me using one of the methods below.

Releases Notes

Release 2, 2024-07-17

Release 1, 2024-06-26

Contacts

Author: Pavel Zhur
E-mail: completely.real@gmail.com
Telegram: @pavel_zhur
GitHub: https://github.com/pavel-zhur/HarmonyDB