Log In  


Cart #28686 | 2016-09-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
48

I recently made a program that can translate (some) MIDIs to PICO-8 tracker format and I thought I'd also make a fun visualizer to show it off :)

The music you see (and hear) above is J.S. Bach's Sinfonia 15 in B minor (BWV 801). It was translated from a MIDI file (that I found on the internet somewhere) into PICO-8 tracker format by the aforementioned tool:

https://github.com/andmatand/midi-to-pico8

This visualizer takes a simple approach of displaying whatever notes it sees are currently playing each frame (if any notes changed) so it may skip notes if the notes ever change faster than the FPS (this cart runs at 60). A more robust visualizer could be written, but I just wanted something that could display most normal songs for fun :)

You can use this visualizer to display your own music by downloading this cart and uncommenting one or both of these lines in the _init() function (and changing the path string appropriately):

-- load the music and sfx data from another cart
--reload(0x3100, 0x3100, 0x1200, 'othercart.p8.png')

-- permanently store the music and sfx data loaded above
--cstore(0x3100, 0x3100, 0x1200)

I hope you enjoy watching the little notes go by. I enjoy Bach's keyboard music and much of it also happens to translate very easily to PICO-8 tracker format :)

48


Astounding ! I'll have to check out your code to see how you are doing a conversion !

Yep ... I'm running into the same problem. Could you (or someone) please post a THOROUGH tutorial on how to run PYTHON code ? A Youtube video with on-screen display, animation, and vocal narration might be the ticket.

And to show how to run this very and particular music converter.

As for my platform, I am running Windows 8.1, 64-bit edition.


AMAZING!


This is brilliant! Great work!


Great work on the importer! Though, needs some efficiency because it creates duplicate tracks- I know, checking for duplicated tracks is a pain probably, and would make the import process longer, but would be useful if you have a long song that has a BUNCH of repeated tracks.


This is very impressive! :-)


Thanks, everyone!

@funzrey
Yeah, that is one optimization I plan on adding at some point. I recognized it was a theoretical possibility with some music but I hadn't yet encountered it since I was only really using through-composed music to test it so far :)

EDIT: lol okay I had time so I just implemented that feature; it's in the repo now. Thanks for the suggestion/reminder!


so awesome!!! thanks for sharing <3


This is really fantastic!


That is fun!


Wonderful! What would Bach say, I wonder. :) Thank you for making/sharing. Can't wait to see / hear what other explorations you come up with.


Most impressive...nice demo music choice too!


For visualising music, look at what I've done ;)


Thank you so much for the midi importer, kittenm4ster. This is a godsend for all of us out there with no musical ability!


@electricgryphon
yay! I was hoping that it might be useful for people who wouldn't otherwise put music in their carts! I was happy to see it in your crazy starfox cart (which is amazing btw!)



[Please log in to post a comment]