Visit the live site at bitmidi.com, the wayback machine for old-school MIDI files! Check out some examples here:
- Backstreet Boys - I Want It That Way MIDI
- Beethoven Moonlight Sonata MIDI
- Camptown Races MIDI
- Golden Sun - Overworld MIDI
- Kingdom Hearts - Dearly Beloved MIDI
- Legend of Zelda - Overworld MIDI
- Michael Jackson - Billie Jean MIDI
- Michael Jackson - Don't Stop Till You Get Enough MIDI
- Passenger - Let Her Go MIDI
- Pokemon - Pokemon Center Theme MIDI
- Pokemon Red Blue Yellow - Opening MIDI
- Pokemon Red Blue Yellow - Wild Pokemon Battle MIDI
- Red Hot Chili Peppers - Californication MIDI
- Red Hot Chili Peppers - Otherside MIDI
It's easy to run the code!
git clone git@github.com:feross/bitmidi.com.git
cd bitmidi.com
npm install
- GraphicsMagick
- Ubuntu:
sudo apt install graphicsmagick
- MacOS:
brew install graphicsmagick
- Ubuntu:
imagemin-webp > cwebp-bin
- Ubuntu:
sudo apt install libxi6 libglu1
- MacOS: n/a
- Ubuntu:
First, copy the sample secret file to a new file:
cp secret/index-sample.js secret/index.js
Second, run a local MySQL Server on port 3306 and create a database called bitmidi.com
.
Don't forget to change the credentials in secret/index.js
to match what you
configured! If you use a different MySQL version than what is specified, then
remember to change that, too. If you're running an older version of MySQL, you
may need to add a insecureAuth: true
option under db.connection
.
Once you complete the database setup, run the migrations:
npm run knex -- migrate:latest
To load the site with MIDI files, you need to have a folder with MIDI files in it. You can get a large collection here or some smaller ones here.
Then, in the project root, run this:
node -r @babel/register tools/import.js <path-to-folder-with-midis>
npm run build
npm start
npm run watch
Copyright (c) Feross Aboukhadijeh