Giter Club home page Giter Club logo

drum-machine's Introduction

drum-machine

A simple drum machine built with React using the Create React App toolchain. It plays samples downloaded from sampleswap.org and can be controlled via mouse or keyboard. I intitially completed this project on Codepen.io as part of the FreeCodeCamp Frontend Libraries Certificate, but I decided it merited further experimentation so I implemented it locally using Create React App.

screenshot of react drum machine in browser

Deployment

Click here to see a simple deployment of this project using Netlify.

Getting Started

  1. Clone or download the repository. Open a command prompt and CD into the project folder
  2. You will need to install/update npm if you have not already - use sudo apt-get install npm (or npm install if you are using Windows)
  3. Run npm start - the application should open in a browser window. If not, open http://localhost:3000/ manually.

Bug Fixes

Latency

I recently migrated the project to use the Web Audio API, instead of just playing sound from tags using the HTML DOM Audio object. This seems to have significantly decreased latency.

Plans for Future Updates

I intend to add a few more sound banks and a control element for cycling through them. I'd also like to add an interface that allows users to create their own soundbank by entering custom urls. I'm also considering adding recording and/or step sequencer functionality.

Modifying this Project

This project was built by modifying the Create React App template. If you want to make changes to it there are a few things to be aware of. From the Create React App documentation pages:

For the project to build, these files must exist with exact filenames:

public/index.html is the page template; src/index.js is the JavaScript entry point.

You can delete or rename the other files.

A few other commands you may find useful are npm test for testing and npm run build if you want to produce a deployable build

For more information about the Create React App toolchain refer to the documentation at https://create-react-app.dev/

drum-machine's People

Contributors

schaferyan avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.