Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Latest commit 07c127f Jun 19, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build
src minor update Jun 19, 2019
.firebaserc
.gitignore updated gitignore. started 1.3.6 May 23, 2019
LICENCE.md GNU General Public License v3.0 added Nov 17, 2017
README.md
firebase.json Improved directory structure May 23, 2019
package-lock.json
package.json 1.3.7 Jun 19, 2019
webpack.config.js

README.md

Brief / Scope of Project

Making a musical instrument in a web browser

What I did

Made a Javascript web app, hosted by Firebase, which allows the user to type various keys on their keyboard, and hear different notes coming out of their speakers. The notes should retune with every key press! This means that music is played by intervals between subsequent notes, and not by absolute position / pitch of note.

Technologies I used

  • HTML
  • Canvas
  • Javascript (ES6)
  • Babel
  • npm
  • Webpack
  • Firebase
  • Web Hosting

Result

Some melodies become a lot easier to play, e.g. arpeggios, since all that is needed is to repeat the intervals multiple times. Some things are harder, e.g. keeping track of where a specific pitch is. Some things are features (definitely not bugs) - e.g. if two notes are played simultaneously then the two events happen in a random order and one of two chords is possible. The note order is non-commutative! This instrument is therefore suited to melody, and not harmony, however quick arpeggios are fine.

You can’t perform that action at this time.