Code-It-Yourself! Sound Synthesizer #2 - Oscillators & Envelopes

preview_player
Показать описание
This second video improves upon the basic waveform generators in the last video, to produce a flexible oscillator. The amplitude of the oscillator is now controlled by an Attack, Decay, Sustain, Release envelope, to produce some more realistic instrument sounds.

Рекомендации по теме
Комментарии
Автор

I would not have thought that the video which finally makes me understand the concepts of Attack, Decay, Sustain, Release would be a coding tutorial.

PhoenixClank
Автор

I still can't believe anyone bitched about these vids being too long, especially when there isn't really anything else this in depth on YouTube. This is my second time thru, THANK YOU!

jkuebler
Автор

Teaching music/phisics, math and programming at the same time, what a legend

EnderMega
Автор

This is 6 years old??? This is the best tutorial series I’ve seen on YouTube so far. Thank you so much!

christombert
Автор

I've always wanted to create my own synthesizer and since all my attempts with the VST SDK failed I'm really happy I found this tutorial series which also happens to be pretty up to date!
You really did an awesome job on this! I didn't even know it was so easy to do in raw c++ (without any fancy library).
Can't thank you enough for this,
keep up the great work! :D

jamathan
Автор

This is my favorite channel ever. Thank you so much.

rallokkcaz
Автор

When I used Desmos a lot of the time before discovering this channel, I was really interested in the design of waves, and what they would sound like if I could play them back.

This is the ONLY documentation I could find on the internet where you could convert those graphed functions into actual output waveforms!
Thank you so, so much. You're awesome.

SpringySpring
Автор

This is so interesting to see come together. Now I want to code my own synthesizer.

Made my own wolfenstein "fps" maze game the other day too.

It's easy to think reinventing the wheel over and over again is silly, but it's fun, and you become a better coder along the way.

Aezay
Автор

I understand how ADSR affects the volume of sound, but trying to imagine implementing such a thing expressed and implemented through computer programming seemed like arcane wizardry. But after watching your video a couple of times with you breaking it down, it finally makes all the sense in the world that the ADSR simply manipulates amplitude over time and all four ADSR elements can be called upon with a single function that handles it all without complex math which is amazing. Even in the last video when you explained and showed that combining 3 different frequencies or samples summed together and fed to the sound buffer to play a cord was shockingly cool. I still don't quite understand how the formulas generate the Square and Sine Waves but I am at least less confused overall with how VSTs and emulators generate the classic video game sounds now. 😇

thedrunkmonkshow
Автор

I am a musician for the last 20 years and a developer for the last one 7 years.
I started to make a personal project for composing software.
This is the first time where i combined both my skills.
Thank you for the wonderful introduction.

ovndfbs
Автор

Very educational. It only feels like you are staring into my soul.

leberkassemmel
Автор

Not exactly using this to build a synth, I'm generating synthesized tones and then using them as a "voice bank" for game sound effects. This tutorial series has been indispensable and very interesting so far, excited to keep hammering at it.

RunningShovel
Автор

You make these subject so approachable, I've been wanting to write a synth for years and never really had the nerve to dive into the math etc. Thank!

NickEnchev
Автор

31min ago, I had no idea what an 'envelope' in sound context is, now it all makes sense! Thank you so much!

theLilaQ
Автор

OLC - "Turn down your speakers!"
Me - not paying attention: "...wait, what?"
OLC - SCREECH!
Me - now deaf: "WHAAT?"

HenrikDanielsson
Автор

I'm trying to create my own little game console using a low cost SoC (the ESP32). Since it has very little RAM, I can't really play recorded audio clips, so I'm trying to synthetize everything at real-time, like old consoles did. This series is helping me a lot, thank you so much!

NelsonWilliam
Автор

The reason the fmod implementation and sinusoid summation implementation sound different is because of aliasing noise. You're right that you are simulating an infinite sum of harmonics but at a sampling rate of 44100Hz only frequencies up to 22050Hz can be represented. Any frequencies above this present in the signal you generate appear as sampling noise because they become new frequency components within the 0-22050Hz nyquist band. This distorts the harmonics of the waveform so it is no longer a sawtooth mathematically speaking.
At anything above 220.5Hz your fourier summation of 100 sinusoids will also create aliasing noise for the same reason, it's just that the fmod implementation creates more as it contains more harmonics.

tommerchant
Автор

This is outstanding. Your explanation is really awesome and one of the best education video for long time to come.

raghuprasad
Автор

The "clicking" noise comes from the fact that the "wave" is not nicely ended at 0. For example your sine wave goes up and then gets interrupted by a key release and goes to 0. This creates a "clicking" noise at your speaker. Always let a single wave go and finish it's wave untill 0. The clicking noise comes from the large transient in your speakerboxes.

HermanWillems
Автор

Great video!! Ive been looking for something like this and could not find it. Excellent explanations.

matrixx