Dear all Interesting thread, here mixed comment to initial questions and topics appeared in this thread from who have used faust for 5 years or more, and recently started to develop a new language(https://github.com/mimium-org/mimium <https://github.com/mimium-org/mimium>) as a part of my PhD project which is, of course, deeply inspired from faust.
The first thing I want to mention is "How to think in faust manner?" I feel there are 3 steps to get used to write algorithm in faust. - one can read and understand how existing faust code works. it can be learn by reading tutorial, libraries and references(even though it is much harder than in other languages) - one can convert existing algorithms written in other language(e.g. C++) into faust code. especially understanding that storing output value into temporal value can be translated into a recursive composition is a difficult part. - one can write a complex algorithm which cannot be written easily in other languages. typical example I think is an inter-feedback with nonlinearity as Dario showed examples. Also this level needs other domain-specific knowledge such as how to keep a system stability. As I also have performed with an abstract feedback system made with faust (one is hosted on faustgen~ in Max and another is a full-scratch dsp live-coding on FaucK in ChucK), I think there is much more unseen sounds which cannot be realized easily with the other languages. However, I felt difficulty to tell this possibility when I hosted a faust workshop in Japan a few years ago. Telling as a just "useful efficient tools to create dsp code” is not hard but beyond it, was hard. Also, when writing faust code, it is hard to find the best code from many equivalent codes, like process = hoge + fuga; process = (hoge,fuga): + ; process = (hoge,fuga):> _; Which code should be chosen are depends on situation to keep readability, maintainability and DRY manner. Maybe it would be nice to discuss on a reference/standard design pattern to "go beyond examples”. Finally, as a beginner of language developer, recently I am interested in how to grow up a sound language community(both of users and developers), and connect between communities of each languages. There are many approaches like company-based(Max), academic based(faust and many), solo-play(pd) and community-based(SuperCollider’s RFC ecosystem is amazing), and pros & cons exist in each ways. I am curious about long-range view, how faust is going to be like in next 10 years! Thank you for reading my messy comment! 松浦知也 Tomoya Matsuura +818035934157 m...@matsuuratomoya.com <mailto:m...@matsuuratomoya.com> matsuura.nonym...@gmail.com <mailto:matsuura.nonym...@gmail.com> https://matsuuratomoya.com <https://matsuuratomoya.com/> > On Jun 2, 2020, at 21:54, Till Bovermann <lf...@lfsaw.de> wrote: > > Dear list, > > > > > I am a long-time lurker here and even have occasionally written one or > another post here. As a long-time user/developer in/of SuperCollider, I am on > and off glancing at faust but currently I am very much serious in giving it a > more thorough listen. > > > And, since you asked for them, here are my comments/impressions of the faust > ecology so far. Please do not take them too serious, they are, after all, > only based on my (very limited and highly subjective) experience of the faust > ecosystem. > > > > ## high- vs. low-level programming and "common practice" in faust development > > I'd like to support others in this thread (Dario, Sam, Gary), in their > comments that music-oriented tutorials/example material would be very > beneficial for people to better understand and use faust. > I am particularly with Gary when it comes to the available material; many of > the examples are either very basic (how to use a phasor, create a sine wave, > implement a pole-filter), whereas other existing projects and tutorials (e.g. > the "demo" tutorials) are already quite sophisticated and for me hard to > understand. > Those examples are also difficult to integrate into my own code, since they > often bring their own GUI elements; I'd rather have them expose their > parameters and take care of gui-related elements myself. > > > From SuperCollider development, I am used to deal with three levels: > > + low-level implementation of "unit generators" (C/C++) > + assembly of synthesis engines ("SynthDef") from these components in an > imperative language, i.e. assembling pre-built blocks > + high-level control of these synthesis elements in sclang > > This division makes (most of the time) total sense, however it also has its > limitations (unable to change low-level behaviour easily, block-size-based > limitations on inter-ugen feedback, ...) > In faust, there is no such division (a good thing!), hence I have to create > my own (artificial) abstraction layers between microscopic and macroscopic > structure. > For diving into (my own active) faust development, I would be interested in > how people tackle this kind of complex interface in a faust-centered setup. > > Maybe it would be beneficial to have some kind of workshop on how to e.g. > implement an experimental high-level synthesis system (supercolliderwould > call that "SynthDef" ) based on (pre-existing) LP/HP filters, oscillators, > etc., and another workshop on how to create high-order control such as > reordering components, playing several "SynthDefs" at once, creating a > routing environment for such "SynthDefs"? > > > ------------- > > > ## towards better code examples > > It is fascinating to see, how much time and effort went into faust > documentation and tutorials. Many variants of teaching and accessibility > (e.g. via online courses and web environments) were tried, all of them have > their benefit and reason of existence. > However, it is difficult for me, as a newbie to faust, to understand, which > are the currently "official" tools to be used. As I understand e.g., the > faustLive system was pushed for some time but is now overcome by faustIDE / > faustEditor (which one is the way to go?). > > As a sidenote, I really enjoyed (and still am enjoying) looking at > magnetophon's source-code for compressor building blocks: > https://github.com/magnetophon/faustCompressors because I understand not only > technical parts of the sources but also the reason why certain things are > implemented in that way. magnetophon really tries hard (and succeeds) to make > the implementation accessible to understand and alter. > > I would be very happy to see more such code and also be encouraged to write > such extensively documented code in e.g. tutorials. > The existing tutorials are really cool, however, sometimes I have the feeling > that tutors are (understandably!) very much into the fact that things can be > expressed with really little amount of characters. > This, unfortunately, comes with a lack of readability (at least for the > unskilled tutorial follower), though. A more haskell-oriented styleguide in > which documentation is an integral part of the implementation would IMHO > benefit the tutorials. > > -------------- > > ## consistency > > I am thrilled to see that consistency of documentation is currently pushed a > lot. I think it is very important for people to have a reliable source of > information that makes it easy to search and extract information from. > Thank you for that! > > > > > ------------ > > cheers and thanks to everyone involved, faust is a really powerful tool I am > thrilled to investigate further! > > Till > >> On 1. Jun 2020, at 08:57, Giuseppe Silvi via Faudiostream-users >> <faudiostream-users@lists.sourceforge.net> wrote: >> >> Hello, >> I think Faust is an excellent musical tool. I approached it in 2013, during >> my master's studies in electronic music, and now it is my main means of >> teaching (electroacoustic and interpretation of the electroacoustic >> repertoire) and music composition. >> >> In my opinion, currently, the international musical community lives a deep >> scission between technology and literature, with a huge interest in >> technology and a great void of interest and knowledge about literature. This >> condition, at the edge, brings to the point of making the musical, >> compositional, interpretative use of musical software superfluous. >> >> Faust has an enormous resource, the open and multi-level access to the >> library structure. I like the necessity of this conversation, so thank you >> Yann, to evaluate if Faust could be the environment in which the library >> could contain perfect musical objects, like the actual perfect technical >> objects, and become the birthplace of a true electroacoustic community. >> >> We have started, in Rome, a process of consciousness (Faust Based) and we >> have some complete works >> - Michelangelo Lupone - Mobile Locale, for percussion and live electronics >> (porting from fly30) >> - Alvin Lucier - I'm sitting in a room (super-accessible environment) >> and we are working on Luigi Nono's Post-prae-ludium per Donau and Risonanze >> Erranti. >> >> https://github.com/s-e-a-m >> >> A student realized the Agostino di Scipio Ecosystem Audible 2. >> >> https://gitlab.com/DavideMaggio/ae >> >> So, I totally agree with Dario, Faust could be really complete with a >> library of musical instruments, we could aspire to be really complete >> filling that void. >> >> Thanks, >> Giuseppe >> >> >> >>> On 29 May 2020, at 10:50, Yann Orlarey <orla...@grame.fr> wrote: >>> >>> We plan to organize new Faust online workshops in the coming weeks. Among >>> the themes we have thought of, two of them involve contributions from the >>> community. And we'd love to hear what you think about them. >>> >>> 1/ Workshop Q&A >>> The idea would be to collect in advance questions and problems that you may >>> have about Faust and for which we will try to find answers. Then we will >>> organize a workshop where the most representative questions will be >>> presented as well as the answers we can give them. >>> >>> 2/ Workshop Faust based projects >>> There are now many projects that use Faust to varying degrees. The idea >>> would be to have the developers of these projects do a 10mn informal >>> presentation/demo of their project. We could imagine having a dozen or so >>> projects present >>> >>> The two other workshops we have thought of are: >>> >>> 3/ a workshop dedicated to architecture files and how to design them. >>> >>> 4/ a workshop for the general public on writing VST plugins with Faust. >>> >>> Tell us what you think. If the first two seem interesting to you, we'll >>> start collecting questions and projects very quickly. >>> >>> Thanks >>> >>> Yann >>> >>> >>> Yann Orlarey >>> Directeur scientifique/Scientific director >>> >>> >>> orla...@grame.fr T : +33 (0) 4 72 07 37 00 >>> GRAME - Centre national de création musicale >>> 11 cours de Verdun Gensoul | 69002 Lyon >>> www.grame.fr | facebook | instagram | twitter >>> _______________________________________________ >>> Faudiostream-users mailing list >>> Faudiostream-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/faudiostream-users >> >> >> >> _______________________________________________ >> Faudiostream-users mailing list >> Faudiostream-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/faudiostream-users > > -- > Till Bovermann > > https://tai-studio.org | http://lfsaw.de | https://www.instagram.com/_lfsaw/ > > > > > > > > > > > > > > _______________________________________________ > Faudiostream-users mailing list > Faudiostream-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-users
_______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users