[pd] FFT sine to saw oscilator (was:[pd] hanning window + fft)

Kyle Klipowicz kyleklip at gmail.com
Tue Sep 5 06:34:30 CEST 2006


Wouldn't the simplest solution be to use a sawtooth wave and then
filter it down to the fundamental using subtractive synthesis?  Why
this other method, other than pedagogical curiosity?

~Kyle

On 9/4/06, mami music <mami.music at gmail.com> wrote:
> Hey guys thanks for the explanation!. goin further in the study of fft and
> applications, iam designing an oscilator that is capable to go from pure
> sine tone (fundamental harmonic) to a saw (all harmonics)...
> 1.I have had trouble finding the amplitudes of the harmonics and relating
> them to a specific function.
> 2.Theoretically for it to work propperly i should include infinite
> harmonics, i am using
>
> [; table sinesum $f1 $f2 $f3 $f4... $f12] to generate the 12 harmonics with
> different amplitudes in an array
> and then read it with tabosc4~ but i still don get enough saw sound.
>
> Is it a game of try/error or have any of you guys done it with a larger
> amount of harmonics.???
>
> 3. What i wanted in the beginning was to use the object FFT~ but didn´t get
> along quite well... can anyine pinpoint how to create a list that IFFT~
> could interpret as a couple of sinewaves?
>
> thankz a lot!!!!
>
> 2006/9/4, Kyle Klipowicz <kyleklip at gmail.com>:
> > This is a good explanation.
> >
> > ~Kyle
> >
> > On 9/4/06, Chuckk Hubbard <badmuthahubbard at gmail.com> wrote:
> >
> > > If you did a FFT with a block size larger than an entire audio file,
> > > as I understand it, you wouldn't need a window.  Looping Martin Luther
> > > King's "I Have a Dream" speech (or the audio from the second season of
> > > CHIPS, or a recording of penguins in their natural habitat) over and
> > > over with a 30-minute pause between each round would technically be a
> > > "periodic function", so analyzing it this way would create an accurate
> > > representation; unfortunately, you would have exactly one value for
> > > each frequency, which tells you nothing about the frequency content at
> > > any point.
> > > To analyze changing frequency content, you have to take smaller
> > > blocks.  Repeating these to make them "periodic functions" means the
> > > beginning and end of any one block of sound will run together.  If
> > > this happens to create a continuous function, great, but the chances
> > > of that happening with every block are pretty low (if a block is 64
> > > samples, at 44100 samples per second, and the second season of CHIPS
> > > is 23 episodes, that's a lot of blocks).
> > > Windowing the input simply forces that part of the function to be
> > > continuous, by forcing beginning and end to the same value and
> > > direction.  To prevent the data from that part of the function from
> > > being completely lost, alternating FFTs can be taken with windows in
> > > opposite phase.
> > >
> > > I don't exactly understand what happens with the result, though.
> > > Whether the frequency values are averaged, or whether resynthesis is
> > > done with the same overlapping.  I also don't understand
> > > upsampling/downsampling with the block~ object, but I'm not sure
> > > that's related.
> > >
> > > -Chuckk
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > >
> > > > Glad this came up!!
> > > > Kevin
> > > >
> > > >
> > > > _______________________________________________
> > > > PD-list at iem.at mailing list
> > > > UNSUBSCRIBE and account-management ->
> > > > http://lists.puredata.info/listinfo/pd-list
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > "Far and away the best prize that life has to offer is the chance to
> > > work hard at work worth doing."
> > > -Theodore Roosevelt
> > >
> > > _______________________________________________
> > > PD-list at iem.at mailing list
> > > UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
> > >
> >
> >
> > --
> >
> > http://theradioproject.com
> > http://perhapsidid.blogspot.com
> >
> > (((())))(()()((((((((()())))()(((((((())()()())())))
> > (())))))(()))))))))))))(((((((((((()()))))))))((())))
> > ))(((((((((((())))())))))))))))))))__________
> > _____())))))(((((((((((((()))))))))))_______
> > ((((((())))))))))))((((((((000)))oOOOOOO
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
> >
>
>
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
>
>


-- 

http://theradioproject.com
http://perhapsidid.blogspot.com

(((())))(()()((((((((()())))()(((((((())()()())())))
(())))))(()))))))))))))(((((((((((()()))))))))((())))
))(((((((((((())))())))))))))))))))__________
_____())))))(((((((((((((()))))))))))_______
((((((())))))))))))((((((((000)))oOOOOOO




More information about the Pd-list mailing list