Try it here!
Songbird is a music generator that applies basic rules of music theory to guide the user's experience in creating a short melody in the key of C. This application is built using vanilla JavaScript and HTML5, and styled with CSS3.
The keyboard displays simple note objects as boxes, that each play a unique sound file corresponding to its pitch when pressed. Pressed notes are then added to the timeline object.
The timeline is composed of a simple div, that is populated with boxes representing the User's selected notes from the keyboard. As notes are added, the user can play back the current song, undo notes one at a time, and clear the entire timeline.
As keys are selected, the timeline is populated with the corresponding notes. When each key is selected, the next appropriate keys according to the algorithm are calculated, and any other notes are deselected.
Notes on the timeline are highlighted in color during playback, along with their corresponding keys.


