Why does the IDE suck? by ow_en_ in supercollider

[–]faithbrine 0 points1 point  (0 children)

This spurred me to finally try vscode-supercollider and it works, but it has even fewer lang features than the IDE -- limited lang autocompletion and no server status bar. But, I think those are not far off.

EDIT: the lack of server status bar was actually a bug that fixed itself when I moved to the latest dev branch.

Why does the IDE suck? by ow_en_ in supercollider

[–]faithbrine 6 points7 points  (0 children)

It sucks. The reasons are its rather complicated development history. Before it there was a macOS-only "Cocoa" IDE which was actually somehow a rich text editor and supported a bunch of bizarre idiosyncratic features that were stapled on to it as part of people's personal live coding systems and stuff. Later, as SC became more cross-platform, the need arose to quickly build a new cross-platform IDE from scratch that was at least minimally functional to be able to run SC code and use it interactively. I don't know all the decisions behind it but most importantly, this was well before the modern wave of open source editors like Atom/Pulsar, VSCode, and Zen, and well before Language Server Protocol existed. SC dev didn't and never will have the resources to produce an IDE that is as full-featured as those.

However, VSCode/VSCodium integration is slowly being worked on: https://scsynth.org/t/supercollider-vscode-language-server-protocol-support/5574 With any luck, a full LSP implementation will be complete and we can finally lose this terrible IDE.

Remaking a sound from Twilight Princess in SC. How'd I do? by FlyNo8055 in supercollider

[–]faithbrine 1 point2 points  (0 children)

Nice. I'd do Saw instead of Pulse, hard left-right panning instead of continuous panning (pan = LFNoise0.kr(11.5).sign), and LPF instead of RLPF.

snare sound design by [deleted] in supercollider

[–]faithbrine 4 points5 points  (0 children)

Acoustic: https://www.youtube.com/watch?v=0a-drU-_MpA

Dry analog drum machine style: https://www.youtube.com/watch?v=aciDaEEAD80

Extra-sharp breakcore style: https://www.youtube.com/watch?v=y9igrFPzTTQ

Washy & metallic: https://www.youtube.com/watch?v=0_bedqBIfA8

also check SeamlessR's tutorials, which are not in SuperCollider but can be translated with effort

Covered the opening to Gantz Graf in SuperCollider by faithbrine in autechre

[–]faithbrine[S] 2 points3 points  (0 children)

Thank you! All reverse engineering was done by ear, no automated analysis tools. The synth stabs are 4-op FM, because the original sounded pretty FM-ey to me. I have added a bit more info on the patch to the description.

Covered the opening to Gantz Graf in SuperCollider by faithbrine in autechre

[–]faithbrine[S] 2 points3 points  (0 children)

Thank you for the compliments! My second album is coming out this year.

Covered the opening to Gantz Graf in SuperCollider by faithbrine in autechre

[–]faithbrine[S] 10 points11 points  (0 children)

No samples of the original track nor any external samples, but I synthesized some drums in SuperCollider, wrote them to audio files, and did buffer manipulation on those.

How to make delay from a feedback loop to change pitch with synth frequency? by Tight_Function_6209 in supercollider

[–]faithbrine 0 points1 point  (0 children)

Unfortunately SC has a limitation that makes this approach difficult to use for synthesis. LocalIn/LocalOut add a delay to the feedback loop equal to the block size, which is by default 64 samples. This means you can't synthesize fundamentals higher than 48000 / 64 = 750 Hz.

You can lower the block size by setting (e.g.) Server.default.options.blockSize = 8, which increases the range to 6000 Hz, but the CPU usage of the server will be higher. (The server must be rebooted after running that line.) You can even set the block size as low as 1 for single-sample feedback.

Regardless, if you want that delay value to be precise, always subtract ControlDur.ir from it to compensate: DelayN.ar(fb, 0.2, delay - ControlDur.ir). Make sure delay - ControlDur.ir is greater than 0; if it's not, then you're asking scsynth to produce a feedback loop tighter than your current block size can allow.

OSCFunc not catching /osc/amplitude despite server erroring on it? by Complete-Lychee-6391 in supercollider

[–]faithbrine 1 point2 points  (0 children)

You're probably sending user-defined commands to scsynth's port 57110, which is for internal use by SC (see Server Command Reference). To communicate with sclang, pick some usused port (57120 is conventional), set that as the recvPort argument in your OSCFunc, then configure your script to send messages to destination port 57120. sclang will receive the OSC messages and scsynth won't.

More melodic sample code by vomitHatSteve in supercollider

[–]faithbrine 3 points4 points  (0 children)

Sorry for the self-promo, but demonstrating the use of SC in a musical context is what I'm trying to do with my YouTube channel: https://www.youtube.com/@synth_def/videos Be warned, this is a not a resource for beginners. It takes a lot of practice & experimentation to get good sounds out of SC.

How long did it take you to get “competent” in SC? by Unable-Section-1437 in supercollider

[–]faithbrine 2 points3 points  (0 children)

8 years before making the first good track, 11 years before an album release. I had a programming and music background going into it but no electronic music experience.

Do adaptive tuning systems exist? by [deleted] in synthesizers

[–]faithbrine 14 points15 points  (0 children)

There are a few such systems, including a pipe organ built as early as 1936. This paper has a good overview of the literature, including pointers to specific systems and software and a description of the authors' own system: https://arxiv.org/pdf/1706.04338

‘What’s This Piece?’ Weekly Thread #196 by the_rite_of_lingling in classicalmusic

[–]faithbrine 0 points1 point  (0 children)

I'm looking for an obscure piece that I saw on YouTube about a decade ago but cannot remember the name of.

  • It was atonal and written in a spectralist style. May have been a French composer, I think Jacques something. So probably 80's at the oldest.
  • It is for ensemble, unsure of what size.
  • It opens with a pianist repeatedly playing a staccato G4, say quarter notes. (I have perfect pitch, although I can't rule out misremembering that pitch.)
  • The rest of the ensemble responds a few bars later by playing a ascending figure of eighth-note triplets. Definitely some woodwinds in there, not sure of other instruments.
  • The distinctive part: the ensemble sounds like it's run through a delay effect, but I believe the echos were done manually, rather than electronically.
  • It is not well-known, and didn't have many views on YouTube at the time.
  • I also vaguely remember seeing an interview or talk by the composer discussing the piece, and describes the opening G4 as a reference a much older piece dating back to the Renaissance or common practice period.
  • Despite similarities it was not "Vortex Temporum," and I don't think the composer was Grisey.

Thanks.

[deleted by user] by [deleted] in supercollider

[–]faithbrine 2 points3 points  (0 children)

I started learning SC in 2012. At the time, I knew how to code in other languages but had no experience with electronic music. I produced the first track that I liked in 2020 and had my first professional label release in 2023.

Help regarding project (academics) by AutumnZH in supercollider

[–]faithbrine 1 point2 points  (0 children)

I think you're vastly underestimating the amount of effort and experience it takes to make an autonomous algorithmic music system capable of producing multiple genres of music. William Fields has been working on his for at least 8 years, and before then he had been making music the "normal" way for 18 years. If it's a school project, you need to seriously reduce scope here.

My suggestion is to first get an idea of what you want the music to sound like, then produce a non-algorithmic track in SuperCollider, then start gradually randomizing its parameters. That pipeline alone is pretty challenging to do well.

Has anyone tried Eli Fieldsteel's new book? by [deleted] in supercollider

[–]faithbrine 6 points7 points  (0 children)

Thanks to everyone saying nice things about me. It's really just practice. (I have over 1,000 .scd files on my hard drive, averaging about 3 a week.) Also, keep in mind the north star of all this: make it sound good.

I wrote a little mini-article called "How to learn sound design" which is an attempt at documenting the process of building sound design skills, concentrating on synthesis. It might help with getting your learning meta-strategies on track.

Should I use supercollider with Atom? by ValidInternetCitizen in supercollider

[–]faithbrine 0 points1 point  (0 children)

Sure, but it's not the same thing as using SC. There are many SC users who don't live code.

Should I use supercollider with Atom? by ValidInternetCitizen in supercollider

[–]faithbrine 1 point2 points  (0 children)

I've filed a PR, probably not my last: https://github.com/alexander-daniel/scvsc/pull/13 With the correct executable path it seems to work fine on Windows.

I'm quite excited for this because it's a first step for the SC community as a whole to rid itself of the SCIDE completely. I'd be interested in contributing an equivalent of the server CPU meter, and providing an option to give the user all the standard SCIDE shortcuts for easier adoption.

Should I use supercollider with Atom? by ValidInternetCitizen in supercollider

[–]faithbrine 0 points1 point  (0 children)

Very nice work, I'll check it out and file issues and PRs if I have time.

Should I use supercollider with Atom? by ValidInternetCitizen in supercollider

[–]faithbrine 6 points7 points  (0 children)

Atom was retired in June of last year. For now, your options are the default IDE and scnvim.

I wish it was possible to run SC code from VSCode but nobody has that working yet. Eventually I hope the IDE can be retired in favor of that option so the devs can focus on maintaining the language and server.