A Python based accompaniment track generator, using existing music files as a rhythmic basis to chords generated by recorded solo audio.
A final project for ECE 477 - Computer Audition at University of Rochester
The intended use of this program is to enter a duration of recording and if the desired output is major or minor, and then sing/play when indicated. The program will, in its early stages, return a .mid file that corresponds to an accompaniment of the song.
Use the HMM based chord prediction from such applications like MySong, but add the ability to include a rhythm based on an existing song's onset strength to give the accompaniment a "feel" similar to that of the training song.
This program relies on parsing the RS200 dataset, an annotation set of a random selection of songs from Rolling Stone's 500 Greatest Songs of All Time. This dataset is used for generating chord-note alignment sequences that are used for training an HMM that uses notes as observations, and chords as states.
- numpy
- librosa
- fluidsynth
- pretty-midi
- scikit-learn