Skip to content

Pure Javascript Metronome Using Web Audio API

License

Notifications You must be signed in to change notification settings

culy247/metronome

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Responsive Web Audio Metronome

alt tag

Using @cwilso's HTML5 demo metronome as a starting point, I added several features commonly seen in professional metronomes, including:

  • variable meter input
  • support for triplet subdivisions
  • master volume toggling
  • accent volume toggling
  • subdivision volume toggling
  • material design UI

Adding triplet note support was the trickiest, since it required converting the base note interval from a 16th note to a twelvelet, which contains both eighth note and sixteenth note intervals (thanks college drumline days). The scheduler picks out the relevant subdivisions in the polyrhythm and mutes the rest. This worked way better than simultaneously scheduling duple subdivisions and triple subdivisions, especially with the variable tempo input.

Setup

  1. clone the repository
  2. open index.html using a broswer other than Chrome (Chrome doesn't like running web workers locally apparently)

Todos

  • toggle note pitches
  • tap tempo detection
  • easy sound file import
  • add visual metronome

About

Pure Javascript Metronome Using Web Audio API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 68.6%
  • HTML 23.6%
  • CSS 7.8%