[PD] get sinusoid from a sine and a cosine oscillator

Charles Z Henry czhenry at gmail.com
Thu Jan 30 17:06:43 CET 2014

You  don't want fft~/ rifft~ for that.  It's a mapping between large
structures on blocks and single-samples (and vice-versa).

To get a single sinusoid from a path-defined circle, you just project onto
a single dimension.  For example, (x,y)->x  or (x,y)->y  or (x,y)->
(sqrt(3)/2*x+1/2*y).  In the case of a circle, all the axes you would draw
through the circle work equally well.


On Wed, Jan 29, 2014 at 2:44 PM, Alexandros Drymonitis <adrcki at gmail.com>wrote:

> Yeah, well I'm trying to create shapes in Gem (say a circle) and create
> the sound they make. So, to make a circle, I'm making a ramp from 0 to 1,
> multiply it by 2pi and send it to [cos] and [sin] and store these values in
> two tables, which I then read for every instance of a [circle] (using
> [repeat] and [separator]). So, since for any shape, you need two
> coordinates, x and y, my thought was to use these two coordinates as the
> real and imaginary part of an FFT, merging the two dimensions in one.
> After the sinusoid, I'll try to make other shapes too, but I wanted to
> start from that to make sure that I hear exactly what I see.
> On Wed, Jan 29, 2014 at 10:30 PM, Charles Z Henry <czhenry at gmail.com>wrote:
>> What you seem to be doing is creating a spectrum which has magnitude 1
>> everywhere, and the phase is varying at a constant rate vs frequency.  That
>> means it has a constant group delay.
>> So... my guess is that you'd get an impulse in each block, whose timing
>> depends on the rate of the phasor.  When you vary the phasor frequency, it
>> will coincide with the peak of the hann window at some point and be its
>> loudest.
>> Should be a periodic complex tone.  I don't understand your goal:  you've
>> got sinusoids in the patch... to generate sinusoids?
>> Chuck
>> On Wed, Jan 29, 2014 at 9:12 AM, Alexandros Drymonitis <adrcki at gmail.com>wrote:
>>> Say I have a full sine and a full cosine cycle stored in two tables. I'm
>>> trying the following to get a sinusoid from [rifft~] but it doesn't work.
>>> [phasor~]
>>> |
>>> [*~ sizeOfTable - 3]
>>> |
>>> [+~ 1]
>>> |\
>>> | \
>>> |  [tabread4~ sine]
>>> |   \
>>> [tabread4~ cosine]
>>> |      \
>>> [rifft~]
>>> |
>>> |    [tabreceive~ hann]
>>> |    |
>>> [*~ ]
>>> |
>>> [/~ 1536]
>>> I've set the block size to 1024 in this subpatch, and there's a hann
>>> window in the parent patch as well. The tables have three guard points,
>>> that's why I'm multiplying [phasor~] by the size of the table minus three
>>> and then add one.
>>> The output of this is a waveform with very low amplitude that kind of
>>> bounces up and down within a sine like mask. Don't know if I'm making my
>>> self clear. My main question is, how do you get a sinusoid out of a sine
>>> and a cosine? Also, what's wrong in my approach?
>>> _______________________________________________
>>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20140130/7fb4ec72/attachment-0001.htm>

More information about the Pd-list mailing list