strum/timing offset and render

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

strum/timing offset and render

mousaique
hello list,
the .render function of patterns doesnt seem compatible with either strumming or timing offsets other than 0 of arrays.

ERROR: Message 'not' not understood.
RECEIVER:
Instance of Array {    (0x123193a68, gc=58, fmt=01, flg=00, set=03)
  indexed slots [8]
      0 : true
      1 : false
      2 : false
      3 : false
      4 : false
      5 : false
      6 : false
      7 : false
}

(...)

^^ The preceding error dump is for ERROR: Message 'not' not understood.
RECEIVER: [ true, false, false, false, false, false, false, false ]

is there a way to circumvent this?
thank you,

Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

mousaique
also any delay on the output will render a silent file...
is there a principle to rendering that cannot deal with time delays? or other ways to achieve it?


On Tue, Jan 30, 2018 at 11:48 AM, Jan Ferreira <[hidden email]> wrote:
hello list,
the .render function of patterns doesnt seem compatible with either strumming or timing offsets other than 0 of arrays.

ERROR: Message 'not' not understood.
RECEIVER:
Instance of Array {    (0x123193a68, gc=58, fmt=01, flg=00, set=03)
  indexed slots [8]
      0 : true
      1 : false
      2 : false
      3 : false
      4 : false
      5 : false
      6 : false
      7 : false
}

(...)

^^ The preceding error dump is for ERROR: Message 'not' not understood.
RECEIVER: [ true, false, false, false, false, false, false, false ]

is there a way to circumvent this?
thank you,


Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

mousaique
as in this case... take away the delay and the file will render sound, with it, itll be silent....

b = Buffer.allocConsecutive(8,s, 96000);

(
SynthDef(\test, {| freq,delay,buffer|
var sound= SinOsc.ar(freq);
OffsetOut.ar(0, Splay.ar(BufDelayC.ar(buffer,sound,delay))
)
}).store;)

(
p=Pspawner({ | sp |
loop {
var pat=(
Pmono(
\test,
\dur,2,
\buffer,Pfunc{b},
\delay,Pfunc{(1..8).linlin(1,8,0,1)},
\freq,Pfunc{400*(1..8).linlin(1,8,1,2)},
);
);sp.seq(pat);};
}
);)

p.render("~/Desktop/test.aif".standardizePath,4,0.02,sampleRate: 96000)

On Sun, Feb 11, 2018 at 10:42 PM, Jan Ferreira <[hidden email]> wrote:
also any delay on the output will render a silent file...
is there a principle to rendering that cannot deal with time delays? or other ways to achieve it?


On Tue, Jan 30, 2018 at 11:48 AM, Jan Ferreira <[hidden email]> wrote:
hello list,
the .render function of patterns doesnt seem compatible with either strumming or timing offsets other than 0 of arrays.

ERROR: Message 'not' not understood.
RECEIVER:
Instance of Array {    (0x123193a68, gc=58, fmt=01, flg=00, set=03)
  indexed slots [8]
      0 : true
      1 : false
      2 : false
      3 : false
      4 : false
      5 : false
      6 : false
      7 : false
}

(...)

^^ The preceding error dump is for ERROR: Message 'not' not understood.
RECEIVER: [ true, false, false, false, false, false, false, false ]

is there a way to circumvent this?
thank you,



Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

5tefan
Hi,

the problem is, when you render a file in NRT rendering won't happen on
the default server (s). A render process will use its own temporary
server instance, hence, the buffer that you've allocated isn't accessible.
You will have to explicitly add allocate the buffer within the score:

p = Psomething(...).asScore;
// add a buffer allocation command
// bufnum is an integer bufnum
// size is the size of the buffer in samples
p.add(p.add([0.0, [\b_alloc, bufnum, size]]);
p.render;

... haven't done this in a long time. You will probably have to fiddle
around a bit.

good luck,

Stefan

Am 2018-02-11 um 22:53 schrieb [hidden email]:

> as in this case... take away the delay and the file will render sound, with
> it, itll be silent....
>
> b = Buffer.allocConsecutive(8,s, 96000);
>
> (
> SynthDef(\test, {| freq,delay,buffer|
> var sound= SinOsc.ar(freq);
> OffsetOut.ar(0, Splay.ar(BufDelayC.ar(buffer,sound,delay))
> )
> }).store;)
>
> (
> p=Pspawner({ | sp |
> loop {
> var pat=(
> Pmono(
> \test,
> \dur,2,
> \buffer,Pfunc{b},
> \delay,Pfunc{(1..8).linlin(1,8,0,1)},
> \freq,Pfunc{400*(1..8).linlin(1,8,1,2)},
> );
> );sp.seq(pat);};
> }
> );)
>
> p.render("~/Desktop/test.aif".standardizePath,4,0.02,sampleRate: 96000)
>
> On Sun, Feb 11, 2018 at 10:42 PM, Jan Ferreira <[hidden email]>
> wrote:
>
>> also any delay on the output will render a silent file...
>> is there a principle to rendering that cannot deal with time delays? or
>> other ways to achieve it?
>>
>>
>> On Tue, Jan 30, 2018 at 11:48 AM, Jan Ferreira <[hidden email]>
>> wrote:
>>
>>> hello list,
>>> the .render function of patterns doesnt seem compatible with either
>>> strumming or timing offsets other than 0 of arrays.
>>>
>>> ERROR: Message 'not' not understood.
>>> RECEIVER:
>>> Instance of Array {    (0x123193a68, gc=58, fmt=01, flg=00, set=03)
>>>   indexed slots [8]
>>>       0 : true
>>>       1 : false
>>>       2 : false
>>>       3 : false
>>>       4 : false
>>>       5 : false
>>>       6 : false
>>>       7 : false
>>> }
>>>
>>> (...)
>>>
>>> ^^ The preceding error dump is for ERROR: Message 'not' not understood.
>>> RECEIVER: [ true, false, false, false, false, false, false, false ]
>>>
>>> is there a way to circumvent this?
>>> thank you,
>>>
>>>
>>
>

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

mousaique
Hi stefanus, 
thanks for the help! i did try to fiddle around, however, i couldnt make it work and i dont see why..
the double p.add in you suggestion was intentional?
also im wondering if the explicit allocation msg the wy you suggested accounts for the 8 consecuitive buffers?
jan



(b = Buffer.allocConsecutive(8,s, 96000);) /previous allocation


(
SynthDef(\test, {| freq,delay,buffer|
var sound= SinOsc.ar(freq);
OffsetOut.ar(0, Splay.ar(BufDelayC.ar(buffer,sound,delay))
)
}).store;)

(
p=Pspawner({ | sp |
loop {
var pat=(
Pmono(
\test,
\dur,2,
\buffer,b,
\delay,Pfunc{(1..8).linlin(1,8,0,1)},
\freq,Pfunc{400*(1..8).linlin(1,8,1,2)},
);
);sp.seq(pat);};
}
).asScore;)


p.add([0.0, [\b_alloc, 8, 96000]]); //explicit alloc...doesnt seem to work?

p.render("~/Desktop/test.aif".standardizePath,4,0.02,sampleRate: 96000)

On Sun, Feb 11, 2018 at 11:18 PM, <[hidden email]> wrote:
Hi,

the problem is, when you render a file in NRT rendering won't happen on
the default server (s). A render process will use its own temporary
server instance, hence, the buffer that you've allocated isn't accessible.
You will have to explicitly add allocate the buffer within the score:

p = Psomething(...).asScore;
// add a buffer allocation command
// bufnum is an integer bufnum
// size is the size of the buffer in samples
p.add(p.add([0.0, [\b_alloc, bufnum, size]]);
p.render;

... haven't done this in a long time. You will probably have to fiddle
around a bit.

good luck,

Stefan

Am 2018-02-11 um 22:53 schrieb [hidden email]:
> as in this case... take away the delay and the file will render sound, with
> it, itll be silent....
>
> b = Buffer.allocConsecutive(8,s, 96000);
>
> (
> SynthDef(\test, {| freq,delay,buffer|
> var sound= SinOsc.ar(freq);
> OffsetOut.ar(0, Splay.ar(BufDelayC.ar(buffer,sound,delay))
> )
> }).store;)
>
> (
> p=Pspawner({ | sp |
> loop {
> var pat=(
> Pmono(
> \test,
> \dur,2,
> \buffer,Pfunc{b},
> \delay,Pfunc{(1..8).linlin(1,8,0,1)},
> \freq,Pfunc{400*(1..8).linlin(1,8,1,2)},
> );
> );sp.seq(pat);};
> }
> );)
>
> p.render("~/Desktop/test.aif".standardizePath,4,0.02,sampleRate: 96000)
>
> On Sun, Feb 11, 2018 at 10:42 PM, Jan Ferreira <[hidden email]>
> wrote:
>
>> also any delay on the output will render a silent file...
>> is there a principle to rendering that cannot deal with time delays? or
>> other ways to achieve it?
>>
>>
>> On Tue, Jan 30, 2018 at 11:48 AM, Jan Ferreira <[hidden email]>
>> wrote:
>>
>>> hello list,
>>> the .render function of patterns doesnt seem compatible with either
>>> strumming or timing offsets other than 0 of arrays.
>>>
>>> ERROR: Message 'not' not understood.
>>> RECEIVER:
>>> Instance of Array {    (0x123193a68, gc=58, fmt=01, flg=00, set=03)
>>>   indexed slots [8]
>>>       0 : true
>>>       1 : false
>>>       2 : false
>>>       3 : false
>>>       4 : false
>>>       5 : false
>>>       6 : false
>>>       7 : false
>>> }
>>>
>>> (...)
>>>
>>> ^^ The preceding error dump is for ERROR: Message 'not' not understood.
>>> RECEIVER: [ true, false, false, false, false, false, false, false ]
>>>
>>> is there a way to circumvent this?
>>> thank you,
>>>
>>>
>>
>

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

5tefan
Hi Jan,

Am 2018-02-12 um 08:34 schrieb [hidden email]:
> the double p.add in you suggestion was intentional?

Oh! No, that was a copy-paste error.

> also im wondering if the explicit allocation msg the wy you suggested
> accounts for the 8 consecuitive buffers?

Probably not, but since allocConsecutive returns as many buffers as
you've specified, each  with incrementally rising bufnum, you can maybe
simply repeat adding the \b_alloc command to the score as may times as
needed? (allocConsecutive is basically a shorthand that creates a number
of buffers with consecutive bufnums, put in an array of buffers. The
server will handle the buffers through their bufnums, not the index in
the array)

// allocate 8 independent buffers
// bufnum is provided through i
8.do({ |i|
        p.add([0.0, [\b_alloc, i, 96000]]);
});

... does this make sense?

good luck!

Stefan

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

mousaique
hi stefan,
thanks! yes, it does make sense but unfortunately no sound...
it seems like the p.add msg for allocation in general interferes with the rendering as the patch below shows. 
if you render the file without the p.add msg there is a regular result. if you hit the p.add before rendering the file will be empty. with or without BufDelay.
wow, quite a challenge to get this buffer/nrt questions right...

(
SynthDef(\test, {| freq,delay,buffer|
var sound= SinOsc.ar(freq);
OffsetOut.ar(0, Splay.ar(sound)
)
}).store;)

(
p=Pspawner({ | sp |
loop {
var pat=(
Pmono(
\test,
\dur,2,
\buffer,b,
\delay,Pfunc{(1..8).linlin(1,8,0,1)},
\freq,Pfunc{800*(1..8).linlin(1,8,1,2)},
);
);sp.seq(pat);};
}
).asScore;)


p.add([0.0, [\b_alloc, 8, 96000]]);  //this somehow obstructs the render process
8.do({ |i|  p.add([0.0, [\b_alloc, i, 96000]]);}); //as does this...

p.render("~/Desktop/test.aif".standardizePath,8,0.02,sampleRate: 96000)


On Mon, Feb 12, 2018 at 11:23 AM, <[hidden email]> wrote:
Hi Jan,

Am 2018-02-12 um 08:34 schrieb [hidden email]:
> the double p.add in you suggestion was intentional?

Oh! No, that was a copy-paste error.

> also im wondering if the explicit allocation msg the wy you suggested
> accounts for the 8 consecuitive buffers?

Probably not, but since allocConsecutive returns as many buffers as
you've specified, each  with incrementally rising bufnum, you can maybe
simply repeat adding the \b_alloc command to the score as may times as
needed? (allocConsecutive is basically a shorthand that creates a number
of buffers with consecutive bufnums, put in an array of buffers. The
server will handle the buffers through their bufnums, not the index in
the array)

// allocate 8 independent buffers
// bufnum is provided through i
8.do({ |i|
        p.add([0.0, [\b_alloc, i, 96000]]);
});

... does this make sense?

good luck!

Stefan

Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

5tefan
Hi Jan,

Am 2018-02-12 um 11:41 schrieb [hidden email]:
> hi stefan,
> thanks! yes, it does make sense but unfortunately no sound...
> it seems like the p.add msg for allocation in general interferes with the
> rendering as the patch below shows.
> if you render the file without the p.add msg there is a regular result. if
> you hit the p.add before rendering the file will be empty. with or without
> BufDelay.
> wow, quite a challenge to get this buffer/nrt questions right...

... on my machine your example already hangs when I execute the
Pspawner. I don't know what's wrong (and cannot investigate now). I
don't think the p.add(...) is wrong. However, I can't inspect the score
before rendering it as my machine already hangs after executing the
Pspawner...

sorry,

Stefan

>
> (
> SynthDef(\test, {| freq,delay,buffer|
> var sound= SinOsc.ar(freq);
> OffsetOut.ar(0, Splay.ar(sound)
> )
> }).store;)
>
> (
> p=Pspawner({ | sp |
> loop {
> var pat=(
> Pmono(
> \test,
> \dur,2,
> \buffer,b,
> \delay,Pfunc{(1..8).linlin(1,8,0,1)},
> \freq,Pfunc{800*(1..8).linlin(1,8,1,2)},
> );
> );sp.seq(pat);};
> }
> ).asScore;)
>
>
> p.add([0.0, [\b_alloc, 8, 96000]]);  //this somehow obstructs the render
> process
> 8.do({ |i|  p.add([0.0, [\b_alloc, i, 96000]]);}); //as does this...
>
> p.render("~/Desktop/test.aif".standardizePath,8,0.02,sampleRate: 96000)
>
>
> On Mon, Feb 12, 2018 at 11:23 AM, <[hidden email]> wrote:
>
>> Hi Jan,
>>
>> Am 2018-02-12 um 08:34 schrieb [hidden email]:
>>> the double p.add in you suggestion was intentional?
>>
>> Oh! No, that was a copy-paste error.
>>
>>> also im wondering if the explicit allocation msg the wy you suggested
>>> accounts for the 8 consecuitive buffers?
>>
>> Probably not, but since allocConsecutive returns as many buffers as
>> you've specified, each  with incrementally rising bufnum, you can maybe
>> simply repeat adding the \b_alloc command to the score as may times as
>> needed? (allocConsecutive is basically a shorthand that creates a number
>> of buffers with consecutive bufnums, put in an array of buffers. The
>> server will handle the buffers through their bufnums, not the index in
>> the array)
>>
>> // allocate 8 independent buffers
>> // bufnum is provided through i
>> 8.do({ |i|
>>         p.add([0.0, [\b_alloc, i, 96000]]);
>> });
>>
>> ... does this make sense?
>>
>> good luck!
>>
>> Stefan
>>
>> _______________________________________________
>> sc-users mailing list
>>
>> info (subscription, etc.): http://www.birmingham.ac.uk/
>> facilities/ea-studios/research/supercollider/mailinglist.aspx
>> archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
>> search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
>>
>

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

mousaique
hm, strange on mine it works.
in any case heres the example without the pspawner.
thank you for your suggestions so far stefan!


(
SynthDef(\test, {| freq,delay,buffer|
var sound= SinOsc.ar(freq);
OffsetOut.ar(0, Splay.ar(BufDelayC.ar(buffer,sound,delay))
)
}).store;)

(
p=Pmono(
\test,
\dur,8,
\buffer,b,
\delay,Pfunc{(1..8).linlin(1,8,0,1)},
\freq,Pfunc{800*(1..8).linlin(1,8,1,2)},
).asScore;)



(8.do({ 
|i| p.add([0.0, [\b_alloc, i, 96000]]); //this somehow obstructs the render process
});)


p.render("~/Desktop/test.aif".standardizePath,8,0.02,sampleRate: 96000)


On Mon, Feb 12, 2018 at 12:13 PM, <[hidden email]> wrote:
Hi Jan,

Am 2018-02-12 um 11:41 schrieb [hidden email]:
> hi stefan,
> thanks! yes, it does make sense but unfortunately no sound...
> it seems like the p.add msg for allocation in general interferes with the
> rendering as the patch below shows.
> if you render the file without the p.add msg there is a regular result. if
> you hit the p.add before rendering the file will be empty. with or without
> BufDelay.
> wow, quite a challenge to get this buffer/nrt questions right...

... on my machine your example already hangs when I execute the
Pspawner. I don't know what's wrong (and cannot investigate now). I
don't think the p.add(...) is wrong. However, I can't inspect the score
before rendering it as my machine already hangs after executing the
Pspawner...

sorry,

Stefan

>
> (
> SynthDef(\test, {| freq,delay,buffer|
> var sound= SinOsc.ar(freq);
> OffsetOut.ar(0, Splay.ar(sound)
> )
> }).store;)
>
> (
> p=Pspawner({ | sp |
> loop {
> var pat=(
> Pmono(
> \test,
> \dur,2,
> \buffer,b,
> \delay,Pfunc{(1..8).linlin(1,8,0,1)},
> \freq,Pfunc{800*(1..8).linlin(1,8,1,2)},
> );
> );sp.seq(pat);};
> }
> ).asScore;)
>
>
> p.add([0.0, [\b_alloc, 8, 96000]]);  //this somehow obstructs the render
> process
> 8.do({ |i|  p.add([0.0, [\b_alloc, i, 96000]]);}); //as does this...
>
> p.render("~/Desktop/test.aif".standardizePath,8,0.02,sampleRate: 96000)
>
>
> On Mon, Feb 12, 2018 at 11:23 AM, <[hidden email]> wrote:
>
>> Hi Jan,
>>
>> Am 2018-02-12 um 08:34 schrieb [hidden email]:
>>> the double p.add in you suggestion was intentional?
>>
>> Oh! No, that was a copy-paste error.
>>
>>> also im wondering if the explicit allocation msg the wy you suggested
>>> accounts for the 8 consecuitive buffers?
>>
>> Probably not, but since allocConsecutive returns as many buffers as
>> you've specified, each  with incrementally rising bufnum, you can maybe
>> simply repeat adding the \b_alloc command to the score as may times as
>> needed? (allocConsecutive is basically a shorthand that creates a number
>> of buffers with consecutive bufnums, put in an array of buffers. The
>> server will handle the buffers through their bufnums, not the index in
>> the array)
>>
>> // allocate 8 independent buffers
>> // bufnum is provided through i
>> 8.do({ |i|
>>         p.add([0.0, [\b_alloc, i, 96000]]);
>> });
>>
>> ... does this make sense?
>>
>> good luck!
>>
>> Stefan
>>
>> _______________________________________________
>> sc-users mailing list
>>
>> info (subscription, etc.): http://www.birmingham.ac.uk/
>> facilities/ea-studios/research/supercollider/mailinglist.aspx
>> archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
>> search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
>>
>

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

Reply | Threaded
Open this post in threaded view
|

Re: strum/timing offset and render

5tefan

Am 2018-02-12 um 12:19 schrieb [hidden email]:

> hm, strange on mine it works.
> in any case heres the example without the pspawner.
> thank you for your suggestions so far stefan!
>
>
> (
> SynthDef(\test, {| freq,delay,buffer|
> var sound= SinOsc.ar(freq);
> OffsetOut.ar(0, Splay.ar(BufDelayC.ar(buffer,sound,delay))
> )
> }).store;)

Ah! I think I got it now: In your pattern you pass in the buffers in a
variable 'b' - that doesn't exist. Instead you have to pass in the
bufnums somehow. At least I got some sound in the rendered file now...

> p=Pmono(
> \test,
> \dur,8,
> \buffer,b,
// for example, don't know if that suits your purpose...
\buffer, Pseq((0..7), inf),

> \delay,Pfunc{(1..8).linlin(1,8,0,1)},
> \freq,Pfunc{800*(1..8).linlin(1,8,1,2)},
> ).asScore;)
>
>
>
> (8.do({
> |i| p.add([0.0, [\b_alloc, i, 96000]]); //this somehow obstructs the render
> process
> });)
>
>
> p.render("~/Desktop/test.aif".standardizePath,8,0.02,sampleRate: 96000)
>
>
> On Mon, Feb 12, 2018 at 12:13 PM, <[hidden email]> wrote:
>
>> Hi Jan,
>>
>> Am 2018-02-12 um 11:41 schrieb [hidden email]:
>>> hi stefan,
>>> thanks! yes, it does make sense but unfortunately no sound...
>>> it seems like the p.add msg for allocation in general interferes with the
>>> rendering as the patch below shows.
>>> if you render the file without the p.add msg there is a regular result.
>> if
>>> you hit the p.add before rendering the file will be empty. with or
>> without
>>> BufDelay.
>>> wow, quite a challenge to get this buffer/nrt questions right...
>>
>> ... on my machine your example already hangs when I execute the
>> Pspawner. I don't know what's wrong (and cannot investigate now). I
>> don't think the p.add(...) is wrong. However, I can't inspect the score
>> before rendering it as my machine already hangs after executing the
>> Pspawner...
>>
>> sorry,
>>
>> Stefan
>>
>>>
>>> (
>>> SynthDef(\test, {| freq,delay,buffer|
>>> var sound= SinOsc.ar(freq);
>>> OffsetOut.ar(0, Splay.ar(sound)
>>> )
>>> }).store;)
>>>
>>> (
>>> p=Pspawner({ | sp |
>>> loop {
>>> var pat=(
>>> Pmono(
>>> \test,
>>> \dur,2,
>>> \buffer,b,
>>> \delay,Pfunc{(1..8).linlin(1,8,0,1)},
>>> \freq,Pfunc{800*(1..8).linlin(1,8,1,2)},
>>> );
>>> );sp.seq(pat);};
>>> }
>>> ).asScore;)
>>>
>>>
>>> p.add([0.0, [\b_alloc, 8, 96000]]);  //this somehow obstructs the render
>>> process
>>> 8.do({ |i|  p.add([0.0, [\b_alloc, i, 96000]]);}); //as does this...
>>>
>>> p.render("~/Desktop/test.aif".standardizePath,8,0.02,sampleRate: 96000)
>>>
>>>
>>> On Mon, Feb 12, 2018 at 11:23 AM, <[hidden email]> wrote:
>>>
>>>> Hi Jan,
>>>>
>>>> Am 2018-02-12 um 08:34 schrieb [hidden email]:
>>>>> the double p.add in you suggestion was intentional?
>>>>
>>>> Oh! No, that was a copy-paste error.
>>>>
>>>>> also im wondering if the explicit allocation msg the wy you suggested
>>>>> accounts for the 8 consecuitive buffers?
>>>>
>>>> Probably not, but since allocConsecutive returns as many buffers as
>>>> you've specified, each  with incrementally rising bufnum, you can maybe
>>>> simply repeat adding the \b_alloc command to the score as may times as
>>>> needed? (allocConsecutive is basically a shorthand that creates a number
>>>> of buffers with consecutive bufnums, put in an array of buffers. The
>>>> server will handle the buffers through their bufnums, not the index in
>>>> the array)
>>>>
>>>> // allocate 8 independent buffers
>>>> // bufnum is provided through i
>>>> 8.do({ |i|
>>>>         p.add([0.0, [\b_alloc, i, 96000]]);
>>>> });
>>>>
>>>> ... does this make sense?
>>>>
>>>> good luck!
>>>>
>>>> Stefan
>>>>
>>>> _______________________________________________
>>>> sc-users mailing list
>>>>
>>>> info (subscription, etc.): http://www.birmingham.ac.uk/
>>>> facilities/ea-studios/research/supercollider/mailinglist.aspx
>>>> archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
>>>> search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
>>>>
>>>
>>
>> _______________________________________________
>> sc-users mailing list
>>
>> info (subscription, etc.): http://www.birmingham.ac.uk/
>> facilities/ea-studios/research/supercollider/mailinglist.aspx
>> archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
>> search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
>>
>

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

ps: [sc-users] Re: strum/timing offset and render

5tefan
In reply to this post by mousaique
You should probably sort your score after you've added the buffer
allocation commands before rendering the file to make sure buffer
allocation comes before everything else:

p.add(...);
p.sort;

good luck!

Stefan

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

Re: ps: [sc-users] Re: strum/timing offset and render

mousaique
yes, this example finally delivers the file right rendered file!
one thing remains unclear, though: it renders only one second of sound eventhough 8 seconds of rendering are defined...?
thank you stefan for your help & patience! :)

(
SynthDef(\test, {| freq,delay,buffer|
var sound= SinOsc.ar(freq);
OffsetOut.ar(0, Splay.ar(BufDelayC.ar(buffer,sound*0.1,delay))
)
}).store;)

(
p=Pmono(
\test,
\dur,1,
\buffer, Pfunc{(0..7)},
\delay,Pfunc{(1..8).linlin(1,8,0,1)},
\freq,Pfunc{800*(1..8).linlin(1,8,1,2)},
).asScore;)



(8.do({
|i| p.add([0.0, [\b_alloc, i, 96000]]); 
});)                                                         

p.sort

p.render("~/Desktop/test.aif".standardizePath,8,0.02,sampleRate: 96000)

On Mon, Feb 12, 2018 at 12:51 PM, <[hidden email]> wrote:
You should probably sort your score after you've added the buffer
allocation commands before rendering the file to make sure buffer
allocation comes before everything else:

p.add(...);
p.sort;

good luck!

Stefan

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/

Reply | Threaded
Open this post in threaded view
|

Re: ps: [sc-users] Re: strum/timing offset and render

mousaique
got it: it is the default time in the .asScore setting the one sec duration :)
thanks again stefan!

On Mon, Feb 12, 2018 at 1:04 PM, Jan Ferreira <[hidden email]> wrote:
yes, this example finally delivers the file right rendered file!
one thing remains unclear, though: it renders only one second of sound eventhough 8 seconds of rendering are defined...?
thank you stefan for your help & patience! :)

(
SynthDef(\test, {| freq,delay,buffer|
var sound= SinOsc.ar(freq);
OffsetOut.ar(0, Splay.ar(BufDelayC.ar(buffer,sound*0.1,delay))
)
}).store;)

(
p=Pmono(
\test,
\dur,1,
\buffer, Pfunc{(0..7)},
\delay,Pfunc{(1..8).linlin(1,8,0,1)},
\freq,Pfunc{800*(1..8).linlin(1,8,1,2)},
).asScore;)



(8.do({
|i| p.add([0.0, [\b_alloc, i, 96000]]); 
});)                                                         

p.sort

p.render("~/Desktop/test.aif".standardizePath,8,0.02,sampleRate: 96000)

On Mon, Feb 12, 2018 at 12:51 PM, <[hidden email]> wrote:
You should probably sort your score after you've added the buffer
allocation commands before rendering the file to make sure buffer
allocation comes before everything else:

p.add(...);
p.sort;

good luck!

Stefan

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/


Reply | Threaded
Open this post in threaded view
|

Re: ps: [sc-users] Re: strum/timing offset and render

5tefan


Am 2018-02-12 um 13:10 schrieb [hidden email]:
> got it: it is the default time in the .asScore setting the one sec duration
> :)
> thanks again stefan!

You're welcome ;)

Stefan

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/