Trap beats are all pretty similar. Could a robot make one? At least, that's what I was thinking after three other ideas had fallen through this hackathon. This project was mainly created to have fun towards the end of the hackathon but didn't turn out too bad!
What it does
Lil Syntha uses procedural generation to create great sounding future synth trap beats. Lil Syntha rocks percussion samples (not included), all kinds of synths, melodic lines, chords, and of course, some phat-sounding 808s.
How I built it
Lil Syntha was made using Sonic Pi, a "code-based music creation and performance tool". Sonic Pi provides Lil Syntha's synthesizer sound as well as support for samples. Sonic Pi's coding language is near identical to official implementations of Ruby, so it provided enough functionality to generate music from scratch.
I used my knowledge of trap music to create a process that resulted in trap-like beats. I also used my music theory knowledge to help me automate melodic lines and make better-sounding choices.
Challenges I ran into
Lil Syntha was created under intense time constraints. The majority of the program was written in under six hours due to complications with other projects. However, I did not feel the pressure of creating something in such a short amount of time because I chose a project that I would have fun with.
Another challenge I faced was creating melodic lines that didn't sound disjoint and out of place. Initially, I just picked randomly from the notes in the scale of the chords. However, I soon realized that so much jumping sounded less than good. To remedy this, I limited the travel of notes to two letter names.
Accomplishments that I'm proud of
I'm proud of having created a working project in the limited amount of time that I had. I am also proud of the result — the music doesn't sound half-bad.
What I learned
I learned that in order to get through a project, it makes it a lot easier when it is something I want to do. This project also taught me a new tool (Sonic Pi), and a new programming language (Ruby).
What's next for Lil Syntha
I think there's still room for Lil Syntha to grow in the chord progression and bassline departments. I also think a future version of Lil Syntha could be independent from Sonic Pi, and able to render sound files on it's own.