Well, this is strange…
I was replying that your suggestion hasn’t changed anything and that my recordings kept being empty despite my log output being similar to yours, when all suddenly it started working as expected…
What did I changed ?
Actually, my code snippet is working fine when I start my SuperCollider session with it.
But whenever I run the following code, no more recording occurs. Not even my code snippet. So I guess this code is breaking something within SuperCollider. I suspected the accented character of the file name. So I retry with a non accented version. I didn’t change anything. This code seems to break somehow Supercollider…
(
s.waitForBoot({
t=TempoClock(56/60).permanent_(true);
// ~buffer = Buffer.readChannel(s,"G:/Enregistrements/Synthèse_Divers_Sons/CourtDoucâtre.wav", channels: [0] );
~buffer = Buffer.readChannel(s,"D:/Misc/temp/CourtDouc.wav", channels: [0] );
SynthDef.new(\granular,{
arg sync=1, buf=0, grainDur=0.8,
atk=0.01,rel=1, c1=3,c2=(-1),rate=1, pos=0, amp=0.5,
freqCtrl=0.01, durMin=0.001, durMax=1,
panFreq=1, panRand=0,
int=2, pan=0, envBuf=(-1), maxGrains=512, out=0;
var pulseMin=\pulseMin.ir(20), pulseMax=\pulseMax.ir(21);
var sig, env, densCtrl, durCtrl, panCtrl;
densCtrl=Dust.ar({ExpRand(pulseMin,pulseMax)});
durCtrl = grainDur * LFNoise1.ar(freqCtrl!8).exprange(durMin,durMax);
panCtrl = pan + SinOsc.kr(panFreq).bipolar(panRand);
env=Env([0,1,0],[atk,rel],[c1,c2],1).kr(doneAction:2,gate: \gate.kr(1));
sig=GrainBuf.ar(
2,
densCtrl,
durCtrl,
buf,
rate,
pos,
int,
panCtrl,
envBuf,
maxGrains,
amp,
);
sig= sig*env*amp;
Out.ar(out, sig);
}).add;
s.sync;
~buffer.postln;
});
)
(
~file=thisProcess.platform.recordingsDir+/+"115_rythmique_"++Date.getDate.stamp++".wav"; // une sorte de timestamp
p=Pbind(
\instrument, \granular,
\buf, ~buffer,
\dur, 0.2,
\rate, 1,
\pulseMin, 50,
\pulseMax, 70,
\durMin, 0.008,
\durMax, 0.4,
\freqCtrl, 1,
\pos, Prand([0.83],inf),
\panFreq, 1,
\panRand, 0.25,
\amp, 1.5,
\atk, 0.01,
\rel, 0.01 //
// ).play(t,quant:4);
).record(server: s, clock: t, dur: 10, path: ~file, headerFormat: "WAV", sampleFormat: "int16");
format("Recording to %",~file).postln;
)
Your code modification suggestion
Hasn’t changed anything.
PostWindow when a recording is empty
-> a Pbind
[ "/b_alloc", 1, 32768, 2, 0 ]
[ "/b_write", 1, "C:\xxxx\Recordings\test_230117_092615.wav", "WAV", "int16", 0, 0, 1, 0 ]
[ "/d_recv", DATA[152], 0 ]
[ 21, 1070, 0, 1 ]
[ "#bundle", 16677069285514986938,
[ 21, 1071, 1, 1070 ],
[ 9, "system_link_audio_1", 1072, 1, 1071, "out", 0, "in", 4, "level", 1, "fadeTime", 0.02, "vol", 1 ],
[ 9, "system_link_audio_1", 1073, 1, 1071, "out", 1, "in", 5, "level", 1, "fadeTime", 0.02, "vol", 1 ]
]
[ "#bundle", 1,
[ "/sync", 1013 ]
]
[ "#bundle", 16677069285713363746,
[ 9, "temp__2", 1074, 3, 1070, "bufnum", 0, "bus", 4 ]
]
[ "#bundle", 16677069285713363746,
[ 9, "default", 1075, 0, 1, "out", 4, "freq", 987.767, "amp", 0.1, "pan", 0 ]
]
[ "#bundle", 16677069286449643854,
[ 15, 1075, "gate", 0 ]
]
[ "#bundle", 16677069286633713881,
[ 9, "default", 1076, 0, 1, "out", 4, "freq", 987.767, "amp", 0.1, "pan", 0 ]
]
[ "#bundle", 16677069287369993989,
[ 15, 1076, "gate", 0 ]
]
[ "#bundle", 16677069287554064016,
[ 9, "default", 1077, 0, 1, "out", 4, "freq", 783.991, "amp", 0.1, "pan", 0 ]
]
[ "#bundle", 16677069288290344124,
[ 15, 1077, "gate", 0 ]
]
// ...
]
[ "#bundle", 16677069298336143238,
[ "/n_free", 1074 ]
]
[ 11, 1070 ]
[ "/b_free", 1, 0 ]
[ "/d_free", "temp__2" ]