Memory allocation problem

hello, just using a p1 noise & a p2 bass SynthDefs with a little variation & a little effects, but it crashes big time

" exception in real time: alloc failed, increase server’s memory allocation (e.g. via ServerOptions) "

this is the error i get, i have 16Gig of RAM … already set it to 12.000 x 16 " server.options.memSize = 12000 * 16; // increase this if you get “alloc failed” messages original = 8192"

anybody familiar with this … i put it to 14k now but still crashes _ _ _ i’ll try to use less echo
it’s a pity, i really loved the interaction_ _ _

Can you post the code that you were running so I can try and replicate the issue?

sure, a little recapitulation first

6:20 PM

hello, i changed it in SC, since i got a GIT error :

((((*

Welcome to SuperCollider 3.9.3. * For help press Cmd-D.
SCDoc: Indexing help-files…
SCDoc: Indexed 1802 documents in 1.18 seconds
Installing FoxDot
Installing BatLib
BatLib installed
FoxDot installed
=>>>>>>>>> ERROR: Quarks requires git to be installed <<<<<<<<<=========== (of course i installed GIT together with python , SC, at the very beginning)
-> Quark: FoxDot[] ))))) I always evaluate the next sc file ‘changing the original 8192 in 14512’ they say it replaces GIT + -

( var server = Server.default;

server.options.memSize = 14512 * 16; // increase this if you get “alloc failed” messages
server.options.maxNodes = 1024 * 32; // increase this if you are getting drop outs and the message “too many nodes”
server.options.numOutputBusChannels = 2; // set this to your hardware output channel size, if necessary
server.options.numInputBusChannels = 2; // set this to your hardware output channel size, if necessary
server.boot();

OSCFunc(
{
arg msg, time, addr, port;
var fn, load;

// Get local filename

fn = msg[1].asString;

// Add SynthDef to file

fn = File(fn, “r”);
fn.readAllString.interpret;
fn.close;

},
‘foxdot’
))

NEXT = the FoxDot code

print(SynthDefs)
print(Attributes)
print(Scale.names())

p1 >> noise([50,51,52,53,54,55,56,57], amp=[[0.2, 0.4, 0.4], 0.15], chop=[12], cut=[0.7], dur = [[1/2, 1/4], 1/32], oct = [3,4,5], atk=[11], sus=[5], scale=Scale.egyptian, echo=[2], echotime=[0.2] ).every(4, “shuffle”)

p1.lpf=[[4000, 2500, 5600, 10000]]

p1.sus=[8]
p1.amp=[0.17]

p1.stop()

p1.every(4, “reverse”)

p1.every(4, “stutter”, 4, dur=Cycle([3,2]), pan=[-1, 1], rate=3, cycle=9)

p1.sus=[2]

p2 >> bass([1,3,4,7,[12, 13, 11, 10, 9]], amp=[[0.15, 0.19, 0.17], 0.16], chop=[0.012], cut=[0.2], dur = [[1/2, 1/4], 1/32], oct=[7], atk=[1], room=[0.6], mix=[0.7], sus=[5], scale=Scale.lydian, echo=[2], echotime=[0.3] ).every([6,2], “reverse”)

p2.every(2, “stutter”, 4, dur=Cycle([3,2]), pan=[-1, 1], rate=3, cycle=6)

p2.oct=4
p2.amp=[0.3]

p2.crush=1

p2.bit=0.5
p2.crush=0.5

p2.dirt=0.5
p2.shape=[1.5,1.4]

p2.spin=[4,3,6,8]
p2.spint=[1,1,1,1]

Clock.bpm = 120

p2.echotime=[0.3, 0.4, 0.6]

p2.sus=[1]

p2.stop()

==========> everything seems okay, but before i used distortion effect & i had almost immediately this memory allocation error
so I changed it with dirt & shape attributes, no problems anymore, until i start to change the tempo (clock.bpm) from 120 to 60 to 30
to 12 … then memory allocation error thnx for help ! i could record though a nice bit of music, will post it here sooner than later
but to go live, it seems a bit instabile, like italians say

I think the problem comes from the sus parameter, it’s much too long compared to your dur values and if you add some echo or reverb it’s getting worse quickly. Look at the SC panel (the green one on the bottom) it show the CPU usage and the number of “synths/node” created.

Yes, & in the beginning i took 10 & 20 for sus :slight_smile: so i’m holding my horses so to speak :slight_smile: thnx for the valuable info

Yes i saw 6 à 7 before 9. à 10 .000 ugens generated when it crashed

you said, dirt is a synthdef ?

How come when i change dirt & shape numbers, i still can hear my p2 melody, but added with kind of overdrive saturation (besides the bitcrusher part) ?

also, i have the impression , foxdot seems to be more like a preset synthdef generator like this casiotone or SK(samplerkeyboard) /realistic concertmate/yamaha VSS keyboards, with fix presets that of course you can change parameters & add effects to … or do i see this wrong (pluck, pad, sinepad, etc)

dirt is a SynthDef but drive is an overdrive distortion, as is shape. You can see a list of all of these here: https://foxdot.org/docs/player-effects/

FoxDot comes with some preset SynthDefs but it’s decoupled from SuperCollider so that more advanced users can add their own synths and effects