Inspiration

Generally, configurable synth patches. But also the Korg-DS10 game which was a synthesizer and sequencer for the Nintendo DS

As I started using web audio API for my other project, I realized it touches on one of my other passions, music! And the hero of electronic music is the synthesizer, which countless artists have tuned in all different ways to create unique sounds. Previously if I wanted to do this I had to buy expensive equipment or download specialized software. But I thought this was a good opportunity to make it in the browser, and allow a Reddit community to get creative with it.

What it does

It allows users to load, save, and remix/build upon songs. Songs are made of sequences of loops, which are sequences of notes, across different tracks

How we built it

Iterated hard generally vibe coding at the start because I didn't even imagine it was possible. A lot of annoying my family with beep boop sounds from my computer.

Challenges we ran into

Mobile browsers have much more limited resources and drop even more when they do power saving. This is still a challenge but we were able to get a baseline polyphony working (4-5 tracks) without too much glitching.

Accomplishments that we're proud of

There is an import and export function where a textual representation of the song, loops, and synth instrument configuration can be taken out, run through your favorite AI, and then put back in as a new song. This allowed some extreme testing of the engine without me having to spend hours composing music and fiddling with loops (however fun that is)

What we learned

There is a fully featured audio capability built into all browsers now. Also, Phaser is good at some things but for some interactions you can't beat the DOM.

What's next for Synthercizer

I am working on the first "challenge" type post, where users will be invited to add to a baseline song and remix its music and choreography. There is still some polish to do as well, and also more finely hone the mobile experience (and gracefully exclude mobile users from whatever just won't be possible on mobile). May have to at some point use blob storage and generate a sound file so that weaker machines can still play the song without needing to run the synthesizers.

Built With

Share this project:

Updates

Submission history