All Projects → feross → Bitmidi.com

feross / Bitmidi.com

🎹 Listen to free MIDI songs, download the best MIDI files, and share the best MIDIs on the web

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Bitmidi.com

Zrythm
a highly automated and intuitive digital audio workstation - official mirror
Stars: ✭ 703 (+66.59%)
Mutual labels:  audio, music, midi
Awesome Music Production
A curated list of software, services and resources to create and distribute music.
Stars: ✭ 340 (-19.43%)
Mutual labels:  audio, music, midi
Webaudiofont
Use full GM set of musical instruments to play MIDI and single sounds or effects. Support for reverberation and equaliser. No plugins, no Flash. Pure HTML5 implementation compatible with desktop and mobile browser. See live examples.
Stars: ✭ 600 (+42.18%)
Mutual labels:  audio, music, midi
Romplayer
AudioKit Sample Player (ROM Player) - EXS24, Sound Font, Wave Player
Stars: ✭ 445 (+5.45%)
Mutual labels:  audio, music, midi
Midiwriterjs
♬ A JavaScript library which provides an API for programmatically generating and creating expressive multi-track MIDI files and JSON objects.
Stars: ✭ 381 (-9.72%)
Mutual labels:  audio, music, midi
Clubber
Application of music theory in audio reactive visualizations
Stars: ✭ 325 (-22.99%)
Mutual labels:  audio, music, midi
Giada
Your Hardcore Loop Machine.
Stars: ✭ 903 (+113.98%)
Mutual labels:  audio, music, midi
Musictheory
🎵 Music theory concepts in Go.
Stars: ✭ 53 (-87.44%)
Mutual labels:  audio, music, midi
Minibae
The platform-neutral Beatnik Audio Engine, Mini Edition (miniBAE) is an exceptionally mature, well-rounded, and reliable computer music and sound system specially customized for small-footprint and embedded applications.
Stars: ✭ 82 (-80.57%)
Mutual labels:  audio, music, midi
Audiokit
Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS
Stars: ✭ 8,827 (+1991.71%)
Mutual labels:  audio, music, midi
Webmidikit
Simplest MIDI Swift library
Stars: ✭ 100 (-76.3%)
Mutual labels:  audio, music, midi
Audiokitsynthone
AudioKit Synth One: Open-Source iOS Synthesizer App
Stars: ✭ 1,258 (+198.1%)
Mutual labels:  audio, music, midi
Mixxx
Mixxx is Free DJ software that gives you everything you need to perform live mixes.
Stars: ✭ 2,510 (+494.79%)
Mutual labels:  audio, music, midi
React Music Player
🎵 Maybe the best beautiful HTML5 responsive player component for react :)
Stars: ✭ 321 (-23.93%)
Mutual labels:  audio, music
Matchering
🎚️ Open Source Audio Matching and Mastering
Stars: ✭ 398 (-5.69%)
Mutual labels:  audio, music
Jzz
MIDI library for Node.js and web-browsers
Stars: ✭ 325 (-22.99%)
Mutual labels:  audio, midi
Sporth
A small stack-based audio language.
Stars: ✭ 325 (-22.99%)
Mutual labels:  audio, music
Scribbletune
Create music with JavaScript
Stars: ✭ 3,509 (+731.52%)
Mutual labels:  music, midi
Powertabeditor
A cross-platform guitar tablature editor.
Stars: ✭ 334 (-20.85%)
Mutual labels:  audio, music
Eternal
👾~ music, eternal ~ 👾
Stars: ✭ 323 (-23.46%)
Mutual labels:  music, midi

BitMidi

🎹 Listen to free MIDI songs, download the best MIDI files, and share the best MIDIs on the web.

travis Standard - JavaScript Style Guide

bitmidi.com

Usage

Visit the live site at bitmidi.com, the wayback machine for old-school MIDI files! Check out some examples here:

Contributing

It's easy to run the code!

Clone the project and install the dependencies

git clone [email protected]:feross/bitmidi.com.git
cd bitmidi.com
npm install

System Dependencies

  • GraphicsMagick
    • Ubuntu: sudo apt install graphicsmagick
    • MacOS: brew install graphicsmagick
  • imagemin-webp > cwebp-bin
    • Ubuntu: sudo apt install libxi6 libglu1
    • MacOS: n/a

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].