multiple peak finding in array

For general discussion related FlowStone
tester
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: multiple peak finding in array

Post by tester »

Thank you my Hero! ;-)

p.s.: I can't offer paypal, but if you would like to get something from my audio collection - just say it.
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
tester
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: multiple peak finding in array

Post by tester »

"Standard" procedure, loading array from a file.

Now the thing is.
If you "just load" the array - it's fine.
If you push through text primitive to convert it into array of floats - it's fine.
If you connect the text primitive to output node defined as "float array" - it's fine.

But if you try to load the file, when module is connected to anything else (second text primitive, section prim, or as in schematic) - everything slows down, and FS generally hangs.

So my question is.

How to extract a section of floats before it's provided further?
If input file is made of two comma separated columns - how to extract selected columns?

Attached file is the smallest input array (FFT from 256kpts) to illustrate the problem. But probably input will be 2 or 4x larger (512kpts, probably 2 columns; have no influence on that right now).

*

Btw - could you combine these two ruby sections into one?
Attachments
issue.zip
(594.69 KiB) Downloaded 995 times
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
tester
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: multiple peak finding in array

Post by tester »

Maybe the array could be loaded somehow not as a text file, but as a wave file, transported to mem (or just stream) and not to green array on first place? Mem/stream operations on extracting portions at selected indexes would be faster?
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
User avatar
MyCo
Posts: 718
Joined: Tue Jul 13, 2010 12:33 pm
Location: Germany
Contact:

Re: multiple peak finding in array

Post by MyCo »

Working with a large amount of data is always slow in FS. Maybe you can workaround by wrapping everything including file loading into one single Ruby component. But this is a really special case, which has to get fit for the application you're building.
tester
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: multiple peak finding in array

Post by tester »

Making such application in ruby is beyond my skills. But I'm trying to simplify the concept in my head, to get the picture of what I deal with.

Are you able to create something in ruby, that:
1) takes an input text file,
2) is able to navigate between (comma) separated columns within that file
3) is able to extract a section of selected column (or selected lines if pt.2 isn'tt good) according to input offset and range?

If this one is possible, then FFT (and whatever else) data could be transported to analysis either portion-by-portion (small arrays), or according to some custom reference selections.

*

In terms of non-ruby feature request to devs for partial FFT primitives, I would say this.

FS is able to load large files because it loads even 300 megs audios. FS is also able to deal well with indexes larger than 16kpts, because there are stream primitives that capture up to 44100 samples (or this is sample rate dependent?). Thus - such primitives could:

1) capture a stream and/or load audio file, perform high resolution FFT on it, and export small FFT range according to user selection,
2) pick large text files, and output user selected small range from it to the rest of schematic.

MyCo, if you see better how it coul work and how it could be of benefit, send it to Malc; he probably will not listen to regular users, but I guess he may consider smarter advices from programmers.
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
Post Reply