overtone 2025-01-26

I want to try https://doc.sccode.org/Classes/MembraneCircle.html in overtone, but i have no idea how to install it or anything. I tried copy pasting the demo code in an sclang instance but it errored out a lot, so i guess the ugen isnt installed. Any hints would be appreciated

Try to install it using https://github.com/supercollider/sc3-plugins, this ugen is there \o/

At least for making it available into sclang first

this works now tnx

the overall problem was that i was confused by the membrane-circle instr being available even though it was never installed in the supercollider. After I installed the ugen, and restarted overtone, it now wors

Awesome!! Keep making good sounds :D

tnx, and tnx to you f ro helping keeping overtone alive πŸ‘

πŸŽ‰ 1

alright the little example works in sclang, except weirdly newlines arent accepted when i paste the example in sclang, so i had to remove them for some reason

πŸŽ‰ 1

next, would be to have the ugen working in overtone, how do i do that?

this is what the example looks like, that id like to have working in overtone

{ var excitation = http://EnvGen.kr(Env.perc, http://MouseButton.kr(0, 1, 0), timeScale: 0.1, doneAction: 0 ) * http://PinkNoise.ar(0.4); var tension = http://MouseX.kr(0.01, 0.1);var loss = http://MouseY.kr(0.999999, 0.999, 1); http://MembraneCircle.ar(excitation, tension, loss);}.play;

the membranecircle magically appeared in overtone somehow. im a bit confused

now im trying to make a sound with it but it doesnt seem to work too well

(definst mymembrane [] (let [ env (env-gen (perc 0.3 0.3) :action FREE) excitation (* env (pink-noise)) tension (mouse-x:kr 0.01 0.1) loss (mouse-x:kr 0.999999 0.999 1)] (membrane-circle excitation tension loss)) )

Yeah, the ugen appears to be one of the extra plugins added (I guess in the old compiled version of scsynth that overtone used to use) https://github.com/overtone/overtone/blob/1cfc0a06eb39c913c318f6517a161952ef322e75/src/overtone/sc/machinery/ugen/metadata/extras/README.md?plain=1#L36. MembraneCircle is specified at https://github.com/overtone/overtone/blob/1cfc0a06eb39c913c318f6517a161952ef322e75/src/overtone/sc/machinery/ugen/metadata/extras/membrane.clj#L6 for overtone. It seems correct. What are you hearing (if anything)?

Use mouse-y for loss so it’s closer to the example

i cant hear anything its weird

if i do this in this exact order, i get a sine wave twice, that is, the membranecircle produces a copy of the sine (demo (sin-osc)) (demo (membrane-circle 0.1 0.2 0.2))

the drum thing works ok in a sclang started from a shell

otoh i have this weird problem in the sclang that for some reason newlines arent accepted in the input

So you don’t have anything even after fixing mous-x to mouse-y?

no its weird

imt trying this to see if the env is correct and the sine is audible not the drum

(definst mymembrane [] (let [ env (env-gen (perc 0.3 3) :action FREE) excitation (* env (pink-noise)) tension (mouse-x:kr 0.01 0.1) loss (mouse-y:kr 0.999999 0.999 1)] ;;(+ (sin-osc) (membrane-circle excitation tension loss)) (+ (* env (sin-osc)) (membrane-circle excitation tension loss)) ) )

(definst mymembrane2 [] (let [ env (env-gen (perc 0.3 1.0) :action FREE) excitation (* env (pink-noise)) tension (mouse-x:kr 0.01 0.1) loss (mouse-y:kr 0.999999 0.999 1)] ;;(+ (sin-osc) (membrane-circle excitation tension loss)) (+ (* env (sin-osc :freq 220)) ;;(membrane-circle excitation tension loss) ) ) )

in this case the env works for the sine

if i have the membranecircle there, it seems to break the thing entirely, so i guess i need to maybe restart overtone to get the membranecircle to load properly

which is sad because atm i have a nice sound that i dont remeber how i got there lol

Oh no ahahahahaha yeah, check env-gen, try to make it as close as possible to the example. You can also create a synth def in supercollider and use defsynth-load from overtone, check one example on how to generate the synthdef file at https://github.com/pfeodrippe/vybe/blob/main/resources/com/pfeodrippe/vybe/overtone/synths.scd#L66 o/

The important part is writeDefFile.add