ΣSigmaStudio Ask AI Русский Log in

Pitch Shifter

SigmaDSP & SigmaStudio Skfir Sep 4, 2012 00:00 2 replies Original on forum ↗
Subscribe
Skfir Question
Sep 4, 2012 00:00

Sorry, just wanted to clarify a bit. I again made a very primitive test circuit, 200 hz sine wave generator connected to pitch shifter, which is in turn connected to the output. All the values of the shifter were intact. 300 samples delay, 100 shift range, I connected the whole thing to my oscilloscope, and when I move the slider - nothing happens! Absolutely no any change. Just wanted to ask, whether the shifter is ready and working? Or I did something wrong? Just found only one topic about this algorithm and judging by the posts there it should be working, so I do not understand.

ADIApproved Reply
Sep 6, 2012 00:00

HI Skfir,

In order for the algorithm to work correctly there must be at least the same amount of samples in the delay buffer reserve as are in one cycle of the lowest frequency that you want to pitch shift. For decent performance you are going to want more then that, maybe close to double. The project you attached has a sample rate of 192 kHz. This means there are 960 samples in a single cycle of the 200 Hz signal you are generating ( (1/200Hz)*Fs). So, you will need at least a delay reserve of 960 samples to see much of anything happen. I found that I can get pretty good performance with a delay buffer size of about 1600.

This can also turn into an issue with using higher sample rates as you will run out of memory pretty quickly if you want to shift low frequencies.

It is also important to note that you need to Link Compile Download everytime you change the delay buffer size.

Skfir Reply
Sep 6, 2012 00:00

Got it! Thanks!