Hi Victor, Yes, I was thinking of time-domain in, time-domain out, but amp and freq streams would be more interesting to work with in Faust. We can do that now using a filter-bank approach, but of course that's more CPU load without an FFT and without downsampling of the channels.
"Stream bundles" would be a major addition to the language! Cheers, Julius On Thu, May 6, 2021 at 11:24 PM Victor Lazzarini <victor.lazzar...@mu.ie> wrote: > Thanks, Julius. > > So that I understand what you mean: what form does the out stream take? > Are you suggesting that the ffunction does all frequency-domain processing > and returns > a time-domain signal, or that it puts out the STFT frames back-to-back > (not sure how it would work)? > > I guess a pv analysis in an ffunction could produce amp and freq streams > (for each bin). Just how to manage so many streams may be a challenge. If > there was some sort of a container format that bundled several streams > together, I think it would work. Then functions to pack/unpack. A ffunction > pair for analysis/synthesis, a library function for additive synthesis. > Library functions for common processes, and there you go, a spectral > processing system within Faust. > > Prof. Victor Lazzarini > Maynooth University > Ireland > > On May 6, 2021, at 9:26 PM, Julius Smith <julius.sm...@gmail.com> wrote: > > > Hi Victor and Dario, > > In the current Faust, I would put the FFT in a ffunction which hops > internally. From the Faust perspective, it would accept a signal stream > and return an FFT-processed stream. > > Cheers, > Julius > > On Thu, May 6, 2021 at 9:30 AM Victor Lazzarini <victor.lazzar...@mu.ie> > wrote: > >> yes, I wonder. The Hann window would of course be a raised scaled cosine >> (it could reside in a library of course). >> >> Hopping and overlapp-add may be important beyond the STFT, for other >> types of processing. As I said, maybe it just can't be done within the >> constraints set by the language. It's been quite a while since I remember >> chatting about this with Yann. >> >> best >> >> Prof. Victor Lazzarini >> Maynooth University >> Ireland >> >> On May 6, 2021, at 2:41 PM, Dario Sanfilippo <sanfilippo.da...@gmail.com> >> wrote: >> >> >> *Warning* >> >> This email originated from outside of Maynooth University's Mail System. >> Do not reply, click links or open attachments unless you recognise the >> sender and know the content is safe. >> Hi, Victor. >> >> I literally never work with FFT and all I know dates back to a decade or >> so ago when I studied it for my master: I don't remember much. Sorry in >> advance for clueless questions. >> >> If we had primitives performing FFT and IFFT, would it be possible to do >> the overlapping stages in Faust with delayed signals? >> >> Something like this, for example? >> >> import("stdfaust.lib"); >> hann(size) = sin((ba.period(size) / size) * ma.PI) ^ 2.0; >> hann_overlap(size, factor) = sum(i, factor, hann(size) @ ((size * i) / >> factor)) / (factor / 2); >> process = hann_overlap(1024, 8); >> >> Ciao, >> Dario >> >> On Sun, 2 May 2021 at 14:52, Victor Lazzarini <victor.lazzar...@mu.ie> >> wrote: >> >>> Because it's been so many years since I remember discussing this, and >>> because there's so many clever and knowledgeable people working on the >>> Faust sources, I am supposing the hopping issue has no solution. >>> >>> Is that right? >>> >>> I was reminded of it by an user asking about the question here last >>> week. My answer, which went directly to him, is that as far as I knew >>> hopping was out of question, but that Julius had written an FFT, but to >>> apply it to a stream, it had to be done on sample-by-sample basis. Julius >>> then confirmed it here. >>> >>> Just curious to know the status of this. >>> >>> Prof. Victor Lazzarini >>> Maynooth University >>> Ireland >>> >>> _______________________________________________ >>> Faudiostream-users mailing list >>> Faudiostream-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/faudiostream-users >>> <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Ffaudiostream-users&data=04%7C01%7CVictor.Lazzarini%40mu.ie%7C5b8d7bb7ec524ff0687908d910cd3b47%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637559295915558171%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=db92KsX9f5SGsCzMpBs0TSmt5idNkbVYG1l8KN1%2BY%2BI%3D&reserved=0> >>> >> _______________________________________________ >> Faudiostream-users mailing list >> Faudiostream-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/faudiostream-users >> <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Ffaudiostream-users&data=04%7C01%7CVictor.Lazzarini%40mu.ie%7C5b8d7bb7ec524ff0687908d910cd3b47%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637559295915568162%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=AZD4Uf7DewTWHQs3DUX5zJCyG791WKyC40xLJG0taq4%3D&reserved=0> >> > > > -- > "Anybody who knows all about nothing knows everything" -- Leonard Susskind > > _______________________________________________ > Faudiostream-users mailing list > Faudiostream-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-users > -- "Anybody who knows all about nothing knows everything" -- Leonard Susskind
_______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users