This Flask project is for reharmonizing a small section of a song when given the chord progression and the main melody.
https://re-harmonizer.herokuapp.com/
-
- To get the melody from the user, VexFlow.js is used to dynamically render empty stave svgs. These svgs are overlayed with a matrix of horizontal rectanglular svgs to define the pitch regions and vertical rectangles to define the beat regions. These rectangles are then assigned mousemove event listeners to track cursor movement and project indicator notes.
- To get the chords from the user, Scribbletune.js is used to get all the possible chords and Tonal.js is used to parse the Chord name into an array of notes.
-
- Melody and chords are played using Tone.js with the synth and the polysynth instrument
-
- Planning on using Tonal.js to manipulate the inputted chord progression
-
- Undo Button For Notes
- Render Drawn Chords
- Undo Button For Chords
-
- Bpm Functionality
- Volume Control
- Pause Button For Chords
- Music Playback
-
- Retrieve Drawn Chord Progression and Melody