Audio Signal Processing: changing spectrum directly


by Evertje
Tags: audio, directly, processing, signal, spectrum
Evertje
Evertje is offline
#1
Oct1-09, 08:35 AM
P: 9
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:

Lets 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?
Phys.Org News Partner Engineering news on Phys.org
Researchers propose network-based evaluation tool to assess relief operations feasibility
Large streams of data warn cars, banks and oil drillers
Engineering student developing traffic forecasts
Evertje
Evertje is offline
#2
Oct2-09, 02:49 AM
P: 9
Hi,

I have an audio signal, which I have transformed into the frequency domain. Lets say for simplicity that it contains 1024 samples, sampled at 1024 Samples/s. Now, as a first experiment I add 1024 samples (in the frequency domain!), all with zero amplitude. This has doubled the number of samples. When I transform this spectrum back into the time domain, my signal lasts twice as long (I expected this), but my signal is slowed down by a factor of two also. I would've guessed this based on the fact that the time domain signal will not contain zeroes also.. but I do not see how the inverse transform also 'stretches' the time signal so that it exactly fits twice.

The second experiment involves not adding the zeros to the end of the spectrum, but interleaving them. Again, my signal duration doubles, but now something completely different
happens. In the time domain, the signal first plays normally, but the second half of my audio sample now contains the original in reverse!

I have the feeling I'm missing something crucial.. I am not changing the frequency resolution by adding zeroes in the frequency domain, am I?

Thanks for any help in advance!


Register to reply

Related Discussions
Changing number bases directly Introductory Physics Homework 3
Signal Processing Calculus 4
Signal Processing FFT help Engineering, Comp Sci, & Technology Homework 1
Signal Processing FFT help Electrical Engineering 4
Signal processing Computing & Technology 5