Automated Musicians

🎶 Introduction

The course at UNB's Faculty of Engineering requires final-year students to undertake a comprehensive design project, applying their acquired knowledge and skills to develop a device or process meeting a client's specific needs, with the endeavor encompassing a detailed proposal, engineering drawings, calculations, and economic evaluation, potentially alongside a working prototype's construction.

In our senior year engineering capstone ( Owen Lee [Product Owner], Edward Chang [Developer], Thomas Campbell [Developer] ), our project delved into automated music generation via programmed music theory and pattern recognition, segmented into Musical Algorithms, Pattern Recognition and Extraction, and Music Composition Generator, aiming to autonomously create musically coherent compositions, with each segment laying the groundwork for the subsequent one.

🤖 Automated Music Creation

Music Algorithms

In this initial phase, a deep-dive research was conducted to unravel the algorithmic essence inherent in music theory. Various code models mirroring this algorithmic nature were studied and utilized as a benchmark for both, analyzing extant 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 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. By employing the '.ABC' format, we were able to input hundreds of compositions into our system, which aided in identifying recurring patterns. This data served as a fundamental resource for grasping common musical structures.

Music Composition Generator

The final stage of our project saw 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.

🏁 Conclusion

We were able to generate unique music, which notably caught the attention of a CBC 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, blending nostalgia with newfound expertise, and opened avenues for future explorations in this captivating domain.