# Frequency shift without affecting signal length

Non-physicist here.

From what I've learned in university and what common sense says, a shift in frequency of a signal results in a change in its length in time. For example, if a sinusoid signal of frequency $f$ and length $t$ is transferred to frequency domain, it's $f$ divided by $2$, then converted back to time domain, the length of the signal would be $2t$.

Correct me if I'm wrong! But this is quite intuitive. If you make a signal slower, it would take more time to finish and vice versa.

This is a reason why I've been told it's impossible to change frequency of a streaming signal and output it with the same speed. For example, it would be impossible to take a man's speech and change it to sound like a woman without making it faster.

• In Coursera, you can increase the speed of course lectures and the sound is also of course sped up. However, there is no rise in the pitch of the voice of the speaker. In fact, the speaker sounds very similar to the normal speed. How is it possible to change in speed of the signal didn't affect its frequency?
• My amplifier has a dial for shifting the pitch. So, while playing, you can here the output with a different pitch. Again, how is this possible? If the amplifier is rising the pitch, shouldn't its output be faster than its input? (i.e. a contradiction!) I'm suspecting some trick though, as the output sounds rather "artificial".

It seems that it is somewhat possible to change the frequency of a signal without affecting its length. One (theoretical) way I can think of would be to understand the current "notes" playing (i.e. the different frequencies making the signal) in very small intervals, change the note and replay them for the duration of that interval.

My question is, first if my understanding is at all correct. Either way, is there a mathematical way for changing the pitch of a signal without affecting its length in time? If not, how can they be doing it in practice?

• I don't actually know the answer to this (I'll await someone with more signal processing knowledge to answer this), but I strongly suspect that it's not just a simple time-frequency domain stretch which is being applied. One way you could conceivably increase pitch without speeding things up would be to chop the signal into small patches to generate a spectrogram, apply frequency stretches to the patches, duplicate every patch, and then convert back to the time domain. In practice I feel this would have nasty "edge effects", so a more delicate procedure would probably be needed. – DumpsterDoofus Dec 26 '13 at 2:30
• The trick is to use a Fourier transform. Instead changing the pitch by compressing the waveform (which affects the play time), the sound is converted into the frequency domain. Then all the pitches are shifted up, and the sound is converted back. You can think of this as slicing the sound up into a bunch of tiny time windows. Then compressing each time window to half the time (doubling the pitch), and then playing each time window twice. – Brandon Enright Dec 26 '13 at 2:31
• -1; In the earlier part of your question, I dont get what you are trying to say. From what I know you are totally misinformed! Why would signal length depend on frequency? first of all what you mean by signal length? Wonder in which university did you study this wrong thing? – Rajesh Dachiraju Dec 26 '13 at 3:02
• @RajeshD it seems easy enough to understand to me. – Nathaniel Dec 26 '13 at 3:11
• @RajeshD, just to be clear on how *.SE.com series of websites works, one usually asks a question when they don't know something. Usually, being misinformed is not a reason for -1, as that is the reason for the question in the first place! -1 usually applies when the question is very low quality, or shows no effort in finding the solution whatsoever. No hard feelings, though. I just wanted to clear that up. – Shahbaz Dec 26 '13 at 17:56