Log In  

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

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:


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 :)

P#28685 2016-09-17 15:45 ( Edited 2017-02-08 01:15)

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.

P#28801 2016-09-19 12:58 ( Edited 2016-09-20 00:41)


P#28829 2016-09-19 21:06 ( Edited 2016-09-20 01:06)

This is brilliant! Great work!

P#29031 2016-09-22 12:17 ( Edited 2016-09-22 16:17)

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.

P#30692 2016-10-11 18:02 ( Edited 2016-10-11 22:02)

This is very impressive! :-)

P#30766 2016-10-12 14:46 ( Edited 2016-10-12 18:46)

Thanks, everyone!

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!

P#30950 2016-10-14 16:28 ( Edited 2016-10-15 00:05)

so awesome!!! thanks for sharing <3

P#31012 2016-10-16 05:46 ( Edited 2016-10-16 09:46)

This is really fantastic!

P#31590 2016-10-23 18:21 ( Edited 2016-10-23 22:21)

That is fun!

P#32160 2016-11-02 18:41 ( Edited 2016-11-02 22:41)

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.

P#32222 2016-11-04 23:56 ( Edited 2016-11-05 03:56)

Most impressive...nice demo music choice too!

P#32303 2016-11-07 12:40 ( Edited 2016-11-07 17:40)

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

P#32442 2016-11-13 14:17 ( Edited 2016-11-13 19:17)

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

P#32482 2016-11-14 23:41 ( Edited 2016-11-15 04:41)

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!)

P#32593 2016-11-17 19:11 ( Edited 2016-11-18 00:12)

[Please log in to post a comment]