Awesome
<h1 align="center"> BitMidi </h1> <h4 align="center"> 🎹 Listen to free MIDI songs, download the best MIDI files, and share the best MIDIs on the web. </h4> <p align="center"> <a href="https://travis-ci.org/feross/bitmidi.com"><img src="https://img.shields.io/travis/feross/bitmidi.com/master.svg" alt="travis"></a> <a href="https://standardjs.com"><img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard - JavaScript Style Guide"></a> </p> <h3 align="center"> <a href="https://bitmidi.com">bitmidi.com</a> </h3>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