- Starter: https://stackblitz.com/edit/js-gtxeel (fork or download)
- Keyboard input: https://replit.com/@pixelbar/NodeSchool-ToneJS#script.js
- Pitch and duration: https://stackblitz.com/edit/js-hyyxnj
- Barbie Girl sequence: https://stackblitz.com/edit/js-t6hibz
- https://abhi9bakshi.medium.com/why-javascript-timer-is-unreliable-and-how-can-you-fix-it-9ff5e6d34ee0
- https://www.youtube.com/watch?v=8aGhZQkoFbQ
- https://developer.mozilla.org/en-US/docs/Web/API/setTimeout
- https://developer.mozilla.org/en-US/docs/Web/API/setInterval
- https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now
- https://developer.mozilla.org/en-US/docs/Web/API/Performance/now
- http://latentflip.com/loupe/
- https://www.lightnote.co/
- https://learningmusic.ableton.com/
- https://learningsynths.ableton.com/
- https://www.youtube.com/@MatthewBardin