> On Feb 22, 2018, at 10:23 AM, Oleg Nesterov <o...@redhat.com> wrote:
> On 02/22, Mykle Hansen wrote:
>> My latest problem: my Faust program seems to hang the compiler,
>> locking up one CPU on my system until I terminate it.
> ...
>> betanoise(beta) = real, imag : an.ifft(N) : select2(0)
>> with {
>>  N=8192; // 2^13
> Well, an.ifft(8192) needs some time to compile ;)

Aha.  Or rather, d’oh.

> but it seems that you do not really understand what it does. You can't use N 
> > 1,
> inputs(an.ifft(N)) == 2 * N and it must be equal to 2 == outputs(real, imag).

You’re right, I sure don’t. =) I thought N was an evaluation window
size, or something.

I was just experimenting with Bourke’s approach, which I 
get in theory but not in practice.  The signal his code is
feeding to fft(-1) is a complex waveform with exponentially decreasing
magnitude over time (dithered with noise) & random phase.
He runs it through IFFT to convert that into 1/f noise, with
exponentially decreasing power over frequency.  

Peering at analyzers.lib a little deeper now …
am I right that N is the number of evaluation
bins, i.e. as would be produced by a forward FFT
analysis of a signal?  (So 32 would be plenty for audio,
and that compiles quickly enough.)

If so, I guess my whole approach is 90 degrees off —
the magnitudes need to be fed in parallel to ifft(),
not in series.

Does that seem right?  I admit I’ve never done an IFFT before. =)


Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Faudiostream-users mailing list

Reply via email to