[Pd] Complex audio signals

Chuckk Hubbard badmuthahubbard at gmail.com
Tue Jun 20 05:12:00 CEST 2006


Okay, I've read through some of the Fourier explanation in this
Digital Filters book, and I think I understand.  That was going to be
one of my next questions: if the data of the FFT actually has the same
number of possibilities as the audio data itself (by bit rate and
block size), is there then a 1 to 1 relationship, where no two audio
blocks could have the same FFT data.  I take the answer to be yes.  I
was told by an electrical engineer that short block sizes miss lower
frequencies, but that seems to be covered with the DC channel, even
down to a block size of 4.  I was a little confused by the possibility
of having, for instance, 7 oscillators tuned within .001 Hz of each
other, since there is only one value for each channel, and I read that
FFT is more accurate if the frequency of the sound is known and is in
a harmonic relationship with the bins.  But it makes sense that, with
a discrete signal, some combination of possible values from
neighboring channels would create the same signal.  So, the idea is
just that the transform data is easier to read if there is a harmonic
relationship- not that the reconstructed signal will be truer?

Another question: if I just ran rfft~ on a signal, and then ran ifft~
on the transform, would that create the same signal as a complex
signal?  The reason I am concerned about this is that, going by
Miller's chapter on filter design, more can be done with a
single-sample delay if the coefficient is complex.  Is this process
exactly the same as the Hilbert transform or is there some subtle
difference?  I'm anxious to start designing filters.

I've been extensively cross-referencing between Miller's Theory and
Techniques, Erik Spjut's chapter on DSP in the Csound Book, and
Digital Filters by RW Hamming.  It amazes me that, with the help of
the other two books and mathworld, I am beginning to comprehend a lot
of the Hamming concepts, which seemed totally inscrutable last fall.
Too bad I go to an art school that would never pay for MathLab in a
million years.

Thanks.
Chuckk


On 6/19/06, Mathieu Bouchard <matju at artengine.ca> wrote:
> On Wed, 14 Jun 2006, Chuckk Hubbard wrote:
>
> > I mean that the reconstituted sound is not exactly the same as the
> > original signal.
>
> after a [fft~], a [ifft~], and then dividing by the block size, what's
> different from the original? prolly just arithmetic error from addition
> and multiplication.
>
> BTW, if you look at relative errors on individual bins you are not looking
> at the right thing. Your relative error should be computed relative to the
> magnitude of the whole sound. If you have a case where you really need to
> have low individual relative errors, then you might have a point, but I
> wonder, do you have such a case?
>
> a pair of FFT on a block size of 1024 is supposed to be roughly like 20
> layers each containing 2 [+~], 3 [*~] and 2 [z~], arranged in a rather
> regular pattern.
>
>  _ _ __ ___ _____ ________ _____________ _____________________ ...
> | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
> | Freelance Digital Arts Engineer, Montréal QC Canada
>


-- 
"Far and away the best prize that life has to offer is the chance to
work hard at work worth doing."
-Theodore Roosevelt




More information about the Pd-list mailing list