Audio Signal Processing: changing spectrum directly

Click For Summary
SUMMARY

This discussion centers on the manipulation of audio signals in the frequency domain using LabView and direct cosine transforms. The user explores two methods of altering the spectrum: adding zeroes to the end of the spectrum and interleaving zeroes within the spectrum. The first method results in a time-stretched audio signal that plays at half speed, while the second method produces a signal that plays normally followed by a reversed version of the original. The user seeks clarity on the implications of these transformations and their relationship to frequency resolution.

PREREQUISITES
  • Understanding of audio signal processing concepts
  • Familiarity with LabView software
  • Knowledge of direct cosine transforms
  • Basic principles of frequency resolution in digital signals
NEXT STEPS
  • Study the principles of phase vocoders for pitch and speed manipulation
  • Research the effects of zero-padding in the frequency domain on time-domain signals
  • Learn about the inverse discrete Fourier transform and its implications on audio signals
  • Explore frequency resolution calculations and their impact on audio quality
USEFUL FOR

Audio engineers, sound designers, and anyone involved in audio signal processing who seeks to understand the effects of frequency domain manipulations on time-domain audio signals.

Evertje
Messages
9
Reaction score
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?
 
Last edited:
Engineering news on Phys.org
Interleaving frequency spectra (audio)

Hi,

I have an audio signal, which I have transformed into the frequency domain. Let's 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!
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
7
Views
2K
Replies
17
Views
6K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K