a piano built with react.js and the web audio api