How it started
On the second day, I was trying to implement exponential and linear ramps to the oscillators to create smooth volume increment. However, it wasn’t working as I supposed and maybe I’ll come back to this In the future.
On day three and four, my workflow was to map the keyboard to start and stop the oscillators. And also to implement CSS into my code and make the synth look good and interactive. I was struggling for so many hours to map the keyboard to the buttons that I had in my interface. Then I got help from Eirik and I managed to grab some ideas from his code. I used a CSS and HTML code from code pen and tried to adapt it to my synthesizer to make it look more exciting. I changed the color attributes to my preferences and tried to map the pads to the oscillators that I have built. Additionally, I managed to use reverb impulse responses and include it in my signal chain to add reverb to the synth. I used the reverb.js library for that purpose.
I was so much happy at the end of the week about my progress where I managed to build my own synthpad without having any prior knowledge at the beginning. I managed to understand the concept of using audio context and its methods to generate and change characteristics of sounds. Also managed to grasp the ideas about creating effects like delay and Ping-Pong delay with the code.
Watch the video SineWave Pad