Table of Contents
Fetching ...

Musical Chords: A Novel Java Algorithm and App Utility to Enumerate Chord-Progressions Adhering to Music Theory Guidelines

Aditya Lakshminarasimhan

TL;DR

This work tackles the lack of exhaustive chord progression data and the limitations of preselected pools by presenting a Java-based algorithm that exhaustively enumerates all valid 4-chord ($L=4$) and 8-chord ($L=8$) progressions under music-theory constraints, coupled with a mobile app to realize progressions and generate three alternate variations. The methodology combines chord theory, scale mapping (Ionian major and Aeolian minor), and rule-based transitions to generate $3{,}297$ total $4$-chord progressions and $405{,}216$ total $8$-chord progressions (with $1{,}533/1{,}764$ Major/Minor for 4-chords and $182{,}094/223{,}122$ Major/Minor for 8-chords), then converts these numerically represented progressions into scale-specific realizations across $21$ Major and $21$ Minor scales. An alternate-variations mechanism applies scale-degree shifts to the base progression, enabling three additional variations per progression, which enhances customization for composition and provides richer data for downstream AI mood and genre analyses. The dataset and tool enable musicians to explore a vastly larger, theory-consistent space of progressions and support machine learning models trained on diverse harmonic sequences, though the mobile UI currently emphasizes 4-chord progressions due to interface constraints; future work includes MIDI sharing, playback loops, chord inversions, and broader AI-driven mood classifications.

Abstract

A song's backbone is its chord progressions, a series of chords that improve the harmony and add to the overall composition. For individuals ranging from beginners to creative artists, comprehending and implementing music theory grammar for their own compositions can stifle the music creation process and cause song-writer's block. The existing Chord Progression approaches in the marketplace are limited on producing only pre-selected progressions and often fail to conform to music theory guidelines or provide APIs for other musicians to build on. Because four-chord and eight-chord progressions are yet to be enumerated, Machine learning use-cases that train on chord progressions are limited, and mobile applications don't provide users with unique or unexplored progressions. To address these limitations, a novel Java Algorithm and automated music theory chord progression and variations generator App has been developed. This App offers a piano user interface, that applies music theory to generate all possible four-chord and eight-chord progressions and produces three alternate variations of the generated progressions selected by the user. The Algorithm elucidates 3,297 Total 4-Chord Progressions and 405,216 Total 8-Chord Progressions. Within the 4-Chord Progression pool, there are 1,533 Major 4-chord Progressions and 1,764 Minor 4-Chord Progressions. Within the 8-chord Progression pool, there are 182,094 Major Progressions and 223,122 Minor Progressions. This innovative approach provides musicians with a comprehensive and customizable tool for their music creation, allowing them to develop their signature sounds.

Musical Chords: A Novel Java Algorithm and App Utility to Enumerate Chord-Progressions Adhering to Music Theory Guidelines

TL;DR

This work tackles the lack of exhaustive chord progression data and the limitations of preselected pools by presenting a Java-based algorithm that exhaustively enumerates all valid 4-chord () and 8-chord () progressions under music-theory constraints, coupled with a mobile app to realize progressions and generate three alternate variations. The methodology combines chord theory, scale mapping (Ionian major and Aeolian minor), and rule-based transitions to generate total -chord progressions and total -chord progressions (with Major/Minor for 4-chords and Major/Minor for 8-chords), then converts these numerically represented progressions into scale-specific realizations across Major and Minor scales. An alternate-variations mechanism applies scale-degree shifts to the base progression, enabling three additional variations per progression, which enhances customization for composition and provides richer data for downstream AI mood and genre analyses. The dataset and tool enable musicians to explore a vastly larger, theory-consistent space of progressions and support machine learning models trained on diverse harmonic sequences, though the mobile UI currently emphasizes 4-chord progressions due to interface constraints; future work includes MIDI sharing, playback loops, chord inversions, and broader AI-driven mood classifications.

Abstract

A song's backbone is its chord progressions, a series of chords that improve the harmony and add to the overall composition. For individuals ranging from beginners to creative artists, comprehending and implementing music theory grammar for their own compositions can stifle the music creation process and cause song-writer's block. The existing Chord Progression approaches in the marketplace are limited on producing only pre-selected progressions and often fail to conform to music theory guidelines or provide APIs for other musicians to build on. Because four-chord and eight-chord progressions are yet to be enumerated, Machine learning use-cases that train on chord progressions are limited, and mobile applications don't provide users with unique or unexplored progressions. To address these limitations, a novel Java Algorithm and automated music theory chord progression and variations generator App has been developed. This App offers a piano user interface, that applies music theory to generate all possible four-chord and eight-chord progressions and produces three alternate variations of the generated progressions selected by the user. The Algorithm elucidates 3,297 Total 4-Chord Progressions and 405,216 Total 8-Chord Progressions. Within the 4-Chord Progression pool, there are 1,533 Major 4-chord Progressions and 1,764 Minor 4-Chord Progressions. Within the 8-chord Progression pool, there are 182,094 Major Progressions and 223,122 Minor Progressions. This innovative approach provides musicians with a comprehensive and customizable tool for their music creation, allowing them to develop their signature sounds.
Paper Structure (18 sections, 6 equations, 5 figures, 1 table, 2 algorithms)

This paper contains 18 sections, 6 equations, 5 figures, 1 table, 2 algorithms.

Figures (5)

  • Figure 1: Major and Minor Chord Theory Charts. These charts were recreated using new visuals. These charts describe chord progression pattens and are applicable to both four-chord progressions and eight-chord progressions. The top diagram is applicable to the production of major-progression sequences and the bottom diagram is applicable to the production of minor-progression sequences. Each of the above Roman Numerals represents a numerical scale degree with a corresponding chord that can be applied depending on the user-selected scale. The constructed charts refer to b26 but also take design inspiration from b27.
  • Figure 2: Process Diagram of Java Algorithm translating Numerical Progressions into Scale Progressions that are display-ready for users. Examples of C...Bb Major are provided, but this method is used for all 21 Major and Minor Scales.
  • Figure 3: Process diagram for iOS Mobile App Design. Enumerated chord progressions from the Java Utility are used as inputs for the Mobile Application.
  • Figure 4: Four displays of the iOS Mobile app that show functionality. The screenshots were each taken with an iPhone 11 Simulation from XCode.
  • Figure 5: Novel iOS Mobile App Sequence Diagram. This sequence diagram is a detailed depiction of the functions and call hierarchy that programs the Mobile App and User Interface.