Sound Synthesis in JavaScript

Familiar synth noises at our home again! This time synthesized in JavaScript. Simon has been following Daniel Shiffman’s Sound Tutorials and studied the codes to create oscillators and ADSR Envelope. ADSR stands for Attack, Decay, Sustain, Release.

Here Simon is working on sound synthesis code offered in the tutorial:


He drew an ADSR Envelope graph and explained it:


Here I filmed Simon from behind, without him really being aware of it. This is to show the usual way he studies – by talking to himself:

Some more synth tricks he learned to apply to the original code:

The code to create a slider that functions as an oscillator:

Simon made this graph in Word:


Latest Piano Picks

This one is such a joy to see, especially considering Simon has learned it within a week.

In the following video Simon plays a piece composed by a 9 year old blind prodigy (grown up by now).

Simon’s also been practicing Puccini and Beethoven. His wonderful teacher tries to make it clear to him how much logic and math there is hiding behind the temperamental piano chords and how exact the pianist must be. He loves chatting with her about music theory.


The music was too sad!

Right after playing in organ mode on his electric piano for the first time Simon burst into tears and was inconsolable. He even left his popsicle untouched and popsicles always help against tears. “The music was too sad!” – he cried on the floor in the playroom.

It took him a good half an hour to recuperate. I have explained that Bach would have probably been proud of him because he feels the music so well.

The shapes of soundwaves

This afternoon Simon gave me an introductory lesson to soundwave shapes: triangular, saw tooth, ramp, pulse 0 to 100% duty cycle. It turned out he can imitate all of them easily, and that is next to his perfect pitch. Recently at a construction site he heard a truck buzzing and screamed: “F sharp in the highest octave!!” Well, now he can also say which wave shape that was.