It’s my friend’s birthday. I plan to send him some JS code that when pasted into DevTools plays the happy b’day song. This is the result. (Solo project.)
- I used Web Audio API to create a simple music box.
- Developed this in repl.it by creating a “Preview” button to let me test the code to copy.
- Melody and chords are encoded into CJK characters to “disguise” the Happy Birthday song. The first 47 characters are the melody, the rest are the (broken) chords.
- To not pollute the global scope, while being concise, local variables are declared as default parameters. e.g.
((paramX, paramY, localA=1, localB=2) => …).
t(f, b)function plays a single note of frequency
- Each character is processed in forEach loop. The index is used to determine when to play the note.
Oh wow, that's so cool! You can just send them an email telling them to paste
into the console after 'inspect element' and they'll get a happy birthday! Awesome job!