best explanation of pitch shifting I've seen so far, this is a 3blue1brown level of quality video, awesome work !!
@Joshua_Griffin20 күн бұрын
Very nice
@therockafireАй бұрын
Well, that clears that up! (For Albert Einstein!)
@roeesi-personal3 ай бұрын
Hey nightcore doesn't really need a complicated pitch shifting algorithm (except what you do is just Fourier and then fine I guess but I expect you to keep the rhythm the same if you're really talking about a *pitch* shifter). You just need to play the samples a bit faster and you're golden.
@roeesi-personal3 ай бұрын
Yup turns out you met and even exceeded my expectation, and I think this even sounds better than what's in librosa. Just shows what you can get when you think really well about your problems and code a solution yourself instead of relying on existing tools.
@michaelpeets84444 ай бұрын
Very cool. How challenging would it be to turn the python code into a function that could be called from javascript to effect a pitch shift of x semi-tones against an mp3 instrument or vocal track?
@DKDiveDude5 ай бұрын
Very nice video. I would really like to see the code C or C++, maybe even using the JUCE platform.
@nika_2516 ай бұрын
nice
@dittilio6 ай бұрын
Excellent video. I really hope the phases didn't smother your interest in making more videos. Instant subscription.
@kaishang64066 ай бұрын
Thank you very much, the ideas in this video are useful for more than just music.
@noharahien6 ай бұрын
Very helpful. Thank you!
@riccardorosso27956 ай бұрын
Do more video like this one please!! Incredible work!
@Rajkumz7 ай бұрын
Wonderful video. Excellent idea to calculate the volume ❤❤
@MrAlgorytmid7 ай бұрын
i love yo man
@raisingjakestudios13717 ай бұрын
Something I don't understand - it seems that shifting the windows to provide phase alignment from one frame to the next is also affecting the Hop size from one frame to the next. I would expect this variation in hop size to produce a fluctuation in the shifted pitch, i.e., a chorusing side effect, but your audio example doesn't seem to do that. What am I missing here?
@dathandsometroll18527 ай бұрын
This is awesome! I have been planning an onboard active pitch shifter for my electric guitar for about a month, so thanks for the video. Now would you happen to know how one would make this work on an Arduino micro?
@commiekiller30008 ай бұрын
I like how almost every hurdle in audio processing comes back to phase when you trace it back far enough.
@pepedecoatza8 ай бұрын
What a video. I just saw its your first video in your channel, so, congratulations and keep it up!
@mikecase20338 ай бұрын
I love when I see something I take for granted (viewing youtube at x1.5) has a ton of math behind it. Awesome video
@ubza12348 ай бұрын
I found a fun but primitive way of stretching audio with some old tablet software. (modplug) all I'd so is play the audio for two ticks, then reverse the audio for one tick, then forward again two ticks etc. If it ran fast enough, it sounded passable, especially with some manual echo.
@MysteryPancake8 ай бұрын
6:28 The reason pitch modification is listed as "yes" for PSOLA is because it's the only algorithm that doesn't change the formant, which is important to produce natural sounding speech. Unlike SOLA and WSOLA, it doesn't introduce a chipmunk effect when speech is sped up. Because of this, it's heavily used in many autotune plugins today. It's possible to tell if a plugin uses PSOLA by shifting the vocal down: - If the formant sounds the same and there's gaps in the waveform, this indicates PSOLA was used, as it has no way to fill in those gaps. - If the formant sounds the same and there's no gaps, this indicates a frequency-based approach was used, as it can fill in those gaps. - if the formant sounds different, it's likely another approach was used.
@Aio-Project9 ай бұрын
the amount of math videos i had to rewatch before returning to this
@DanielHauser9 ай бұрын
Very nice! I would love for you to make a video on the fast fourier transform. It's my personal white whale. I just can't understand intuitively how it works.
@AndrewJohnClive9 ай бұрын
I’m not sure why my tiny mind thought lifting this stone would be a good idea…🙂❤️
@hughmathimati9 ай бұрын
Yo, I remember you from Khan Academy! Keep making awesome stuff dude.
@turtleparty72419 ай бұрын
Fact: the voice of this video is AI generated.
@turtleparty72419 ай бұрын
It took me a minute to realize something was off with the narrator voice, then I realized the obvious discrepancies. Pretty spooky.
@nanke19879 ай бұрын
what notebook are you using to run code snippets?
@samuelthecamel9 ай бұрын
This explains why KZfaq's speed changing feature makes the audio sound so bad
@Tabu112119 ай бұрын
Ah is that first naive approach how you get that jungle dnb sound?!
@amp41059 ай бұрын
6:34 yeah.. nah, im just a producer bro 😆
@amp41059 ай бұрын
I always wondered why pitch shifting up sounds worse than down
@amp41059 ай бұрын
this is complete conjecture but i think it could be referred to as hanning because you're using hann's technique therefore you are "hanning it"
@Photosounder9 ай бұрын
3:30 your envelope normalisation doesn't take into account the incoherent averaging between each chunk. If you took care of that correctly you wouldn't have "flutter" 9:01 It's not half the frequency, it wraps around between -0.5 and 0.5, so a frequency of 0.9 (1 being the sampling rate) will come out as -0.1.
@theparadox429 ай бұрын
Were you on Khan Academy programming for a while?
@yuvalne9 ай бұрын
the demonstration are what really make this video. truly well done.
@1.41429 ай бұрын
It's not a phase, mom!
@1.41429 ай бұрын
I've noticed how much better chrome is than safari at 2x speed audio
@TheRunicorn9 ай бұрын
A bit late, but my assumption is people say "Hanning" window due to the linguistic similarities to "Hamming" window
@amp41059 ай бұрын
why would people purposefully call something that of which it could be confused with?
@mumiemonstret9 ай бұрын
That was a concise walkthrough of the steps necessary to pitch shift. I never thought there were so many, and apparently you left some out. I can say that your end result still sounded way better than what Cool Edit Pro (predecessor to Adobe Audition) could accomplish. Of the left out steps, I would like to see formant preservation as the topic of a follow-up. It would be interesting to hear what happens when you move formants and pitch independently in a vocal sample.
@limbaksa9 ай бұрын
Anyone listening to the time-shifted version of the time-shifted audio?😂
@zorggn9 ай бұрын
I wish i found this video sooner tbh, would have saved me some time, i believe. :3 After toiling for quite a bit of time trying to implement a realtime pitch shifter/time stretcher (hence i didn't want to touch fft or other things that would eat performance), i arrived at a solution where i only ever use two windows overlapping exactly 50%, but for each step to generate a new chunk, the windows are both resized to a size that's the chosen one plus/minus a small (uniformly or normally, i tried both) random deviation; Considering that a static window size was producing a very noticeable tone with my code with window sizes that were small enough to make the crossover points fast enough to go into audible pitch territory, the randomness introduced seemed to make that less noticeable quite nicely, basically akin to turning a pure tone into white noise. I still have issues with fluttering though, that i couldn't find time to implement a fix for yet.
@karlkastor9 ай бұрын
Great video! I always thought pitch shifting was just translation in the frequency domain. I like how you explained the problems with the example.
@vilkillian9 ай бұрын
5:32. To be precise, auto-correlation is a convolution between signal and itself, but delayed, this is what auto- means, in this case it is just "correlation"
@acurara01139 ай бұрын
nice video! I always wondered about how exactry convolution reverbe works (yes, maybe I'm the only one wondering), could you do the video about that?
@jacquesdebruyn78849 ай бұрын
Very interesting, I tried lots of phase shifters and none give me an good result. With what module can I use your shifter program? I'm using the ESP32 on a steel guitar that control the string tensions, and it would be great to use Pitch shifting instead of string stretching.
@apotheotic9 ай бұрын
Excellent video, I hope to see more from you soon
@a.w.n.i.s10 ай бұрын
i would not have the balls to do such a well made video at 1,7k followers
@georgeabraham725610 ай бұрын
Changing the pitch without affecting ADSR ❤
@georgeabraham725610 ай бұрын
Improve the dft samle to include the ascention/descention figure for each frequency?