![Beat Mix Beat Mix](https://private-user-images.githubusercontent.com/91121660/273565511-f0672b25-a363-4e92-8e86-96003da4344b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjUzMjQwMTQsIm5iZiI6MTcyNTMyMzcxNCwicGF0aCI6Ii85MTEyMTY2MC8yNzM1NjU1MTEtZjA2NzJiMjUtYTM2My00ZTkyLThlODYtOTYwMDNkYTQzNDRiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTAzVDAwMzUxNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTcwMWM1MDAwYjE5ZDRhYzlkZTY4NzE4YmEzMTQxMTNlOWZmZDdhNzI5MDc2MjdmNWRmZDQxMGY4MDQ2NTk0ZDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.FC2jFMuwXEEBf1CW4ZIqcIgRkGhLmiN0KJNo0KNc0kg)
A drum machine web app that allows you to create musical patterns and save them as presets.
In this project, I wrote functions to implement logic for a beat-making music machine.
The application can loop over a 16-step grid of four drum types and play them when they are activated.
I also wrote the functionality to invert each row of drums, clear each row of drums, or clear the entire board.
Finally, I build the functionality to retrieve and save presets to a server.
▶ You can view a video demonstration of the final app here: BeatMix
As a bonus, I implemented a function to play multiple synthesizer tones at once.
- "body-parser": "^1.17.2",
- "chai": "^4.1.1",
- "chai-things": "^0.2.0",
- "cors": "^2.8.4",
- "express": "^4.15.4",
- "mocha": "^5.1.1",
- "morgan": "^1.8.2",
- "nodemon": "^1.11.0"
Run npm install
to install the dependencies of this project.
$ npm install
Run npm run start
to begin your server. You'll see Server listening on port 4001
in the terminal.
$ npm run start
To see the application simply open index.html in a web browser.
This project comes from the Codecademy's Create a Back-End with JavaScript course.