Difference between revisions of "Austin Rose Final Composition"

From vjmedia
(Markov Chain Preludes)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
Under Construction
 
<mediaplayer>TODO.mp4</mediaplayer>
 
  
[[Category:Interactive Systems]]
+
== Markov Chain Preludes ==
[[Category:Multimedia]]
+
 
[[Category:Gaming]]
+
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.
[[Category:Pedagogy, Theory, and Research Resources]]
+
 
 +
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:Music (popular, contemporary, non-classical)]]
 
 
[[Category:Algorithmic, Interactive, & Electro-acoustic Compositions]]
 
[[Category:Algorithmic, Interactive, & Electro-acoustic Compositions]]
[[Category:Sound Design]]
+
[[Category: Advisor:Manzo]]
[[Category:Scores and Arrangements]]
 
[[Category:Multimedia]]
 
  
[[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.

Markov demo.png The media player is loading...

Helpful sources: http://www.fourmilab.ch/webtools/midicsv/ http://www.bachcentral.com/midiindexcomplete.html