Bitmidi.com
🎹 Listen to free MIDI songs, download the best MIDI files, and share the best MIDIs on the web
Install / Use
/learn @feross/Bitmidi.comREADME
Usage
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
Contributing
It's easy to run the code!
Clone the project and install the dependencies
git clone git@github.com:feross/bitmidi.com.git
cd bitmidi.com
npm install
System Dependencies
- 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:
Setup Database
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.
Run Database Migrations
Once you complete the database setup, run the migrations:
npm run knex -- migrate:latest
Mock local MIDI files
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>
Run the server
npm run build
npm start
Watch and restart automatically:
npm run watch
License
Copyright (c) Feross Aboukhadijeh
