Możesz podejrzeć kod źródłowy tamtego projektu, jest na Githubie: https://github.com/montulli/GrooveScribe
Ja specjalnie się nie bawiłem w tego typu rzeczy, ale wiem, że pojawiły się ostatnio ciekawe projekty związane z generowaniem muzyki w JS: https://github.com/FormidableLabs/react-music - komponenty ReactJS w którym można ponoć gotowe nuty wrzucać i podobno gra.
Mógłbyś pewnie jakoś to wykorzystać (albo z jako gotowych komponentów, albo po prostu podejrzeć kod źródłowy i zobaczyć jak to jest zrobione).
Dan Abramov napisał też jakiś komponent na tym bazujący https://gist.github.com/gaearon/d62e0b84a0df5bc393cd1d56777cebdc
Poza tym patrząc na kod tamtej pierwszej biblioteki to zobaczyłem, że korzystają z biblioteki Note Parser, która pomaga parsować nuty: https://www.npmjs.com/package/note-parser
Parse note names (in scientific notation) with javascript. Given a string, obtain a hash with note properties (including midi number and frequency)
też wydaje się, że może być przydatne. Jeszcze z jakiegoś tunajs
korzystają i audio-contour
, jak to widać w ich package.json
: https://github.com/FormidableLabs/react-music/blob/master/package.json (możesz sobie podejrzeć te libki na NPM i zobaczyć - pomocne z tego co widzę do generowania dźwięków jako takich).
No i na pewno przeglądarkowe Web Audio API warto zobaczyć: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
Generalnie w sumie ciekawa sprawa, nawet trochę mi szkoda, że nie miałem czasu się tym zajmować specjalnie, bo możliwości są fajne.