Difference between revisions of "Austin Rose Final Composition"
(→Markov Chain Preludes) |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | |||
| − | |||
| − | + | == Markov Chain Preludes == | |
| − | [[ | + | |
| − | + | For my final project, I wrote some code to analyze MIDI data, build a Markov Chain model based on the list of notes, and then pseudorandomly compose a sequence based on that file. | |
| − | + | ||
| + | I used Bach's preludes because they are simple and melodic, which make them easier to manipulate and stitch together. Each prelude had a melody and a bass part which I could get separate MIDI files for. | ||
| + | |||
| + | The code I wrote is not specific to these songs, it works with any MIDI data. Depth of chain is configurable. The code is available on my GitHub: https://github.com/austintrose/markov-preludes | ||
| + | |||
| + | Demonstration patched together from preludes 2 and 3. | ||
| + | |||
| + | [[File:markov_demo.png]] | ||
| + | <mp3player>File:Markov_song.mp3</mp3player> | ||
| + | |||
[[Category:Development Toolkits]] | [[Category:Development Toolkits]] | ||
[[Category:Music (classical)]] | [[Category:Music (classical)]] | ||
| − | |||
[[Category:Algorithmic, Interactive, & Electro-acoustic Compositions]] | [[Category:Algorithmic, Interactive, & Electro-acoustic Compositions]] | ||
| − | [[Category: | + | [[Category: Advisor:Manzo]] |
| − | |||
| − | |||
| − | + | Helpful sources: | |
| + | http://www.fourmilab.ch/webtools/midicsv/ | ||
| + | http://www.bachcentral.com/midiindexcomplete.html | ||
Latest revision as of 03:22, 14 October 2015
Markov Chain Preludes
For my final project, I wrote some code to analyze MIDI data, build a Markov Chain model based on the list of notes, and then pseudorandomly compose a sequence based on that file.
I used Bach's preludes because they are simple and melodic, which make them easier to manipulate and stitch together. Each prelude had a melody and a bass part which I could get separate MIDI files for.
The code I wrote is not specific to these songs, it works with any MIDI data. Depth of chain is configurable. The code is available on my GitHub: https://github.com/austintrose/markov-preludes
Demonstration patched together from preludes 2 and 3.
The media player is loading...
Helpful sources: http://www.fourmilab.ch/webtools/midicsv/ http://www.bachcentral.com/midiindexcomplete.html