Just a few thoughts from someone who has felt much the same: frustration shading over to anger.
* There will be push back, but I don't believe SuperCollider is a first programming environment. The main reason? In contrast to many other languages, it does not have a canonical form, i.e., it's not standardized in the same way other languages are. This is because it has created and evolved along ad hoc lines, essentially through the research or teaching needs and interests of its primary users.
* Composing music with code leads to 'coded music.' In other words, the technology used to make it colours the result. This has always been the case no matter what technology was to hand; the purest and most intuitive technology is probably the voice. So if your musical idiom and methodology is not compatible with the colour of code, it will be difficult to make the kind of music you want to make.
* Underlying SuperCollider is a whole vast infrastructure of
mathematics and engineering. Much of the difficulty I
experience(d) with SC arose because of my ignorance of the
mathematics of signal processing as well as with some of the
traditions of electronic music.
* The documentation, while comprehensive, is not systematically
or completely or reliably indexed. As a result the, sometimes
essential, nooks and crannies of technique are inaccessible. Thus
one relies on the few masters or veterans (or maniacs) who have a
virtually total command of the SC environment and idiom. They are
few, busy, distracted and sometimes impatient. In my experience,
Help would benefit from being organized in a more widely used
system, e.g., Docbook or subset. (This is likely controversial but
after some effort and with a fair amount of professional
experience in technical writing and document management, I never
found it to be a... commodious writing or editing environment.)
* If you are coming to musical composition, as I am, from a traditional or conventional musical background, e.g., as a pianist or (shudder) trumpet player, the lack of 'touch' or 'connection' to the music making process is going to present an enormous cognitive disconnect. This is similar to the 'coded music' comment above. The upshot, if you need 'touch' or immediacy in your music making it will take a very long time indeed to get it through SC. In the short term, it's probably wise to follow some sort of parallel path that keeps you vitalized and encouraged with an alternative compositional method and let the SC be a supplement or niche resource -- bits and pieces, tiny steps.
I could go on but all of this is to say it's not the end of the world if you take a vacation from SC. Or put it on a back burner. The important thing is to get your mind and spirit into a place where you can enjoy what you love. Which, I assume, is making music that speaks to you and is from you.
...edN
Hey everyone, Thanks for all the detailed responses. Unfortunately, I understand less than half of what you all sent me. It's probably closer to a third, and even that seems generous. I appreciate that you took so much time to explaining what I wanted, and ways to implement it, but I know I didn't understand much of it at all. What follows is long and will definitely come off as resentful, so I apologize in advance. I've had these thoughts for a long time, but only feel comfortable expressing them now. As of September of this year, I would have been using SC for three years. As of this month, I've been subscribed to this list for two years. I've only asked for help here twice before, for assistance in debugging code. Beyond that, I gave up on trying to understand the topics here a long time ago. To be blunt, trying to find something in this list: in this thread, or otherwise, I can understand, let alone implement myself, feels fruitless. It feels like you already need mastery of SC in order to use the advice generated by this list, which defeats the purpose of its existence. Sclang was my first programming language, so I learned it, and programming more broadly, from a composer's standpoint. All the technical jargon everyone throws around: in online tutorials, in this list, and in this thread, almost entirely slides off of me. I've only been able to do what little I know how to do in SC is that my college professor created SC teaching materials that assumed no prior programming experience from the reader. In fact, when I told him early on how the online SC tutorials (for 3.9.3--the version I use) were crap, he explained that that was why he made his own. They are the only SC help tutorials I've ever used. As much as I appreciate that you all gave detailed answers for how to implement what I asked for, I don't have any expertise at all to implement them. After reading what you all wrote, I honestly don't know what to ask for anymore. If any of you knows where to find SC tutorials that don't assume that the reader has prior programming knowledge, then that'd be great. Maybe annotated code examples of the musical note thing I asked for would help as well? A detailed glossary of SC terms might also be valuable, because basically everything you guys have said is unfamiliar to me. If any of you wants to know what tutorials I use, I can post them here. I'm sorry for the long, angry reply. This list is an amazing resource. It just seems like I'm too inexperienced to fully appreciate, let alone implement, what's contained in it. On 6/9/21, jamshark70@xxxxxxxxx <jamshark70@xxxxxxxxx> wrote:On Tue, Jun 8, 2021 at 9:27 PM <maxlouis.raugel@xxxxxxxxx> wrote:I’ve always wondered why the Pattern class' library doesn’t seem to allow for continuous change...Hm... there are two ways to conceive of control of synthesis: as continuities, or as discrete events. I'm going to say something a bit speculative, but it seems to me that these domains are very different, and that it's a lot to ask a single abstraction to cover both of those requirements equally well. Consider, for instance, analog modular (or VCV Rack). Here, *everything* is a continuous signal -- and it takes extraordinary measures to produce discrete notes (clocks and clock dividers, step sequencers, various forms of algorithmic magic hidden -- and not inspectable -- beneath panel knobs). So one could ask the converse question: Why do analog modular synths not allow for easy, polyphonic notes? If "the Pattern class library [not] allow[ing] for continuous change" means that patterns are useless, then by the same token, the difficulty of playing polyphonic notes with analog modular would likewise mean that analog modular synths are useless. Which is of course a preposterous conclusion. So perhaps the premise is mistaken. In that case, Patterns *would* be seen as useful, but perhaps not a perfect fit for what you're trying to do. ***Main idea:*** One thing that would help here is a way, in SC, to map arbitrary control synths onto a main synth's control inputs. Instead of thinking in terms of one big synth that does every kind of modulation I could possibly dream of, we could think in terms of clusters of synths: one main synth, plus a frequency source synth (which could be a line, an LFO, a breakpoint envelope, a chaotic function, or...?), plus x number of other control source synths. We currently don't have an easy-to-use abstraction for this -- so it looks like it's impossible. It's not impossible -- just needs to be built from smaller units.I don’t really like (what I understand of) its conception of time - as a grid that underlies and cuts everythingI'm sorry, but I have to laugh about that one. Pexprand(0.1, 0.5, inf).asStream.nextN(20) -> [ 0.3443073364569, 0.15915276388006, 0.31323417573412, 0.12526591005795, 0.16658631354666, 0.35796869063474, 0.32007183151481, 0.19765304288833, 0.13097535468957, 0.46631971015074, 0.27155564302265, 0.13039742147499, 0.47910849783507, 0.14895486462567, 0.23602943303401, 0.3350735998923, 0.1139492280449, 0.30566291638996, 0.16258653827006, 0.18253953239994 ] I expect this collection of durations would defy attempts to identify a consistent metric grid. Yet, it was generated by a pattern. How could that be, if patterns are all about time grids? The answer is: There is nothing in the pattern library that enforces simple integer ratios between time durations.strictures the organic-abstract potential of audio synthesisRight -- everybody has an aesthetic bias. If patterns aren't a good fit for yours, then there's no need to shoehorn your ideas into patterns. hjh _______________________________________________ sc-users mailing list info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx archive: https://listarc.bham.ac.uk/marchives/sc-users/ search: https://listarc.bham.ac.uk/lists/sc-users/search/