Bach Note Transition Frequency "Music"
What are the note frequencies of music by Bach? That is, "How often does an F follow a C?" etc. What does it sound like if you "reconstruct" playable music from these frequencies?
Let's see!
First, we find some Bach MIDI. I chose to use Jesu Joy of Mans Desiring.
Next, we feed that to my note-transition program:
> perl note-transition /Users/gene/Downloads/bach_jesu_joy_with_piano.mid
This produces a file called "note-transition.dat" that is a collection of the MIDI note numbers and their proportional frequencies of one track. Here is part of Jesu:
67 => {
69 => 0.4,
71 => 0.6
},
69 => {
67 => 0.230769230769231,
69 => 0.153846153846154,
72 => 0.0769230769230769,
71 => 0.538461538461538
},
71 => {
69 => 0.476190476190476,
72 => 0.523809523809524
},
72 => {
71 => 0.444444444444444,
74 => 0.444444444444444,
72 => 0.111111111111111
},
74 => {
72 => 0.307692307692308,
74 => 0.230769230769231,
71 => 0.307692307692308,
76 => 0.153846153846154
},
76 => {
77 => 0.333333333333333,
76 => 0.333333333333333,
74 => 0.333333333333333
},
77 => {
74 => 1
}
This says, for instance, that MIDI pitch number 67 transitions to pitch 69 40% of the time, and pitch 71 60% of the time.
Next we feed that result file to my stat-walk program, asking for 128 notes:
> perl stat-walk note-transition.dat 128
This program is very simple. Each note gets a quarter note value and there are no dynamics like velocity changes. Anyway, the above command produces a MIDI file called "stat-walk.mid" which you can hear with a handy program like timidity:
> timidity stat-walk.mid
But I took the liberty of enhancing it a bit with my DAW and came up with this:
Update: I made copies of the programs that honor multiple tracks. The output is spartan - a simultaneous quarter note for each track of notes. YMMV: note-transition-sync and stat-walk-sync. Here is our Bach:
And here is a very different Beethoven Moonlight Sonata: