Quantcast

[Csnd] ihold and graceful turnoff of fractional instruments

classic Classic list List threaded Threaded
27 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Csnd] ihold and graceful turnoff of fractional instruments

forrest
I'm using fractional instrument numbers, and ihold for instances triggered by different midi-keyboard notes

I want to gently ramp each instance down as its key is released -- turnoff at zero amplitude.

no problem unless I hit that same key before the note has quite reached bottom.

And then? -- The new note replaces the one that's been decaying?

Can I let the two instances briefly co-exist?

Forrest Curo
San Diego


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Better question:

How do tigoto and tival apply to notes sustained by ihold?

On Mon, Mar 27, 2017 at 6:22 AM, Forrest Curo <[hidden email]> wrote:
I'm using fractional instrument numbers, and ihold for instances triggered by different midi-keyboard notes

I want to gently ramp each instance down as its key is released -- turnoff at zero amplitude.

no problem unless I hit that same key before the note has quite reached bottom.

And then? -- The new note replaces the one that's been decaying?

Can I let the two instances briefly co-exist?

Forrest Curo
San Diego



Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Or: Is it better to just use negative p3 throughout,

no ihold in the first place,
turnoff when envelope -->0 ?

On Mon, Mar 27, 2017 at 7:24 AM, Forrest Curo <[hidden email]> wrote:
Better question:

How do tigoto and tival apply to notes sustained by ihold?

On Mon, Mar 27, 2017 at 6:22 AM, Forrest Curo <[hidden email]> wrote:
I'm using fractional instrument numbers, and ihold for instances triggered by different midi-keyboard notes

I want to gently ramp each instance down as its key is released -- turnoff at zero amplitude.

no problem unless I hit that same key before the note has quite reached bottom.

And then? -- The new note replaces the one that's been decaying?

Can I let the two instances briefly co-exist?

Forrest Curo
San Diego




Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

Oeyvind Brandtsegg-3
If you use negative p3, 
and then turn off when a note off is received, 
and use a release stage envelope,
(you probably do all of the above already?),
*and* make the envelope start from the value it previously left off at (see below),
then you should get smooth transition between notes.

The one thing you won't get is overlapping instances if it is retriggered before it has completed the release.
But the new instance will pick up smoothly and take over from the releasing segment.

If you really want overlapping instances upon re-trig, you will need to use a counter in addition to the note number to find your fractional instr numbers. 
For example: instr num 2, note number 69, would in your care be p1= 2.069 (right?),
then you could use an additional counter looping from 0 to 9,
so the first time the instr is triggered you have p1 = 2.0690, the second time it will be 2.0691, then 2.0692 etc.
It will be a bit of a pain to ensure you turn off the correct instance at all times, as far as I remember, having done this some time in the past (don't have the details in front of me any longer, sorry)

In the simpler case, if you are content with making a smooth take-over when the note is re-triggered, you can write the current value if the envelope to a chn channel, and then read this value at init, starting the envelope from that value.
(code untested, just writing off the top of my head, beware of typos)

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

Instead of the simple name "amp" you would need to use a channel name indicating the instance (fractional instr num).
Something like:
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp_%i", i_nstance
istart chnget Sname

Oeyvind


2017-03-27 8:44 GMT-07:00 Forrest Curo <[hidden email]>:
Or: Is it better to just use negative p3 throughout,

no ihold in the first place,
turnoff when envelope -->0 ?

On Mon, Mar 27, 2017 at 7:24 AM, Forrest Curo <[hidden email]> wrote:
Better question:

How do tigoto and tival apply to notes sustained by ihold?

On Mon, Mar 27, 2017 at 6:22 AM, Forrest Curo <[hidden email]> wrote:
I'm using fractional instrument numbers, and ihold for instances triggered by different midi-keyboard notes

I want to gently ramp each instance down as its key is released -- turnoff at zero amplitude.

no problem unless I hit that same key before the note has quite reached bottom.

And then? -- The new note replaces the one that's been decaying?

Can I let the two instances briefly co-exist?

Forrest Curo
San Diego




Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Thanks!

I maybe shouldn't have waited for an answer,but yours covers it quite thoroughly.
(I'd been temporarily overwhelmed with this poem busting loose, internet fuss&bother, emotional overwhelm.)

Forrest

On Tue, Mar 28, 2017 at 11:26 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
If you use negative p3, 
and then turn off when a note off is received, 
and use a release stage envelope,
(you probably do all of the above already?),
*and* make the envelope start from the value it previously left off at (see below),
then you should get smooth transition between notes.

The one thing you won't get is overlapping instances if it is retriggered before it has completed the release.
But the new instance will pick up smoothly and take over from the releasing segment.

If you really want overlapping instances upon re-trig, you will need to use a counter in addition to the note number to find your fractional instr numbers. 
For example: instr num 2, note number 69, would in your care be p1= 2.069 (right?),
then you could use an additional counter looping from 0 to 9,
so the first time the instr is triggered you have p1 = 2.0690, the second time it will be 2.0691, then 2.0692 etc.
It will be a bit of a pain to ensure you turn off the correct instance at all times, as far as I remember, having done this some time in the past (don't have the details in front of me any longer, sorry)

In the simpler case, if you are content with making a smooth take-over when the note is re-triggered, you can write the current value if the envelope to a chn channel, and then read this value at init, starting the envelope from that value.
(code untested, just writing off the top of my head, beware of typos)

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

Instead of the simple name "amp" you would need to use a channel name indicating the instance (fractional instr num).
Something like:
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp_%i", i_nstance
istart chnget Sname

Oeyvind


2017-03-27 8:44 GMT-07:00 Forrest Curo <[hidden email]>:
Or: Is it better to just use negative p3 throughout,

no ihold in the first place,
turnoff when envelope -->0 ?

On Mon, Mar 27, 2017 at 7:24 AM, Forrest Curo <[hidden email]> wrote:
Better question:

How do tigoto and tival apply to notes sustained by ihold?

On Mon, Mar 27, 2017 at 6:22 AM, Forrest Curo <[hidden email]> wrote:
I'm using fractional instrument numbers, and ihold for instances triggered by different midi-keyboard notes

I want to gently ramp each instance down as its key is released -- turnoff at zero amplitude.

no problem unless I hit that same key before the note has quite reached bottom.

And then? -- The new note replaces the one that's been decaying?

Can I let the two instances briefly co-exist?

Forrest Curo
San Diego




Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

AndreaS

This is a question to be explored for me, not trivial.

For now, testing EXAMPLE 07B01_MidiInstrTrigger.csd of floss manual, I discovered today that for good performance it is needed this McCurdy indication (in 3_monoSynth.csd):

    instr 128

;*** dummy instr to catch the annoyning default midi routing
;*** if this is not here, instr 130 gets turned on and off by the keyboard
;*** Once Istvan's new massign 0,0 fix is in CsoundAV we can get rid of this, yay!

    endin

Best

A.S.


Il 29/03/2017 14:41, Forrest Curo ha scritto:
Thanks!

I maybe shouldn't have waited for an answer,but yours covers it quite thoroughly.
(I'd been temporarily overwhelmed with this poem busting loose, internet fuss&bother, emotional overwhelm.)

Forrest

On Tue, Mar 28, 2017 at 11:26 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
If you use negative p3, 
and then turn off when a note off is received, 
and use a release stage envelope,
(you probably do all of the above already?),
*and* make the envelope start from the value it previously left off at (see below),
then you should get smooth transition between notes.

The one thing you won't get is overlapping instances if it is retriggered before it has completed the release.
But the new instance will pick up smoothly and take over from the releasing segment.

If you really want overlapping instances upon re-trig, you will need to use a counter in addition to the note number to find your fractional instr numbers. 
For example: instr num 2, note number 69, would in your care be p1= 2.069 (right?),
then you could use an additional counter looping from 0 to 9,
so the first time the instr is triggered you have p1 = 2.0690, the second time it will be 2.0691, then 2.0692 etc.
It will be a bit of a pain to ensure you turn off the correct instance at all times, as far as I remember, having done this some time in the past (don't have the details in front of me any longer, sorry)

In the simpler case, if you are content with making a smooth take-over when the note is re-triggered, you can write the current value if the envelope to a chn channel, and then read this value at init, starting the envelope from that value.
(code untested, just writing off the top of my head, beware of typos)

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

Instead of the simple name "amp" you would need to use a channel name indicating the instance (fractional instr num).
Something like:
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp_%i", i_nstance
istart chnget Sname

Oeyvind


2017-03-27 8:44 GMT-07:00 Forrest Curo <[hidden email]>:
Or: Is it better to just use negative p3 throughout,

no ihold in the first place,
turnoff when envelope -->0 ?

On Mon, Mar 27, 2017 at 7:24 AM, Forrest Curo <[hidden email]> wrote:
Better question:

How do tigoto and tival apply to notes sustained by ihold?

On Mon, Mar 27, 2017 at 6:22 AM, Forrest Curo <[hidden email]> wrote:
I'm using fractional instrument numbers, and ihold for instances triggered by different midi-keyboard notes

I want to gently ramp each instance down as its key is released -- turnoff at zero amplitude.

no problem unless I hit that same key before the note has quite reached bottom.

And then? -- The new note replaces the one that's been decaying?

Can I let the two instances briefly co-exist?

Forrest Curo
San Diego




Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Like this (_no_ iholds)?
-------------

tigoto secondtime
kmp init 0
; here initialize any other variables needed for first note

secondtime:
initmp = kmp
if (p4 == 0) kgoto endit
kmp linseg initmp, .05, 1
kgoto makenoise

endit:
kmp linseq initmp, .01, 0

makenoise:
; [here put whatever code produces the note sans envelope]
; [aoutl, aoutr being its audio outputs]

if (kmp != 0) kgoto outmit;
turnoff
outmit:
outs kmp*aoutl, kmp*aoutr

Forrest Curo
San Diego

On Wed, Mar 29, 2017 at 2:18 PM, Andrea Strappa <[hidden email]> wrote:

This is a question to be explored for me, not trivial.

For now, testing EXAMPLE 07B01_MidiInstrTrigger.csd of floss manual, I discovered today that for good performance it is needed this McCurdy indication (in 3_monoSynth.csd):

    instr 128

;*** dummy instr to catch the annoyning default midi routing
;*** if this is not here, instr 130 gets turned on and off by the keyboard
;*** Once Istvan's new massign 0,0 fix is in CsoundAV we can get rid of this, yay!

    endin

Best

A.S.


Il 29/03/2017 14:41, Forrest Curo ha scritto:
Thanks!

I maybe shouldn't have waited for an answer,but yours covers it quite thoroughly.
(I'd been temporarily overwhelmed with this poem busting loose, internet fuss&bother, emotional overwhelm.)

Forrest

On Tue, Mar 28, 2017 at 11:26 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
If you use negative p3, 
and then turn off when a note off is received, 
and use a release stage envelope,
(you probably do all of the above already?),
*and* make the envelope start from the value it previously left off at (see below),
then you should get smooth transition between notes.

The one thing you won't get is overlapping instances if it is retriggered before it has completed the release.
But the new instance will pick up smoothly and take over from the releasing segment.

If you really want overlapping instances upon re-trig, you will need to use a counter in addition to the note number to find your fractional instr numbers. 
For example: instr num 2, note number 69, would in your care be p1= 2.069 (right?),
then you could use an additional counter looping from 0 to 9,
so the first time the instr is triggered you have p1 = 2.0690, the second time it will be 2.0691, then 2.0692 etc.
It will be a bit of a pain to ensure you turn off the correct instance at all times, as far as I remember, having done this some time in the past (don't have the details in front of me any longer, sorry)

In the simpler case, if you are content with making a smooth take-over when the note is re-triggered, you can write the current value if the envelope to a chn channel, and then read this value at init, starting the envelope from that value.
(code untested, just writing off the top of my head, beware of typos)

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

Instead of the simple name "amp" you would need to use a channel name indicating the instance (fractional instr num).
Something like:
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp_%i", i_nstance
istart chnget Sname

Oeyvind


2017-03-27 8:44 GMT-07:00 Forrest Curo <[hidden email]>:
Or: Is it better to just use negative p3 throughout,

no ihold in the first place,
turnoff when envelope -->0 ?

On Mon, Mar 27, 2017 at 7:24 AM, Forrest Curo <[hidden email]> wrote:
Better question:

How do tigoto and tival apply to notes sustained by ihold?

On Mon, Mar 27, 2017 at 6:22 AM, Forrest Curo <[hidden email]> wrote:
I'm using fractional instrument numbers, and ihold for instances triggered by different midi-keyboard notes

I want to gently ramp each instance down as its key is released -- turnoff at zero amplitude.

no problem unless I hit that same key before the note has quite reached bottom.

And then? -- The new note replaces the one that's been decaying?

Can I let the two instances briefly co-exist?

Forrest Curo
San Diego




Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Ow! Is linseg's first output its starting value? -- or does it begin with the next point along the line?

(If kmp starts at zero, this thing will always begin by shutting itself off.)

On Fri, Mar 31, 2017 at 3:30 PM, Forrest Curo <[hidden email]> wrote:
Like this (_no_ iholds)?
-------------

tigoto secondtime
kmp init 0
; here initialize any other variables needed for first note

secondtime:
initmp = kmp
if (p4 == 0) kgoto endit
kmp linseg initmp, .05, 1
kgoto makenoise

endit:
kmp linseq initmp, .01, 0

makenoise:
; [here put whatever code produces the note sans envelope]
; [aoutl, aoutr being its audio outputs]

if (kmp != 0) kgoto outmit;
turnoff
outmit:
outs kmp*aoutl, kmp*aoutr

Forrest Curo
San Diego

On Wed, Mar 29, 2017 at 2:18 PM, Andrea Strappa <[hidden email]> wrote:

This is a question to be explored for me, not trivial.

For now, testing EXAMPLE 07B01_MidiInstrTrigger.csd of floss manual, I discovered today that for good performance it is needed this McCurdy indication (in 3_monoSynth.csd):

    instr 128

;*** dummy instr to catch the annoyning default midi routing
;*** if this is not here, instr 130 gets turned on and off by the keyboard
;*** Once Istvan's new massign 0,0 fix is in CsoundAV we can get rid of this, yay!

    endin

Best

A.S.


Il 29/03/2017 14:41, Forrest Curo ha scritto:
Thanks!

I maybe shouldn't have waited for an answer,but yours covers it quite thoroughly.
(I'd been temporarily overwhelmed with this poem busting loose, internet fuss&bother, emotional overwhelm.)

Forrest

On Tue, Mar 28, 2017 at 11:26 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
If you use negative p3, 
and then turn off when a note off is received, 
and use a release stage envelope,
(you probably do all of the above already?),
*and* make the envelope start from the value it previously left off at (see below),
then you should get smooth transition between notes.

The one thing you won't get is overlapping instances if it is retriggered before it has completed the release.
But the new instance will pick up smoothly and take over from the releasing segment.

If you really want overlapping instances upon re-trig, you will need to use a counter in addition to the note number to find your fractional instr numbers. 
For example: instr num 2, note number 69, would in your care be p1= 2.069 (right?),
then you could use an additional counter looping from 0 to 9,
so the first time the instr is triggered you have p1 = 2.0690, the second time it will be 2.0691, then 2.0692 etc.
It will be a bit of a pain to ensure you turn off the correct instance at all times, as far as I remember, having done this some time in the past (don't have the details in front of me any longer, sorry)

In the simpler case, if you are content with making a smooth take-over when the note is re-triggered, you can write the current value if the envelope to a chn channel, and then read this value at init, starting the envelope from that value.
(code untested, just writing off the top of my head, beware of typos)

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

Instead of the simple name "amp" you would need to use a channel name indicating the instance (fractional instr num).
Something like:
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp_%i", i_nstance
istart chnget Sname

Oeyvind


2017-03-27 8:44 GMT-07:00 Forrest Curo <[hidden email]>:
Or: Is it better to just use negative p3 throughout,

no ihold in the first place,
turnoff when envelope -->0 ?

On Mon, Mar 27, 2017 at 7:24 AM, Forrest Curo <[hidden email]> wrote:
Better question:

How do tigoto and tival apply to notes sustained by ihold?

On Mon, Mar 27, 2017 at 6:22 AM, Forrest Curo <[hidden email]> wrote:
I'm using fractional instrument numbers, and ihold for instances triggered by different midi-keyboard notes

I want to gently ramp each instance down as its key is released -- turnoff at zero amplitude.

no problem unless I hit that same key before the note has quite reached bottom.

And then? -- The new note replaces the one that's been decaying?

Can I let the two instances briefly co-exist?

Forrest Curo
San Diego




Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

AndreaS
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
> initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

Oeyvind Brandtsegg-3
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

Oeyvind Brandtsegg-3
Yes, it may be doable without the chngets, but I find them a convenient way to hold a "global" value in this case. To do it without chngets, you probably would go into the tie-reinit things you use in your approach. But I'm not so familiar with them.

2017-04-01 13:05 GMT-07:00 Forrest Curo <[hidden email]>:
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Me either.

So the chngets aren't really connecting to anything outside the instrument, just connecting the end to the beginning to make that value available on the next i pass...

I wouldn't have thought that approach would be simpler, but there it is!

On Sat, Apr 1, 2017 at 1:48 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
Yes, it may be doable without the chngets, but I find them a convenient way to hold a "global" value in this case. To do it without chngets, you probably would go into the tie-reinit things you use in your approach. But I'm not so familiar with them.

2017-04-01 13:05 GMT-07:00 Forrest Curo <[hidden email]>:
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

AndreaS

Yesterday I found this solution:

;----------------sustain pedal - solution for beat again notes (different invocations of instrument) ------------------------------------
gk1        times
gk1        = abs(gk1*100)    ;take hundredth of a second
printk .1, gk1
if gk1 >= 1000 then
gk1        =        gk1 / 1000 ;reset every 1000 secs. (16,66 mins.) to not invade the space number for notes
endif
gk1        =        gk1/1000000000 ;reduce to fractional number, under the space of notes
;-------------------------------------------------------------------------------------------------

You have to insert this snippet in EXAMPLE    07B04_MidiMultiTrigg.csd (Floss manual, example    by    Joachim    Heintz,    using    code    of    Victor    Lazzarini ).

Probably there are better solutions (with loop_lt or phasor...).  I began to explore loop_lt, but I have impression that in the manual the variables are mistaked.

What do you think?

All the best

Andrea S.





Il 02/04/2017 00:38, Forrest Curo ha scritto:
Me either.

So the chngets aren't really connecting to anything outside the instrument, just connecting the end to the beginning to make that value available on the next i pass...

I wouldn't have thought that approach would be simpler, but there it is!

On Sat, Apr 1, 2017 at 1:48 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
Yes, it may be doable without the chngets, but I find them a convenient way to hold a "global" value in this case. To do it without chngets, you probably would go into the tie-reinit things you use in your approach. But I'm not so familiar with them.

2017-04-01 13:05 GMT-07:00 Forrest Curo <[hidden email]>:
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
My use of Oeyvind's example is working, and thus I've got a working chunk of csd for Andrea S

(You will need to put in your own midi configuration [or Csound API program, as I'm using] to call instr 3 with fractional p1 

and may well want a less eccentric choice for a sound-generating opcode)

but

There's an unexpected faint click upon release sometimes. What do I need to fix that?
----------
instr 3; p4 velocity, p5 frequency, p6 preset #
; Call this one with p3 == -1 for all notes
i_nstance = p1; Oeyvind had int(frac(p1)*1000)
Sname sprintf "amp%f", i_nstance
istart chnget Sname
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1,  ireleasetime
chnset kenv, Sname

ivel = p4
kimp = ivel *.000001 ;This value is 'VOLUME CONTROL'
impy = 65;
inote = 60
kifr = p5
ipre = p6

aoutl,aoutr    sfplay3 impy,inote, kimp,kifr,ipre, 1

outs kenv*aoutl, kenv*aoutr

endin

On Sun, Apr 2, 2017 at 4:44 AM, Andrea Strappa <[hidden email]> wrote:

Yesterday I found this solution:

;----------------sustain pedal - solution for beat again notes (different invocations of instrument) ------------------------------------
gk1        times
gk1        = abs(gk1*100)    ;take hundredth of a second
printk .1, gk1
if gk1 >= 1000 then
gk1        =        gk1 / 1000 ;reset every 1000 secs. (16,66 mins.) to not invade the space number for notes
endif
gk1        =        gk1/1000000000 ;reduce to fractional number, under the space of notes
;-------------------------------------------------------------------------------------------------

You have to insert this snippet in EXAMPLE    07B04_MidiMultiTrigg.csd (Floss manual, example    by    Joachim    Heintz,    using    code    of    Victor    Lazzarini ).

Probably there are better solutions (with loop_lt or phasor...).  I began to explore loop_lt, but I have impression that in the manual the variables are mistaked.

What do you think?

All the best

Andrea S.





Il 02/04/2017 00:38, Forrest Curo ha scritto:
Me either.

So the chngets aren't really connecting to anything outside the instrument, just connecting the end to the beginning to make that value available on the next i pass...

I wouldn't have thought that approach would be simpler, but there it is!

On Sat, Apr 1, 2017 at 1:48 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
Yes, it may be doable without the chngets, but I find them a convenient way to hold a "global" value in this case. To do it without chngets, you probably would go into the tie-reinit things you use in your approach. But I'm not so familiar with them.

2017-04-01 13:05 GMT-07:00 Forrest Curo <[hidden email]>:
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
It really does need to use
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp%i", i_nstance


to set the channel name to something it can dependably recognize when the triggering key is raised.

On Sun, Apr 2, 2017 at 2:59 PM, Forrest Curo <[hidden email]> wrote:
My use of Oeyvind's example is working, and thus I've got a working chunk of csd for Andrea S

(You will need to put in your own midi configuration [or Csound API program, as I'm using] to call instr 3 with fractional p1 

and may well want a less eccentric choice for a sound-generating opcode)

but

There's an unexpected faint click upon release sometimes. What do I need to fix that?
----------
instr 3; p4 velocity, p5 frequency, p6 preset #
; Call this one with p3 == -1 for all notes
i_nstance = p1; Oeyvind had int(frac(p1)*1000)
Sname sprintf "amp%f", i_nstance
istart chnget Sname
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1,  ireleasetime
chnset kenv, Sname

ivel = p4
kimp = ivel *.000001 ;This value is 'VOLUME CONTROL'
impy = 65;
inote = 60
kifr = p5
ipre = p6

aoutl,aoutr    sfplay3 impy,inote, kimp,kifr,ipre, 1

outs kenv*aoutl, kenv*aoutr

endin

On Sun, Apr 2, 2017 at 4:44 AM, Andrea Strappa <[hidden email]> wrote:

Yesterday I found this solution:

;----------------sustain pedal - solution for beat again notes (different invocations of instrument) ------------------------------------
gk1        times
gk1        = abs(gk1*100)    ;take hundredth of a second
printk .1, gk1
if gk1 >= 1000 then
gk1        =        gk1 / 1000 ;reset every 1000 secs. (16,66 mins.) to not invade the space number for notes
endif
gk1        =        gk1/1000000000 ;reduce to fractional number, under the space of notes
;-------------------------------------------------------------------------------------------------

You have to insert this snippet in EXAMPLE    07B04_MidiMultiTrigg.csd (Floss manual, example    by    Joachim    Heintz,    using    code    of    Victor    Lazzarini ).

Probably there are better solutions (with loop_lt or phasor...).  I began to explore loop_lt, but I have impression that in the manual the variables are mistaked.

What do you think?

All the best

Andrea S.





Il 02/04/2017 00:38, Forrest Curo ha scritto:
Me either.

So the chngets aren't really connecting to anything outside the instrument, just connecting the end to the beginning to make that value available on the next i pass...

I wouldn't have thought that approach would be simpler, but there it is!

On Sat, Apr 1, 2017 at 1:48 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
Yes, it may be doable without the chngets, but I find them a convenient way to hold a "global" value in this case. To do it without chngets, you probably would go into the tie-reinit things you use in your approach. But I'm not so familiar with them.

2017-04-01 13:05 GMT-07:00 Forrest Curo <[hidden email]>:
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here


Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
sfplay opcode in my example is probably the problem;

I expect it would reinitialize when the noteoff-or-velocity=0 note tried to tie in.

Forrest Curo
San Diego

On Sun, Apr 2, 2017 at 9:49 PM, Forrest Curo <[hidden email]> wrote:
It really does need to use
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp%i", i_nstance


to set the channel name to something it can dependably recognize when the triggering key is raised.

On Sun, Apr 2, 2017 at 2:59 PM, Forrest Curo <[hidden email]> wrote:
My use of Oeyvind's example is working, and thus I've got a working chunk of csd for Andrea S

(You will need to put in your own midi configuration [or Csound API program, as I'm using] to call instr 3 with fractional p1 

and may well want a less eccentric choice for a sound-generating opcode)

but

There's an unexpected faint click upon release sometimes. What do I need to fix that?
----------
instr 3; p4 velocity, p5 frequency, p6 preset #
; Call this one with p3 == -1 for all notes
i_nstance = p1; Oeyvind had int(frac(p1)*1000)
Sname sprintf "amp%f", i_nstance
istart chnget Sname
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1,  ireleasetime
chnset kenv, Sname

ivel = p4
kimp = ivel *.000001 ;This value is 'VOLUME CONTROL'
impy = 65;
inote = 60
kifr = p5
ipre = p6

aoutl,aoutr    sfplay3 impy,inote, kimp,kifr,ipre, 1

outs kenv*aoutl, kenv*aoutr

endin

On Sun, Apr 2, 2017 at 4:44 AM, Andrea Strappa <[hidden email]> wrote:

Yesterday I found this solution:

;----------------sustain pedal - solution for beat again notes (different invocations of instrument) ------------------------------------
gk1        times
gk1        = abs(gk1*100)    ;take hundredth of a second
printk .1, gk1
if gk1 >= 1000 then
gk1        =        gk1 / 1000 ;reset every 1000 secs. (16,66 mins.) to not invade the space number for notes
endif
gk1        =        gk1/1000000000 ;reduce to fractional number, under the space of notes
;-------------------------------------------------------------------------------------------------

You have to insert this snippet in EXAMPLE    07B04_MidiMultiTrigg.csd (Floss manual, example    by    Joachim    Heintz,    using    code    of    Victor    Lazzarini ).

Probably there are better solutions (with loop_lt or phasor...).  I began to explore loop_lt, but I have impression that in the manual the variables are mistaked.

What do you think?

All the best

Andrea S.





Il 02/04/2017 00:38, Forrest Curo ha scritto:
Me either.

So the chngets aren't really connecting to anything outside the instrument, just connecting the end to the beginning to make that value available on the next i pass...

I wouldn't have thought that approach would be simpler, but there it is!

On Sat, Apr 1, 2017 at 1:48 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
Yes, it may be doable without the chngets, but I find them a convenient way to hold a "global" value in this case. To do it without chngets, you probably would go into the tie-reinit things you use in your approach. But I'm not so familiar with them.

2017-04-01 13:05 GMT-07:00 Forrest Curo <[hidden email]>:
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Yes, I eliminate the click -- but also the noteoff, alas
by putting
"
tigoto bypass
...
bypass:
"
around the sfplay and its irate inputs..

The envelope, if I'm sending noteon/note-offs via Csound API, doesn't know it's been released.

On Mon, Apr 3, 2017 at 12:49 PM, Forrest Curo <[hidden email]> wrote:
sfplay opcode in my example is probably the problem;

I expect it would reinitialize when the noteoff-or-velocity=0 note tried to tie in.

Forrest Curo
San Diego

On Sun, Apr 2, 2017 at 9:49 PM, Forrest Curo <[hidden email]> wrote:
It really does need to use
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp%i", i_nstance


to set the channel name to something it can dependably recognize when the triggering key is raised.

On Sun, Apr 2, 2017 at 2:59 PM, Forrest Curo <[hidden email]> wrote:
My use of Oeyvind's example is working, and thus I've got a working chunk of csd for Andrea S

(You will need to put in your own midi configuration [or Csound API program, as I'm using] to call instr 3 with fractional p1 

and may well want a less eccentric choice for a sound-generating opcode)

but

There's an unexpected faint click upon release sometimes. What do I need to fix that?
----------
instr 3; p4 velocity, p5 frequency, p6 preset #
; Call this one with p3 == -1 for all notes
i_nstance = p1; Oeyvind had int(frac(p1)*1000)
Sname sprintf "amp%f", i_nstance
istart chnget Sname
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1,  ireleasetime
chnset kenv, Sname

ivel = p4
kimp = ivel *.000001 ;This value is 'VOLUME CONTROL'
impy = 65;
inote = 60
kifr = p5
ipre = p6

aoutl,aoutr    sfplay3 impy,inote, kimp,kifr,ipre, 1

outs kenv*aoutl, kenv*aoutr

endin

On Sun, Apr 2, 2017 at 4:44 AM, Andrea Strappa <[hidden email]> wrote:

Yesterday I found this solution:

;----------------sustain pedal - solution for beat again notes (different invocations of instrument) ------------------------------------
gk1        times
gk1        = abs(gk1*100)    ;take hundredth of a second
printk .1, gk1
if gk1 >= 1000 then
gk1        =        gk1 / 1000 ;reset every 1000 secs. (16,66 mins.) to not invade the space number for notes
endif
gk1        =        gk1/1000000000 ;reduce to fractional number, under the space of notes
;-------------------------------------------------------------------------------------------------

You have to insert this snippet in EXAMPLE    07B04_MidiMultiTrigg.csd (Floss manual, example    by    Joachim    Heintz,    using    code    of    Victor    Lazzarini ).

Probably there are better solutions (with loop_lt or phasor...).  I began to explore loop_lt, but I have impression that in the manual the variables are mistaked.

What do you think?

All the best

Andrea S.





Il 02/04/2017 00:38, Forrest Curo ha scritto:
Me either.

So the chngets aren't really connecting to anything outside the instrument, just connecting the end to the beginning to make that value available on the next i pass...

I wouldn't have thought that approach would be simpler, but there it is!

On Sat, Apr 1, 2017 at 1:48 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
Yes, it may be doable without the chngets, but I find them a convenient way to hold a "global" value in this case. To do it without chngets, you probably would go into the tie-reinit things you use in your approach. But I'm not so familiar with them.

2017-04-01 13:05 GMT-07:00 Forrest Curo <[hidden email]>:
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here




Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Csnd] ihold and graceful turnoff of fractional instruments

forrest
Fixed: (This triggers the release segment of the envelope from Oeyvind's envelope example, even though the sound-generating opcode it's applied to doesn't know anything's changed.):

kvel = p4
if(kvel != 0) goto leaveon
turnoff2 p1, 5, 1
leaveon:

On Mon, Apr 3, 2017 at 1:51 PM, Forrest Curo <[hidden email]> wrote:
Yes, I eliminate the click -- but also the noteoff, alas
by putting
"
tigoto bypass
...
bypass:
"
around the sfplay and its irate inputs..

The envelope, if I'm sending noteon/note-offs via Csound API, doesn't know it's been released.

On Mon, Apr 3, 2017 at 12:49 PM, Forrest Curo <[hidden email]> wrote:
sfplay opcode in my example is probably the problem;

I expect it would reinitialize when the noteoff-or-velocity=0 note tried to tie in.

Forrest Curo
San Diego

On Sun, Apr 2, 2017 at 9:49 PM, Forrest Curo <[hidden email]> wrote:
It really does need to use
i_nstance = int(frac(p1)*1000)
Sname sprintf "amp%i", i_nstance


to set the channel name to something it can dependably recognize when the triggering key is raised.

On Sun, Apr 2, 2017 at 2:59 PM, Forrest Curo <[hidden email]> wrote:
My use of Oeyvind's example is working, and thus I've got a working chunk of csd for Andrea S

(You will need to put in your own midi configuration [or Csound API program, as I'm using] to call instr 3 with fractional p1 

and may well want a less eccentric choice for a sound-generating opcode)

but

There's an unexpected faint click upon release sometimes. What do I need to fix that?
----------
instr 3; p4 velocity, p5 frequency, p6 preset #
; Call this one with p3 == -1 for all notes
i_nstance = p1; Oeyvind had int(frac(p1)*1000)
Sname sprintf "amp%f", i_nstance
istart chnget Sname
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1,  ireleasetime
chnset kenv, Sname

ivel = p4
kimp = ivel *.000001 ;This value is 'VOLUME CONTROL'
impy = 65;
inote = 60
kifr = p5
ipre = p6

aoutl,aoutr    sfplay3 impy,inote, kimp,kifr,ipre, 1

outs kenv*aoutl, kenv*aoutr

endin

On Sun, Apr 2, 2017 at 4:44 AM, Andrea Strappa <[hidden email]> wrote:

Yesterday I found this solution:

;----------------sustain pedal - solution for beat again notes (different invocations of instrument) ------------------------------------
gk1        times
gk1        = abs(gk1*100)    ;take hundredth of a second
printk .1, gk1
if gk1 >= 1000 then
gk1        =        gk1 / 1000 ;reset every 1000 secs. (16,66 mins.) to not invade the space number for notes
endif
gk1        =        gk1/1000000000 ;reduce to fractional number, under the space of notes
;-------------------------------------------------------------------------------------------------

You have to insert this snippet in EXAMPLE    07B04_MidiMultiTrigg.csd (Floss manual, example    by    Joachim    Heintz,    using    code    of    Victor    Lazzarini ).

Probably there are better solutions (with loop_lt or phasor...).  I began to explore loop_lt, but I have impression that in the manual the variables are mistaked.

What do you think?

All the best

Andrea S.





Il 02/04/2017 00:38, Forrest Curo ha scritto:
Me either.

So the chngets aren't really connecting to anything outside the instrument, just connecting the end to the beginning to make that value available on the next i pass...

I wouldn't have thought that approach would be simpler, but there it is!

On Sat, Apr 1, 2017 at 1:48 PM, Oeyvind Brandtsegg <[hidden email]> wrote:
Yes, it may be doable without the chngets, but I find them a convenient way to hold a "global" value in this case. To do it without chngets, you probably would go into the tie-reinit things you use in your approach. But I'm not so familiar with them.

2017-04-01 13:05 GMT-07:00 Forrest Curo <[hidden email]>:
Looks like. (The only thing not working in what I considered the simpler approach
 has been something in my logic not properly keeping the last value of kenv between changes.

Since I end up retriggering the note when I release the midi key, my mistake is producing a nice effect!)

Okay, what you say here is exactly the effect I've been after. (Should be doable without the chngets, shouldn't it? If I didn't get lost trying to see what execution path we follow from one pass to another...)

On Sat, Apr 1, 2017 at 11:58 AM, Oeyvind Brandtsegg <[hidden email]> wrote:
Perhaps I misunderstand something, but isn't this a variation on:

istart chnget "amp"
iattacktime = 0.1
idectime = 0.3
isustainlevel = 0.4
ireleasetime = 1.5
kenv linsegr istart, iattacktime, 1.0, idectime, isustainlevel, 1, isustainlevel, ireleasetime
chnset kenv, "amp"

... which in many ways could be a simpler approach
And, yes, linseg starts from the value set in the first argument. So, in the example stated here, it will start from the value the "(same) envelope reached during the previous instance. If the release was interrupted, it will start from wherever it left off. If it was allowed to reach zero and turn off, then the next envelope will start from zero.



2017-04-01 6:02 GMT-07:00 Forrest Curo <[hidden email]>:
It really is no good.

I did a simple test of what happens when you print out the values, ran into the bug you found & fixed it the same way, then found out that yes, if if the lineseg starts from 0 that will certainly be the first value generated.

Will send a working csd soon, I hope!

On Sat, Apr 1, 2017 at 5:06 AM, Andrea Strappa <[hidden email]> wrote:
'initmp = kmp'

it's no good. Perhaps did you mean write 'initmp = i(kmp)'?

Would you send an essential-full-well-running csd?

A.S.


Il 01/04/2017 00:41, Forrest Curo ha scritto:
initmp = kmp

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
       https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here



--
Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here





Csound mailing list [hidden email] https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
12
Loading...