Lemo wrote:I wonder if I can find a tool like that, to create a picture from a midi.
That would make nice artwork to print, or be used as cover art for a midi player.
Or how about a program that assigns an icon to each midi file in your OS explorer, showing directly its content in a visual way.
If the icons can be also a little bigger, e.g. 150 x 150 pixels, then this would look interesting. If not, even just having additional images in the same directory as the .mid might be a good solution. For example for song.mid you would generate also song.jpg which contains some form of visualization of the whole composition. Especially when sorted later with
ImageSorterV4 and you would have nice similarity based sorting of all your midi files.
I experimented also in various ways in the past about global midi file image representation. What I am waiting mainly is the new paper of Craig Stuart Sapp, which should hopefully extend mkeyscape.exe with algorithmic midi file segmenation based on key analysis and putting at the segment borders a midi marker into the midi file. Those are already greatly recognized by Synthesia, as we all know.
What information I use so far is:
- Rhythm information, drawn on which I call "1 Bar Circle" or "1 Beat Circle"
- Key information, generated using mkeyscape.exe of Craig Stuart Sapp
- Note density per 2 beats information
- Simple piano roll view
Based on various combinations of information we can add additional midi markers into the midi file.
Here are some example visualizations:
- Old MacDonald.mid.jpg (91.18 KiB) Viewed 8803 times
- Ode to Joy.mid.jpg (86.25 KiB) Viewed 8803 times
- Dragon Warrior - Town Theme.mid.jpg (86.01 KiB) Viewed 8803 times
If you look carefully, file names were shifted in some cases, so the file names and the images might not be correct in these examples, I made those images almost one year ago. Here we see the rhythm as 1 Bar Circle I think, now I prefer instead the 1 Beat Circle, to get a higher resolution and you can see easily jumpstyle or triplet melodies immediately, e.g. for similarity analysis via ImageSorter above.
What would be interesting, what I did not do yet, splitting a midi file first into four basic components:
1. Drums
2. Bass
3. Harmonies/Chords
4. Melodies
then for each of those creating those images, then combining those four images
somehow into a bigger image. Then you could even make comparisons like, ok those two songs have similar basslines and rhythm but not harmonies and melody, or something.
Apart from this I like MusicGraph (static OpenGL of midi) from Paul Nelson and MAMPlayer (moving OpenGL of midi, like Synthesia) from Stephen Malinowski. I hope Synthesia can combine MAMPlayer visualizations one day into Synthesia, as a background or "topground" maybe?