Algorithm¶
- Goals
- Improvise Rhythm
- Improvise Harmony
- Combine into one improv
- Output
- Get output from computer to Robots
- Short-Term
- Understand previous code
- Set up code repository
- Markov Graph
- Currently can read in properly formatted text files
- Hard to make by hand, need a generator
- Can find cadences
- Finds quality of chords
- finds key signature
- generates markov models
- updates markov models
- Improvements
- Function that observes harmony(more robust)
- What is important harmonically?
- Non-harmonics
- Status Report 4/28/11
- Created a Markov Generation Algorithm in MATLAB
- Uses code at http://kenschutte.com/midi to read in MIDI files
- Finds probability of each 2 pitches sequence going to a pitch
- Randomly walks the song to generate a song's pitch sequence
- Rhythm is determined the same way
- Problems
- No correlation between pitch and rhythm
- Fails on a few MIDI songs
- Doesn't sound good
- Doesn't handle multiple MIDI in
- Future Improvements
- Take in multiple midis and "combine" them
- Figure out how rhythm works
- Align to 4 beat phrases
- Future Algorhythm Options
- Jazz combo constraint based generation
- Markov for general songs
- Separate a song into melody, harmony, bass, rhythm
- Some type of audience interactivity
- Input Files
- first line: (number of instruments) (number of chords)
- Subsequent lines: (midi pitch) (1,0 whether sustained)
Loading...