>_~/projects/automated-musicians
Engineering capstone / 2021-2022
Capstone / music systems / pattern analysis

Automated Musicians

This project, conducted during our senior year engineering capstone, aimed to explore automated music generation through programmed music theory and pattern recognition. Divided into three key segments: Musical Algorithms, Pattern Recognition and Extraction, and Music Composition Generator, we sought to develop a system capable of autonomously crafting musically coherent compositions, with each segment building the foundation for the next.

>> _
All_ProjectsYouTube_DemoGitHub_RepoCBC_Feature
composition_signal
Operational Intent
+

Music theory rules were encoded first so later pattern extraction had a structured base to operate on.

+

Pattern recognition stages focused on identifying recurring note relationships that could be reused compositionally.

+

The generation pipeline explored how algorithmic structure could produce coherent musical output instead of random sequences.

Music Algorithms

In this initial phase, a deep-dive research was conducted to understand the algorithmic essence in music theory. Various code models mirroring this algorithmic nature were studied, analyzing music and setting the groundwork for the creation of new melodies, such as Chords and Triads, Cadences, Musical Scales, Rythm and Time Signatures.

Pattern Recognition

Moving on to the next section, we chose sheet music instead of sound files, in line with our main emphasis on music theory. We encoded the sheet music into '.ABC' format, and fed hundreds of compositions into our system, which aided in identifying recurring patterns. This data served as a fundamental resource for grasping common musical structures.

Composition Generator

The final stage of our project was the merging of the identified musical patterns. Utilizing our earlier developed musical algorithm models, we aimed to replicate the complex process of music composition. The integration of these patterns through our algorithms led to the creation of new, coherent songs, thus fulfilling our objective of automated music generation.

Project Context

This project was conducted during senior-year engineering capstone work and focused on automated music generation through programmed music theory, pattern recognition, and composition automation.

The system was structured in stages so that music-theory modeling supported pattern extraction, and the extracted structures then fed the composition generator.

Metadata
Duration:
2021, September - 2022, April
Domain:
Music AI
Delivery:
Capstone Project
Coverage:
Theory / Extraction / Generation
Music Algorithms

In this initial phase, a deep-dive research was conducted to understand the algorithmic essence in music theory. Various code models mirroring this algorithmic nature were studied, analyzing music and setting the groundwork for the creation of new melodies, such as Chords and Triads, Cadences, Musical Scales, Rythm and Time Signatures.

Music Algorithms - Chords
half steps (semitones) [H] and whole steps (tones) [W] in music notation.
Music Algorithms - Ionian Scale
Ionian Scale - also known as the major scale, showing its pattern of W and H steps.
Music Algorithms - Aeolian Scale
Aeolian Scale - also known as the natural minor scale, showing its pattern of W and H steps.
Pattern Recognition And Extraction

Moving on to the next section, we chose sheet music instead of sound files, in line with our main emphasis on music theory. We encoded the sheet music into '.ABC' format, and fed hundreds of compositions into our system, which aided in identifying recurring patterns. This data served as a fundamental resource for grasping common musical structures.

Pattern Recognition and Extraction - Sheet Music
The original sheet music that is uploaded to our system to be encoded into ABC format.
Pattern Recognition and Extraction - ABC Format
ABC format of the sheet music, used by the system for pattern recognition.
Composition Generator

The final stage of our project was the merging of the identified musical patterns. Utilizing our earlier developed musical algorithm models, we aimed to replicate the complex process of music composition. The integration of these patterns through our algorithms led to the creation of new, coherent songs, thus fulfilling our objective of automated music generation.

Music Composition Generator - Extrapolation Algorithm Pseudocode
Pseudocode of the extrapolation algorithm used for merging patterns.
Conclusion

We were able to generate unique music, which notably caught the attention of a CBC News reporter during our presentation day at the 2022 UNB Engineering Symposium. The event, which was a significant platform to showcase our project, turned more exhilarating as the reporter, amidst the attendees, took a keen interest in our work. The positive feedback we received from everyone present not only bolstered our confidence but also highlighted the impact and the potential our project holds in the intriguing intersection of music and technology.

Final Thoughts

The project marked a fresh and challenging venture into the intersection of music and technology, reigniting my early acquaintance with music theory while significantly testing our programming skills and knowledge acquired from courses. It propelled us into a continuous learning journey, and opened new potential future explorations in this domain.