Hi folks, @paulchannelstrip and I are embarking on a journey to document these ugens and their parameters, mostly for use in tidal (but the info will have other applicability too).
We're beginning with what constitutes a "Standard Installation" - I've written what I believe to be a "standard install" process for linux specifically, that should be portable to other os' (just need to change the paths)
It'd be great if anyone interested could go through and vet this process, and confirm/provide the correct paths for:
windows
OSX
non-debian based distros (fedora, arch)
The doc is here - very much appreciate any assistance :
@kit-christopher and I had an attempt at doing this on OSX today - I've updated the paths for OSX now, but we still couldn't get SuperCollider to see the ugens
If anyone else familiar with wrangling OSX security and SuperCollider could take a look and report the secret back, that would be amazing
You can disable the security feature temporarily with "sudo spctl --master-disable", allow SC to boot the ugens, then re-enable it immediately afterwards with "sudo spctl --master-enable". This seems to work OK.
But if you prefer to go about things more carefully (by which I mean, NOT disabling the global security mechanism even briefly), this seems to work on OS X Big Sur:
As SC tries to load each ugen, it shows a dialog saying unidentified developer, etc., and suggests moving the ugen file to the trash, or allowing you to cancel.
Cancel the first one, then go to System Preferences > Security & Privacy where you'll see its name mentioned at the bottom of the dialog, something like "MiRipples.scx was blocked from use because it is not from an identified developer."
Next to that text is an "Allow anyway" button. Click that, then return to the next dialog that OS X put up saying that the next ugen was forbidden, and repeat the process.
Once all of them have been given "Allow anyway", if you boot SC again and load the ugens, you will still get dialogs asking if you really want to open each one. But you can say Open, and after that, everything seems to work fine.
@cleary Thanks a ton for the documentation. I'm going through the install right now on OS X, and just hit a snag at the very last step (or so it seems): adding the path to mi-ugens-params.hs to my BootTidal.hs file.
I initially placed my mi-ugens-params.hs file alongside the uGen files under Application Support > SuperCollider > SynthDefs, but hit a :script error — presumably because Haskell doesn't like whitespaces in path names (i.e. /Application Support/)?
I then moved the .hs file to another folder (without whitespaces) — /Users/olivier/Sound/tidal-proj/bootTidal/mi-ugens-params.hs, but on boot, Tidal throws this error:
t> IO error: ""/Users/olivier/Sound/tidal-proj/bootTidal/mi-ugens-params.hs"" does not exist
Tried removing the quotation marks, but no dice. For reference, I placed the code from step 9 in the documentation at the very bottom of my BootTidal file, like so:
... which - as far as I understood, makes verb and cloud only available within a single orbit.
Any ideas of how I can use the multiple orbit configuration and avoid the crash?
EDIT: Sorry, just checked again, I am getting the crash with either configuration as soon as I try to use braids. So I have no idea what is causing the crash.
@oli Might be an issue with the content of file as we've got it at the moment. Try wrapping the entire text of mi-ugen-params.hs with :{ ... :}. For example:
:{
let
-- mutable synths
timbre = pF "timbre"
...
warpsvgain = pF "warpsvgain"
warpseasteregg = pI "warpseasteregg"
:}
Let me know if that works
@mbutz This sounds like an issue with braids in particular, then. Have you tried updating the UGens to the most recent release and the SynthDefs to the most recent commit?
Another questions: I am trying to become aquainted with elements. Therefore I tried to recreate what I see in
At least in my setup damp does not have any audible effect. Can anyone confirm this or is this a possibly due to my setup?
EDIT: Guess I am too hasty: As soon as I engage elementspace I get awesome results...
EDIT 2: After checking bow, blow and strike independently I find that damp does not have any effect on strike. Can anyone confirm? I was hoping to recreate the use of strike in the first part of the video but I can't.
I've had a bit of time over this break, so I've done some delving further into documenting these ugens (updates coming sporadically on the docs page), which has been really vluable. It turns out I've barely been touching the surface of just about all them.
It's also raised some questions for me on how the parameters have been implemented for some - I'll take a note here, since I'm using @ndr_brt 's packages that's probably who is best suited to field my questions, but there are so many people who've been working on them I'd be grateful for all/any insights
tides has a "frequency" knob - from the manual, it's description:
D. Frequency. Spans a range of ±4 octaves around the central value set by the frequency range button [A]. The direction of this knob is reversed compared to the rate control you would find on classic envelope generators: when the one-shot AD or AR mode is selected, turn clockwise for faster envelopes, and counter-clockwise for slower envelopes.
It has a relationship to the "slope" knob, which controls the...:
F. Ratio between the durations of the ascending and descending segments. Classic envelope generators have separate attack and decay controls. With Tides, one first adjusts how fast the whole envelope will complete (with FREQUENCY), then adjusts how much of this time is spent on the decay or release relatively to the attack (with SLOPE).
Looking at the synthdef, it looks like this "frequency" knob parameter is just ignored. There is a standard freq parameter which controls note pitch, but this frequency knob (by my reading) does something else.
Should there be a tidesfreq parameter or similar added to take advantage of this extra feature?
(I am not capable of doing this, and am not even sure I am reading it properly, hence asking the question)
I'm not sure to remember exactly but, tides is, or, the basic tides functionality is function generator/LFO, so in the synthdef it's used only in looping mode in audio range to make it sound.
freq in fact is the frequency knob, and it's used in pair with a fixed ratio value of 9 (default), that means that the freq is used 1:1, so if it is 440, the frequency of the sound in output will be 440.
The slope only sets how's the envelope slope, from an attack 1 and decay 0 to an attack 0 to decay 1, it's a typical parameter of a function generator, in our case it will change the sound as it will change the waveform (from isaw, to triangle, to saw, if shape it's 0.5).
Hi there,
I followed the instructions. Received an error;
ERROR: syntax error, unexpected SYMBOL, expecting ';' or ','
in interpreted text
line 5 char 24:
var envLength = sustain\*(end-begin)/speed;
^
var line = Line.ar(begin, end, envLength, doneAction: Done.freeSelf);
-----------------------------------
ERROR: Command line parse failed
As you can see, the syntax error you are getting is because there is a spurious backslash character (as indicated in your error) in the file for some reason:
Did you do step 9? If so, then there's a good chance you've updated the wrong BootTidal.hs file -
You can find them all with:
find ~/ -iname "BootTidal.hs"
Then just make sure the one you edit is actually the one tidal is using - the easiest way to do this is to change the prompt from Tidal> to something else (and restart your editor, checking the prompt in the tidal term)