BitMidi
p/bitmidi
Listen to your favorite MIDI files
Feross Aboukhadijeh
BitMidi — 🎹 The wayback machine for old-school MIDI files
Featured
21

In the days of Geocities and Angelfire, a quirky HTML tag called < bgsound > enabled sound files to play in the background of webpages. Usually, these files were in the MIDI format. What a glorious era that was! Sadly, <bgsound﹥ has been removed from browsers and MIDI is obscure and hard to play back. UNTIL NOW! Check out BitMidi! ✨

Replies
Ghost Kitty
Comment Deleted
Ghost Kitty
Comment Deleted
Feross Aboukhadijeh
@tchret Yes, I love the Pokemon MIDIs. There are more here: https://bitmidi.com/search?q=pok...
Rui Ramos
Well done @ferossaboukhadijeh this is great, love the aesthetics as well!! :) Small thing but maybe you could find a way of docking the player somewhere so it's possible to stop the currently playing midi after you navigate away? Cheers well done!
Feross Aboukhadijeh
@ruimramos Yep, docking the player so you can control play/pause/prev/next while still browsing is a great idea. Working on it!
Justin Johnson
I feel like 8-bit and low-fi sampling is becoming a huge component in popular music production. This is a great resource for finding some of those old gems.
Feross Aboukhadijeh
@justinotherjohnson Thanks Justin! I love the 8-bit and low-fi sampling aesthetic and it warms the cockles of my heart to see it becoming so popular. Anything I can do to help! ❤️
Guillaume Bardet

You can actually use the site without getting attacked with ads and popups. :)

Pros:

113,000 MIDIs? Yes please!

Cons:

None so far.

Feross Aboukhadijeh
Glad you like it, Guillaume ✨
Guillaume Bardet
This is awesome Feross, I will definitely be using this when playing around on logic. I noticed you had quite a wide catalogue, that's really helpful. It probably would take a little while to get to that but it would be cool to feature tracks made using the midis from the site :) I'm curious to know what some will come up with.
Feross Aboukhadijeh
@guillaumebardet If you make a track using MIDIs from the site do let me know and I'll see what I can do about adding a Featured Songs section! This is a cool idea!!
Alex Carreira
It's been running on my phone since dApp summit--❤️ Dr. Dre's instrumentals. Works like a charm with a great UX. Thanks Feross 👍
Rohit Jain

Sometimes there is a lag while playing the audio, is it because of internet speed?

Pros:

It works like a charm!

Cons:

nothing

Feross Aboukhadijeh
The delay you sometimes get when playing a MIDI is because we're loading the instrument sound files required to play back the file. We'll work on showing some loading UI to make that clearer.
Feross Aboukhadijeh
Hey folks! So, the context for this site is that I was reminiscing about the days of Geocities and Angelfire, back when the web was quirky and fun. I remembered how sites used to use the <bgsound﹥ HTML tag to include an autoplaying background MIDI file. Those files had such a nice, old-school aesthetic. I wanted to hear some MIDIs, so I searched and found a .zip file with 100K+ MIDI files that someone posted to Reddit. I tried playing a few in Chrome, Firefox, Safari, etc. and then realized that they've all dropped the <bgsound﹥ tag. Even Quicktime and VLC couldn't play back the files.* There were some websites that could convert MIDI to low-quality MP3, and technically Apple still offers Quicktime 7 for download which can play MIDI, but it wasn't easy or fun to do. Some websites offered inline playback with Flash (but it was flaky and hard to get working in Chrome), and the JS-based ones were missing many instruments or multi-MB Emscripten-compiled monstrosities! I decided that I'd compile the best MIDI player written in C (libtimidity) to WebAssembly and put in lots of effort to optimize the bundle and include the minimal amount of code. The result of that is here: https://github.com/feross/timidity It's quite lightweight - just 34 KB of JavaScript and 23 KB of lazy-loaded WebAssembly. Then I put a frontend on it, so it's easy to browse that .zip file's contents. And that's BitMidi. I plan to ingest a lot more MIDI files in the future, perhaps from the Geocities MIDI archive on the Internet Archive. Feedback welcome! * I later learned that VLC can actually play most MIDIs and I just got unlucky with the few I tried! That's okay though – I got to learn a lot about MIDI files, Emscripten, WebAssembly, and modern front-end web techniques. And I made a cool site too :)
Noor Siddiqui

it is the most fun you will ever have on the internet

Pros:

everything

Cons:

nothing

Noor Siddiqui
This is the best!!!!!