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

Reply via email to