Skip to content

matthaaa/songbird.com

Repository files navigation

Songbird

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.

Main Features

Keyboard

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.

#

Timeline

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.

#

Future Ideas

More Complete Algorithm

Black Keys & Support for Other Key Signatures

Automatic Song Generator

About

A JavaScript song-making app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published