- #1
Evertje
- 9
- 0
Hi all,
I'm having some trouble understanding the consequences of directly changing the frequencies in the spectrum of an audio signal. Let me give you an example:
Let's say I have some audio signal, which I convert to a spectrum (in LabView, using a
direct cosine transform (to avoid explicitly working with phases)). Then, when I have this
spectrum, I add a bunch of zeroes to the end (so that I exactly double the number of
samples). Now, since I've double the number of samples, my audio signal becomes twice
as long (same playback rate), and my sound has changed pitch. The problem with this is,
I don't see how the inverse transform exactly "strechtes'' the time signal.
Now, starting with the original spectrum again, I try to interleave the spectrum with zeroes (i.e. sample1, 0, sample2, 0, etc..). So the spectrum again becomes twice
as long, and so does my audio sample. But, my audio sample now has not changed pitch/speed,
and furthermore, the sample now contains the original twice! The second part is in
reverse, however...
I have been trying for some time to figure it out; In the process i have learned a great deal about phase vocoders etc. and all kinds of techniques to change pitch w/o changing speed and vice versa. Maybe I'm missing a crucial part of 'understanding'. I am also unable to link this to the frequency resolution. Since i know that
Freq.Res = 1/(Num.Samp. * dt),
increasing the number of samples also increases my freq. res.; But this has "no effect" if I increase the number of samples in the frequency domain, right?
I'm having some trouble understanding the consequences of directly changing the frequencies in the spectrum of an audio signal. Let me give you an example:
Let's say I have some audio signal, which I convert to a spectrum (in LabView, using a
direct cosine transform (to avoid explicitly working with phases)). Then, when I have this
spectrum, I add a bunch of zeroes to the end (so that I exactly double the number of
samples). Now, since I've double the number of samples, my audio signal becomes twice
as long (same playback rate), and my sound has changed pitch. The problem with this is,
I don't see how the inverse transform exactly "strechtes'' the time signal.
Now, starting with the original spectrum again, I try to interleave the spectrum with zeroes (i.e. sample1, 0, sample2, 0, etc..). So the spectrum again becomes twice
as long, and so does my audio sample. But, my audio sample now has not changed pitch/speed,
and furthermore, the sample now contains the original twice! The second part is in
reverse, however...
I have been trying for some time to figure it out; In the process i have learned a great deal about phase vocoders etc. and all kinds of techniques to change pitch w/o changing speed and vice versa. Maybe I'm missing a crucial part of 'understanding'. I am also unable to link this to the frequency resolution. Since i know that
Freq.Res = 1/(Num.Samp. * dt),
increasing the number of samples also increases my freq. res.; But this has "no effect" if I increase the number of samples in the frequency domain, right?
Last edited: