Gotta give credit where credit is due. This is what happens when you take time to really understand something and you put time to teach it to others. Thank you for your time 2x❤❤🎉
@asht77883 жыл бұрын
I bet you can't find a quantization video on the whole KZbin like this one. Thanks a lot. Your videos are top-notch, never stop making them.
@akashmurthy3 жыл бұрын
Thanks very much for the compliments! I'll try to keep making more.
@elie9333 жыл бұрын
very nice elon
@LexOfNPАй бұрын
This was super helpful and easy to understand. 4 years later and this is still helping people
@150snehak58 ай бұрын
Where was this video when I was studying my electronics and communication engineering 😭 years after all of this is making absolute sense. Thanks!
@akashmurthy8 ай бұрын
Hoping it'll help someone else out! Thanks!
@lad46943 жыл бұрын
I'm sharing this with my class👌
@akashmurthy3 жыл бұрын
Cheers mate! Hope your class enjoys it.
@josephjohn6927 Жыл бұрын
OMG! I have a hard time understanding the quantization concept. This video right here is all I wanted!!
@akhandpatel48732 жыл бұрын
I can't even fathom the amount of time and hard work that goes behind the production of these videos. Such a top notch video. I just paused the video to comment here first.
@akashmurthy2 жыл бұрын
Thanks for the pause and the comment! The videos took a fair bit of time for sure 😅
@Gabonidaz2 жыл бұрын
Bro, this video is a piece of art, you did an excellent job. I'm really surprised how good your explanation is.
@akashmurthy2 жыл бұрын
Thanks mate!
@stephanethomas2186 Жыл бұрын
@@akashmurthy Before watching this video I only had a blurry conception of what was the dynamic range (and not enough motivation to dig the concept myself). Now I get it. Those videos are excellent I agree with @Gabonidaz I’m sure all those animations represent a considerable amount of work. You rock Akash!
@davidkim83546 ай бұрын
Thank you for the great video. so quantization is discretizing the amplitude
@daragen2 жыл бұрын
Finally I get it.. I've been revising one paragraph in the book for 2 days already :o... Thank you
@akashmurthy2 жыл бұрын
You're welcome! Hopefully you can move on to the next paragraph :)
@zoteha Жыл бұрын
you must be literally a gigachad to make such good videos
@akashmurthy Жыл бұрын
Lol, I'm more of a simp.
@stefanborek71012 жыл бұрын
WOW, high quality video and knowledge. Good to see another super legit source on KZbin like 3blue1brown and Reducible.
@akashmurthy2 жыл бұрын
Cheers mate! Glad to be named along side the greats..
@infinitygaming2274 Жыл бұрын
Oh wow simple, straight forward put informations, thanks dude you are making my studying berable
@akashmurthy Жыл бұрын
Glad it's helping you out!
@Jubelicool2 ай бұрын
I'm so glad I found your videos! Now my hopes are up again for learning DSP - thanks Akash!
@alexengineering3754 Жыл бұрын
You just saved me hours of research
@thandiwenalungwe85385 ай бұрын
Best video on this topic on KZbin 👍👍✍✍👏👏👏👏👏👏👏great job
@krishnakhandelwal4123 жыл бұрын
Effort you are putting to create these lectures is clearly visible. Sukhriya.
@bery36812 жыл бұрын
Great video. Awesome examples. Beautifull animations. We dont deserve you, but we need you and we thank you.
@akashmurthy2 жыл бұрын
Haha..thank you kind human!
@aldeveron949810 ай бұрын
Hey, Akash, that was beautufully well explained. Thank you so much!
@akashmurthy10 ай бұрын
Glad you enjoyed that mate!
@Djangoat688 ай бұрын
The best course I've seen on KZbin - Thanks!
@akashmurthy7 ай бұрын
Thanks very much!
@tanishqgupta31752 жыл бұрын
Man oh man! This is the first time I am watching a video from your channel and I am in awe. You have explained the concept to me in the most efficient way and I will forever be grateful for invoking my interest in the subject again.
@akashmurthy2 жыл бұрын
Very glad you found it insightful!
@jitindavid24504 жыл бұрын
Thank you so much for doing this series.
@akashmurthy4 жыл бұрын
Thank you for checking it out man!
@pml23073 жыл бұрын
After couple watched videos elswhere now i got the concept. Thanks for the well explained and well illustrated video.
@akashmurthy3 жыл бұрын
Cheers! Glad it helped you!
@themechanicalghost3 жыл бұрын
Thanks a lot bro. I'm a mechanical engineering student in the field if control and this video really helped me with the concept of quantization which was really vague to me.
@akashmurthy3 жыл бұрын
Glad it helped! Thanks for letting me know!
@q1chen2 жыл бұрын
super clear and helpful explanation of smapling and quantization, thank you very much!
@jredmusic1164 Жыл бұрын
amazing series
@renzobond2 жыл бұрын
i finally understood what makes 8-bit old fashion videogames music sound the way it does!
@FitzpatrickCormac Жыл бұрын
Great stuff, excellently explained, thanks so much!
@akashmurthy Жыл бұрын
Thanks very much mate!
@prashantbhardwaj4831 Жыл бұрын
so beautifully explained
@rokiedecentra9656 Жыл бұрын
This is an amazingly well-made video
@akashmurthy Жыл бұрын
Thanks so much!
@zian36943 жыл бұрын
ohh man, where were you from so many days, what a channel. what a knowledge. I was always confused about the bitrate, sample rate, etc. and found this video, great.
@akashmurthy3 жыл бұрын
Glad you found the channel!
@earl_mckay Жыл бұрын
I have to echo the other comments. I came across your videos by accident. They are so well done and super understandable. I wish you a lot more subscribers!
@akashmurthy Жыл бұрын
Thanks a lot for letting me know! I'm glad you found the channel.
@chandankumarmishra336 Жыл бұрын
top notch content...comendable job bro
@samyakjain471516 күн бұрын
Damnn the visuals cleared the whole picture, i was playing around with matplotlib with GPT to try to visualize the differences in bit depths, but this series just did the job so great that am speech less Its crystal clear now, I mean i have higher res understanding now haha
@akashmurthy13 күн бұрын
@@samyakjain4715 thats awesome! Glad the animations helped out!
@OGIMxGaMeR Жыл бұрын
This is perfect, thank you so much.
@geane8893 жыл бұрын
thank you very much the best explanation i found on KZbin
@akashmurthy3 жыл бұрын
Glad you think so! :)
@EbadurKhan-p4t Жыл бұрын
So sir, please let me know if I am wrong, here we are not converting back the digital signal into analog again to check, just we did in the sampling, rather we are trying to hear the quantized raw audio signal. That is why we are hearing the noise? Like if we have higher resolution like infite, then we sample by nyquist, will we hear the noise? or it will be a clear sound?
@ebadurrahmankhan9033 Жыл бұрын
I think both of the times you should bring DAC on the scenario. At niquist and infinite resolution you will get exactly same output sine wave as output. But with quantization error the output after DAC will not have the pure sine wave as input, it will be noisy. But, I am confused that we made assumption that output frequency will be unique, but here we are not finding it unique. How does that happen?
@md.ratulhasan46982 жыл бұрын
Great explanation with great graphical representation, thank you sir.
@akashmurthy2 жыл бұрын
You're welcome!
@pachathavala Жыл бұрын
This was amazing
@Lesterandsons3 жыл бұрын
One of the best on you tube. But still hard to understand why we hear errors and not signal with wrong amplitude.
@akashmurthy3 жыл бұрын
Cheers for that! And thanks for the question. I'm not entirely sure I understand it fully. What's wrong amplitude here? Quantisation noise is only heard when the signal level is really low. The level of this noise is also very low. At very low signal levels, there aren't a lot of quantization levels to accurately depict the true nature of the signal. So, this inaccurate representation of the signal is what causes noise. So why does this result in noise? Audio data is produced 44,100 times a second. That's a lot of data. It needs to be smooth in nature for a speaker to have any chance in representing it, because a speaker cone has to move in relation to the sample amplitude. If sample amplitudes shift haphazardly, the speaker cone tries to move at the same rate to try and reproduce it, which cause clicks and noise, becausd the erratic movement (not smooth movement) of the speaker cone which causes noise. Hope that helps.
@thebudobuddy44523 жыл бұрын
omg these videos have such a high value production! great job.. and thank you kind stranger!! i have subscribed and will explore more your channel :)
@akashmurthy3 жыл бұрын
Thanks buddy! Enjoy exploring!
@eastindiaV3 ай бұрын
To quantize is to comprehend information, then extrapolate on it, integrate it into your own understanding of reality, develop a new idea based on the fusion of new and old, and produce a tangible result, based on all pertinent information.
@Nebraska666 ай бұрын
Great job! Very helpful!
@irynafizor39123 жыл бұрын
such art of videos should have more likes. Promotion. You make so good content.
@akashmurthy3 жыл бұрын
Cheers! I want to make a promotion campaign, but just waiting to finish the series first.
@HippolyteHilgers10 ай бұрын
Amazing explanation
@padeepak10014 жыл бұрын
Great explanation...will wait for the next one ..:)
@akashmurthy4 жыл бұрын
Cheers for checking it out man! Should be out in the next week or 2!
@fernandomonrroy95233 жыл бұрын
Excellent video series, love it, I'd like to hear the explanation of the differences between PCM and PDM (aka DSD) in order to understand their differences and advantages of each audio format
@akashmurthy3 жыл бұрын
Hey, thanks so much for checking out the series! I'd love to do stuff around that topic, but I'll have to get back to it later I'm afraid.
@sayajinppl4172 жыл бұрын
Best explanation ever
@tuyetnhungnguyenthi88713 жыл бұрын
5472 x 3648 Pixels: Better image clarity. 250 x 167 Pixels: Image clarity is slightly reduced.
@motelflamingo3 жыл бұрын
Beautiful explanations and examples on such digital audio topics. Subscribed!
@akashmurthy3 жыл бұрын
Thanks for subscribing mate!
@pentalogue_trialogue Жыл бұрын
1 Bit - 2 Amplitude Levels - Minimal Quantiz 2 Bit - 4 Amplitude Levels - Super Low Quaniz 3 Bit - 8 Amplitude Levels - Very Lower Quantiz 4 Bit - 16 Amplitude Levels - Very Low Quantiz 5 Bit - 32 Amplitude Levels - Very Lowean Quantiz 6 Bit - 64 Amplitude Levels - Lower Quantiz 8 Bit - 256 Amplitude Levels - Low Quantiz 10 Bit - 1'024 Amplitude Levels - Lowean Quantiz 12 Bit - 4'096 Amplitude Levels - Lower Mid Quantiz 16 Bit - 65'536 Amplitude Levels - Medium Quantiz 20 Bit - 1'048'576 Amplitude Levels - Mean Quantiz 24 Bit - 16'777'216 Amplitude Levels - Average Quantiz 32 Bit - 4'294'967'296 Amplitude Levels - High Quantiz - Big CPU Usage 40 Bit - 1'099'511'627'776 Amplitude Levels - Higean Quantiz - Significant CPU Usage 48 Bit - 281'474'976'710'656 Amplitude Levels - Higherage Quantiz - Gross CPU Usage 64 Bit - 18'446'744'073'709'551'616 Amplitude Levels - Super High Quantiz - Gross CPU Usage 80 Bit - 1.208'926e24 Amplitude Levels - Very Higean Quantiz - Great CPU Usage 96 Bit - 7.922'816e28 Amplitude Levels - Very Higerage Quantiz - Large CPU Usage 128 Bit - 3.402'824e38 Amplitude Levels - Very Super High Quantiz - Huge CPU Usage 160 Bit - 1.461'502e48 Amplitude Levels - Super Highean Quantiz - Vast CPU Usage 192 Bit - 6.277'102e57 Amplitude Levels - Super Higherage Quantiz - Sizable CPU Usage 256 Bit - 1.157'921e77 Amplitude Levels - Hyper High Quantiz - Massive CPU Usage 320 Bit - 2.135'987e96 Amplitude Levels - Very Super Highean Quantiz - Extensive CPU Usage 384 Bit - 3.940'201e115 Amplitude Levels - Very Super Higherage Quantiz - Enormous CPU Usage 512 Bit - 1.340'781e154 Amplitude Levels - Very Hyper High Quantiz - Giant CPU Usage 640 Bit - 4.562'441e192 Amplitude Levels - Hyper Highean Quantiz - Ultimate CPU Usage 768 Bit - 1.552'518e231 Amplitude Levels - Hyper Higherage Quantiz - Superior CPU Usage 1 KBit - 1.797'693e308 Amplitude Levels - Super Hyper High Quantiz - Gigantic CPU Usage
@Amal_AlShawarby3 жыл бұрын
Many thanks! Excellent tutorial!
@-tohar34793 жыл бұрын
you are a king. watched the whole series 5 times!!! love from israel
@akashmurthy3 жыл бұрын
Omg..you legend!
@DravenFNM Жыл бұрын
this video is a masterpiece
@EbadurKhan-p4t Жыл бұрын
Sir, why do we always calculate noise in terms of power? Not in the amplitude of voltages? What is the intuition behind it?
@mohsens223 жыл бұрын
Hey Bro, I have some questions. 1- What if we record absolute silence in 8 bits, or something very quiet and detailed. A- In silence, will we have quantization noise? B- in "something real quiet", can we hear it? or it's covered by the noise? 2- How is that signal subtraction you provided is calculated? I looked at it and I couldn't understand how "technically" those two signals subtracted to calculate the noise signal. 3- Why this process creates noise anyway? shouldn't the signal be louder or quieter at some points in time? Why creates a semi-white noise? And by the way, your channel is great, nicely done. Please feed us new content :)))
@akashmurthy3 жыл бұрын
Hey man! I think a lot of these questions are answered in the next video: 6. Bit Depth To answer them here: 1) if you are recording silence in 8bits, you get silence. If you are recording something very quiet, it may be rounded to zero, and you may end up getting a tearing sound as the audio level jumps from 0 to the next quantisation level. 2) To subtract one signal from the other, you invert the phase of one, and add the 2 signals together. If you have 2 identical signals, invert the phase of one and mix the signals together, and you should end up with silence. 3) You should really watch the next video to find out why. Thanks mate, I'll have some new videos soon..
@mohsens223 жыл бұрын
@@akashmurthy thanks for this informative and quick response. So as I understood the "difference" between the fine signal and poorly quantized signal (calculated via subtraction) is the nature of the noise. And it's not white noise because it's generated from the actual signal. It's just the signal rounded up or down to the nearest latch, which is perceived as noise because it's not the actual signal and not even near it enough, but it can have the same vibe because it's generated from the source signal anyway. And it's as loud as the difference of quantized discrete points with the reference signal. With more bit depth we have more latches, therefor the difference between the quantized point with the source point is less, so the noise would be less loud. Is that right?
@akashmurthy3 жыл бұрын
@@mohsens22 Exactly! You got it right.
@anoushkavaidya7642 Жыл бұрын
What is the relationship between bit depth and quantization resolution? Can you share an example as well?
@abdullahshahid28222 жыл бұрын
Boy O Boy You are the best. ❤
@akashmurthy2 жыл бұрын
Thanks very much mate!
@1903clouted8 ай бұрын
excellent video
@mirkohu76242 жыл бұрын
Nice video! Thank you for the clear explanation. I was wondering if it is possible to use quantization to remove noise from a signal.
@akashmurthy2 жыл бұрын
You're welcome! Regarding removing noise via quantization, how do you mean?
@mirkohu76242 жыл бұрын
@@akashmurthy For example, if I have some fluctuations in my signal, will the quantization remove them?
@akashmurthy2 жыл бұрын
@@mirkohu7624 no, it won't. If you're looking to smooth out a signal which was a lot of fluctuations, use a low pass filter.
@mirkohu76242 жыл бұрын
@@akashmurthy Thank you for the fast reply, and keep posting!
@JoshGray-y3k Жыл бұрын
Great content!!!
@PabloFloresMusic3 жыл бұрын
Amazingly well explained!
@akashmurthy3 жыл бұрын
Thanks mate!
@RayZde3 жыл бұрын
Impressive videos!
@aiacone10 ай бұрын
Top class! Thnx a lot.
@manishkumarparmar4123 жыл бұрын
Thank you 🎶
@akashmurthy3 жыл бұрын
You're welcome!
@gershwyndaniels39033 жыл бұрын
i love you man. this is great informative stuff
@akashmurthy3 жыл бұрын
Cheers man! Enjoy!
@Tyco0722 жыл бұрын
Hi, great video! I have not understood one thing. Why does the quantization error stays as noise, after the conversion with the output signal? After the sampling (quantization) the original signal exists no more. Only the quantized signal (the squared sine) exists. The 2 signals (the input original sine and output quantized signal encounter each others nowhere. Therefore I don't understand technically, where does the difference signal (the noise) originates. each others nowhere, therefore I don§t understand, where does the difference signal (the noise) originates.
@akashmurthy2 жыл бұрын
I'm not very sure if I understand the question right. But I'm guessing you are talking about the section at 5:51 Over there, the difference signal is calculated between an accurately quantized sine wave at 16bit and poorly quantized sine wave at 3bit. This is a digital to digital comparison, and the noise is just the difference signal. Also, on another topic, the illustration maybe a bit misleading. There is NO squared sine wave that exists in the digital domain. It's just a simple way of illustrating. Only sample points exist in the digital domain, and these sample points aren't actually connected.
@Tyco0722 жыл бұрын
@@akashmurthy Hi. Yes, I have understood that after the A/D conversion, only single samples exists. But then where does the noise physically comes from, as difference with the original signal, if the original signal no more exists? The analog signal exist only in the input side of the A/D converter. In the converter it gets only measured, step by step, and then translated into numeric single samples. Nobody measures the difference between the sampled signal and the original input signal, so I don't understand why this noise is to be heard, when you convert the samples back to analog. You might notice missing detail from the original signal, but not a noise in that way as it happens.
@akashmurthy2 жыл бұрын
@@Tyco072 so, we are talking about quantization error. The ADC takes the input signal, samples it at discrete points, and then quantizes it as best as it can. The error here is in this process, where there a max of half an LSB of error in measuring a sample value. Let's say if there was no error at all. That would mean that these sampled values could be mathematically reconverted to an output signal which is the EXACT same as the input, without any difference. Practically, we deal with quantization error, since we don't have an infinite number of quantization levels or the precision required to measure the signal super accurately. The error affects ALL samples. It's not error at certain places. All sampled values are erroneous. The degree of error differs between sample to sample. How is white noise generated: you generate white noise digitally by choosing a random amplitude (-1 to +1) for all samples. So if you have 44100 samples and each of them having a random amplitude, if they are played back at 44.1k sample rate, you get 1 second of broadband noise. It's the random variations in sample values that give rise to noise. In quantization error, the samples have half a bit of random error. This is very little error, but error none the less. If there was no error, according to the sampling theorem, the DAC would use sinc functions to render an output signal which is indifferentiatable from the input signal. But dues to the presense of these error values, the output of the DAC mathematically produces a signal, which sounds like the input signal, with a little bit of noise. You are right in saying that the input signal disappears after running into the ADC. The DAC mathematically coverts the samples to form an output signal. What we do is measure the difference between the input and the output.
@cloudag43383 жыл бұрын
what a king
@akashmurthy3 жыл бұрын
:)
@definty3 жыл бұрын
Subbed and bell notifications activated!
@tuyetnhungnguyenthi88713 жыл бұрын
16 bits or higher: No error (less noise, accurate sound). 3 bits: Larger error (more noise, poor sound). Quantization error: Even larger error (most noise, all sounds are lost).
@MuhammadRaza-yd6sg3 ай бұрын
unreal voice man
@cinematichormone2 жыл бұрын
thankyo , brother , great
@HemantSreekumar3 жыл бұрын
Very Sweet
@iamthelight2 жыл бұрын
Very interesting thanks 👍🏽
@tuyetnhungnguyenthi88713 жыл бұрын
Lower Resolutions = Less accurate. Higher Resolutions = More accurate.
@felixgomez50852 жыл бұрын
Hi ! You seem to give 2 different definitions of dynamic range : 1 - Difference between max and min amplitudes (DNR ?) 2 - Max amplitude minus Max noise (SNR ?) So, what should I understand here ? Thx for your help !
@akashmurthy2 жыл бұрын
Hey there, it's a good question, there is a lot of complexity once you dig in further. I've tried my best to describe it below: There are plenty of nuanced usages of the term dynamic range. Sometimes it's used to represent dynamic range of a piece of music, or dynamic range of a listening environment. From Wikipedia: "The dynamic range of music as normally perceived in a concert hall does not exceed 80 dB" So here, we are talking about the loudest and quietest moments (generally RMS values of sound pressure measured). The other definition, the one this video is more interested in, is the dynamic range of a digital system. Here, it's the ratio between the theoretical largest and smallest values that a certain sample value can assume. I have made a mistake, when I said difference, it should be ratio. So in digital systems, there is always going to be 1 bit (1 discrete state) of inaccuracy, no matter what bit depth we choose. This is because of the rounding errors due to conversion from a continuous system to a discrete system. This is the theoretically unavoidable quantization noise. So, the highest amplitude value can only be determined by the bit depth of the system. So going by the 2nd definition, ratio between the theoretical largest and smallest values that a certain sample value can assume: 2^Q / 1 , where Q is the bit depth. Representing dynamic range of a 16-bit signal in decibels, we get 20 log (2^16 / 1) = 96dB. So the only way of increasing dynamic range is by increasing the number of bits. That's because the denominator will always be 1 discrete state of inaccuracies (noise).
@tuyetnhungnguyenthi88713 жыл бұрын
The higher the number of pixels or resolution, the better the quality and sharpness and clarity of the image. Decreasing the resolution, would pixelate the image and reduce the overall quality.
@LearnArabic-qu1et2 ай бұрын
thank you sir
@basvarajraj70802 жыл бұрын
Wooowwwww man great job 👏
@rishirajadhikary33013 жыл бұрын
So, if I understood this correctly, quantisation noise cannot be removed by any filter (LPF, HPF, BPF), right?
@akashmurthy3 жыл бұрын
That's right, you can't remove quantization noise by filtering.
@niman47093 жыл бұрын
@6:28 why is the dynamic range below the noise floor?
@akashmurthy3 жыл бұрын
So, at @3:21 the illustration there is the decibel scale. There, anything lower on the scale is lower in signal level. But @6:28 the illustration used is different, maybe I should've been clearer. The illustration here is instantaneous amplitude, this is what you see when you record an audio track on to DAW software, it swings from -1 to 1 on your DAW software. -1 doesn't mean it's lower in volume. Any deviation from the center line (0 value) results in a relatively higher signal level. Peaks of audio could lie in the negative axis, and this common. Ofcourse, -1 to 1 is the the normalized form when we use floating point format on DAWs, but here we're talking about really low precision fixed point format. For a bit depth of 3, you only have 8 distinct levels. Now the question is, if the signal can peak on either side of the instantaneous amplitude graph, why did I deliberately choose to make it more confusing, and put the peak on the bottom? This is for correctness. If you look at how you can spread the 8 values across the positive and negative axis, you get: -4, -3, -2, -1, 0, 1, 2, 3 There is a skew. You have more negative numbers than there are positive. You can't represent an even number of values symmetrically across the axis. For simple signals like the sine wave which swing from either extreme, there is always a negative bias. Ofcourse, this bias is only exaggerated at such low bitdepths.
@niman47093 жыл бұрын
@@akashmurthy I've always found the whole instantaneous amplitude illustration thing so confusing, seems to be obvious tho as no one ever takes the time to elaborate, but your answer made it clear. Thank you for this accurate and thorough explanation. You have one gem of a channel btw, so much quality content, keep it up!
@arijitchakraborty15575 ай бұрын
lovely
@desibigfoot38742 жыл бұрын
Great content Sir. But i wish you wouldn't try so hard to hide your real accent. I bet it is really great.
@Thoracius3 жыл бұрын
Quantization error noise vs cassette noise is apples to oranges. One is random and the other is nasty overtones.
@akashmurthy3 жыл бұрын
You're right, you can't compare quantization error to cassette noise. Two fundamentally different phenomenon which causes 2 different types of noise. I was talking about dynamic range available for different media. That's a valid comparison. An analog medium like a cassette is physically bound to constraints like how fine the variations in magnetic flux is, on the metal coatings on tapes, and the speed at which the tape is spun, all of which determines the signal to noise ratio (and in the end, the overall dynamic range available). In the digital domain, you have bit depth, which determines the overall signal-to-error ratio of an undithered digital signal., which again determines the overall dynamic range available.
@innovation49602 жыл бұрын
5:51
@nimishkumar4952 Жыл бұрын
Hello sir
@emjay9733 Жыл бұрын
Can’t imagine! Looks like privilege.
@tuyetnhungnguyenthi88713 жыл бұрын
Hello Hello I want to take you are you Hello Hello I want to know what you want to make up ok
@abduljalil341122 күн бұрын
Don't invest any company because they are scammer stay away ?
@lil_works3 жыл бұрын
Thank you so much ! The work you do with animations and explanations are truly amazing bro 🤍