Multi-rate handling is not an easy problem. The current explored model is to 
work on a lower-level « on demand » primitive, see: 

https://github.com/orlarey/faust-ondemand-spec/blob/newmaster/spec.pdf

Stéphane 

> Le 23 févr. 2022 à 12:11, Roman Sommer <ro...@resonant-bytes.de> a écrit :
> 
> Hi Stéphane,
> 
> Thanks for your reply! Good luck/success with your application!
> 
> I had a skim over the list and nothing immediately caught my interest
> which wasn't already picked up.
> There seem to be several web-related topics, which I would prefer to
> avoid. I'm more of a low-level, systems person ;)
> 
> Concerning my own ideas:
> One thing I have wished for in Faust for a long time is actually support
> for multiple sample rates.
> I realize this is probably a huge undertaking as otherwise you would
> probably have already done it.
> 
> In the following I describe my outside view on the issue. Please feel
> free to correct me or point me in a direction where problems which I
> have overlooked have been discussed. :)
> 
> In my imagination, (without knowing any Faust internals) it
> should in principle be possible to annotate functions so they run at a
> fixed rate or a rational multiple p of the system rate.
> As long as the buffer size can be evenly divided by the denominator of
> p, an input buffer with n samples can be resampled into a buffer with
> m = n * p samples before executing that function and the graph can
> continue to be executed from there with the changed sample-rate.
> Any reference to the system rate would have to be shadowed by the new
> value.
> That would allow arbitrary upsampling and consecutive downsampling by
> the same factor, as well as downsampling depending on the buffer size.
> Assuming buffer sizes are usually powers of two, the range for that is
> probably at least 2-32.
> 
> Thank you again very much!
> 
> 
> Cheers, Roman
> 
> Stéphane Letz <l...@grame.fr> writes:
> 
>> Hi Roman,
>> 
>> Thanks for your interest in Faust and its ecosystem.
>> 
>> We are working on our GSoC Organization questionnaire hoping we’ll be 
>> accepted this year.
>> 
>> We also have a « faustideas » GitHub project 
>> https://github.com/grame-cncm/faustideas) where we collect some ideas on 
>> developments to be done. Note that the list is somewhat old and we plan to 
>> refresh and complete it soon to better fit the GSoC requirements.
>> 
>> Fee free to suggest ideas you already have that could complete this list.
>> 
>> Stéphane 
>> 
>>> Le 19 févr. 2022 à 15:41, Roman Sommer <li...@resonant-bytes.de> a écrit :
>>> 
>>> 
>>> Hi there,
>>> 
>>> I wrote a similar mail to the LAD list a few days ago where I received the 
>>> suggestion to write to you, the FAUST project, directly (among others).
>>> My name is Roman, I'm studying Computer Science and I'd like to participate 
>>> in the GSoC this year.
>>> Also I'd like to do this in a linux audio related project if possible, 
>>> because I want to help improve the Linux Audio world!
>>> That's why I'm asking you if you, if you plan to participate in the GSoC as 
>>> an organisation this year and would be interested to think about and 
>>> discuss project ideas together. :)
>>> 
>>> My background:
>>> I'm a Master student in CS and my focus so far has been centered around 
>>> operating systems (incl. kernel development), security,
>>> concurrency and (hard) real-time.
>>> At the University I also took a few signals, systems and DSP courses, so I 
>>> know what an LTI system is, how digital filters work
>>> and what a hilbert transform does.
>>> To pay my rent and food I work part time as a repair technician fur 
>>> electronic musical instruments and equipment and therefore
>>> have a background in electronics as well.
>>> I'm also a passionate hobby musician and live mixing technician.
>>> 
>>> I know how to write C code that doesn't blow up. I'm familiar enough with 
>>> C++ to get around comfortably.
>>> Recently I started writing an 8-bit microcontroller emulator as a 
>>> University project in Rust and so far I really like the
>>> language.
>>> Python is also a very nice language in my opinion.
>>> Audio related things I've written include python bindings for the jack dbus 
>>> interface [0], a jack application managing tool to start/stop/mute 
>>> applications via hardware buttons and used mididings to map MIDI CC to 
>>> Sysex for my hardware synths [1].
>>> I've also written a bit of FAUST code to create a number of effects I want 
>>> to use.
>>> 
>>> A few ideas and fields I can imagine working on (non-exhaustive, no 
>>> particular order):
>>> - Emulation of analog hardware (setBfree still needs a nice overdrive afaik 
>>> ;) )
>>> - multi-rate processing for non-linear systems
>>> - Polyrhythmic sequencing
>>> - Sysex integration in sequencers
>>> - Linux kernel work
>>> - jack and/or pipewire
>>> 
>>> Something I'd really like to see someday is being able to sit down at (or 
>>> stand up with) my Instrument and just jam and when I
>>> played something I like, I can go back to, say, 28s ago and extract a few 
>>> bars and build a song from there.
>>> 
>>> Also I'd really like to hear your ideas and suggestions! :)
>>> 
>>> I'm really looking forward to your responses and hopefully a great 
>>> collaboration as a result!
>>> Feel free to ask any questions, as will I! ;)
>>> 
>>> Cheers,
>>> 
>>> Roman / etXzat
>>> 
>>> [0] https://github.com/romsom/midiutil
>>> [1] https://github.com/romsom/python-jackdbus
>>> 
>>> 
>>> _______________________________________________
>>> Faudiostream-devel mailing list
>>> Faudiostream-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/faudiostream-devel



_______________________________________________
Faudiostream-devel mailing list
Faudiostream-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-devel

Reply via email to