Csound Csound-dev Csound-tekno Search About

[Csnd] Feature request: new GEN routine

Date2024-05-11 09:03
FromScott Daughtrey
Subject[Csnd] Feature request: new GEN routine
I'd like to make a request based on a modification of the GEN16 routine.

GEN33 & 34 can easily allow creation of algorithmically based wavetables of any size with any number of tables, each containing any number of (in)harm partials, using a source table to hold the necessary parameters.

For example, to create a wavetable of 32 individual tables, each having a different number/amount of partials (inharmonic partials can be non-integer values), strengths &/or phases one can do something like: 

iNumberOfTables init 32
iSrc = ftgentmp(0, 0, 1024, -2, 0)

while iNumberOfTables > 0 do
  iNumberOfPartials = random:i(2, 30)

  while iNumberOfPartials > 0 do
  ;   bunch of stuff to create random values &
  ;   write them to the iSrc table
    iNumberOfPartials -=1
  od

  iNumberOfTables -= 1
od

iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)

If there was a routine based on GEN16 that could use a source table in a similar way it would allow for algorithmic creation of a "wavetable" containing complex individual tables for waveforms, (looping) envelopes, LFOs etc., similar to the concept of transeg but not limited to a set number of segments (number and values of points, durations and exp/log/linear slopes). 

I hope I was able to describe this reasonably well. If not I could post more illustrative code to demonstrate.

Best,
Scott

Csound mailing list
Csound@listserv.heanet.ie
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

Date2024-05-11 11:53
Fromvlz
SubjectRe: [Csnd] Feature request: new GEN routine
GEN 33 and 34 were introduced before we had arrays. These days we can reproduce the functionality using the array version of
ftgen


You can put any arbitrary numbers of parameters into an array and then use the relevant GEN directly.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 09:03, Scott Daughtrey <stunes6556@gmail.com> wrote:

I'd like to make a request based on a modification of the GEN16 routine.

GEN33 & 34 can easily allow creation of algorithmically based wavetables of any size with any number of tables, each containing any number of (in)harm partials, using a source table to hold the necessary parameters.

For example, to create a wavetable of 32 individual tables, each having a different number/amount of partials (inharmonic partials can be non-integer values), strengths &/or phases one can do something like:

iNumberOfTables init 32
iSrc = ftgentmp(0, 0, 1024, -2, 0)

while iNumberOfTables > 0 do
 iNumberOfPartials = random:i(2, 30)

 while iNumberOfPartials > 0 do
 ;   bunch of stuff to create random values &
 ;   write them to the iSrc table
   iNumberOfPartials -=1
 od

 iNumberOfTables -= 1
od

iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)

If there was a routine based on GEN16 that could use a source table in a similar way it would allow for algorithmic creation of a "wavetable" containing complex individual tables for waveforms, (looping) envelopes, LFOs etc., similar to the concept of transeg but not limited to a set number of segments (number and values of points, durations and exp/log/linear slopes).

I hope I was able to describe this reasonably well. If not I could post more illustrative code to demonstrate.

Best,
Scott

Csound mailing list
Csound@listserv.heanet.ie
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

Date2024-05-11 12:51
FromST Music
SubjectRe: [Csnd] Feature request: new GEN routine
The issue here is GEN16 requires all parameters are entered at the time of it's creation, there cannot be a variable number of parameters. So I believe in this instance an array is impractical.

For example, if 1 segment is requested, 4 variables are necessary for GEN16:
ftgen 0, 0, size, 16, val1, dur1, type1,val2

So if one wants to randomly create 64 individual tables within a loop with a random number of segments from say 2 to 32 segments, 32 segments would require initializing the GEN16 with 97 parameters whereas 2 segments only requires 7.

GEN34 & GEN33 do not have such  limitation. They can accept a source table that is size 3 (1 partial, 3 variables) or size 300 (100 partials), all of which can be automatically generated in a loop. GEN16 does not allow this as all variables must be entered at the time it is instantiated - it will not allow a randomly created and therefore variable length source table nor array.

Best,
Scott

On Sat, May 11, 2024, 6:53 a.m. vlz <viclazzarini@gmail.com> wrote:
GEN 33 and 34 were introduced before we had arrays. These days we can reproduce the functionality using the array version of
ftgen


You can put any arbitrary numbers of parameters into an array and then use the relevant GEN directly.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 09:03, Scott Daughtrey <stunes6556@gmail.com> wrote:

I'd like to make a request based on a modification of the GEN16 routine.

GEN33 & 34 can easily allow creation of algorithmically based wavetables of any size with any number of tables, each containing any number of (in)harm partials, using a source table to hold the necessary parameters.

For example, to create a wavetable of 32 individual tables, each having a different number/amount of partials (inharmonic partials can be non-integer values), strengths &/or phases one can do something like:

iNumberOfTables init 32
iSrc = ftgentmp(0, 0, 1024, -2, 0)

while iNumberOfTables > 0 do
 iNumberOfPartials = random:i(2, 30)

 while iNumberOfPartials > 0 do
 ;   bunch of stuff to create random values &
 ;   write them to the iSrc table
   iNumberOfPartials -=1
 od

 iNumberOfTables -= 1
od

iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)

If there was a routine based on GEN16 that could use a source table in a similar way it would allow for algorithmic creation of a "wavetable" containing complex individual tables for waveforms, (looping) envelopes, LFOs etc., similar to the concept of transeg but not limited to a set number of segments (number and values of points, durations and exp/log/linear slopes).

I hope I was able to describe this reasonably well. If not I could post more illustrative code to demonstrate.

Best,
Scott

Csound mailing list
Csound@listserv.heanet.ie
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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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

Date2024-05-11 12:56
FromST Music
SubjectRe: [Csnd] Feature request: new GEN routine
Apologies, I just saw the link you posted, I had assumed it was the same one I had been referencing. It appears to have different information than the Csound.com link available thru the manual which one typically finds on Google:

That page does not reference arrays. 

Thanks,
Scott

On Sat, May 11, 2024, 7:51 a.m. ST Music <stunes6556@gmail.com> wrote:
The issue here is GEN16 requires all parameters are entered at the time of it's creation, there cannot be a variable number of parameters. So I believe in this instance an array is impractical.

For example, if 1 segment is requested, 4 variables are necessary for GEN16:
ftgen 0, 0, size, 16, val1, dur1, type1,val2

So if one wants to randomly create 64 individual tables within a loop with a random number of segments from say 2 to 32 segments, 32 segments would require initializing the GEN16 with 97 parameters whereas 2 segments only requires 7.

GEN34 & GEN33 do not have such  limitation. They can accept a source table that is size 3 (1 partial, 3 variables) or size 300 (100 partials), all of which can be automatically generated in a loop. GEN16 does not allow this as all variables must be entered at the time it is instantiated - it will not allow a randomly created and therefore variable length source table nor array.

Best,
Scott

On Sat, May 11, 2024, 6:53 a.m. vlz <viclazzarini@gmail.com> wrote:
GEN 33 and 34 were introduced before we had arrays. These days we can reproduce the functionality using the array version of
ftgen


You can put any arbitrary numbers of parameters into an array and then use the relevant GEN directly.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 09:03, Scott Daughtrey <stunes6556@gmail.com> wrote:

I'd like to make a request based on a modification of the GEN16 routine.

GEN33 & 34 can easily allow creation of algorithmically based wavetables of any size with any number of tables, each containing any number of (in)harm partials, using a source table to hold the necessary parameters.

For example, to create a wavetable of 32 individual tables, each having a different number/amount of partials (inharmonic partials can be non-integer values), strengths &/or phases one can do something like:

iNumberOfTables init 32
iSrc = ftgentmp(0, 0, 1024, -2, 0)

while iNumberOfTables > 0 do
 iNumberOfPartials = random:i(2, 30)

 while iNumberOfPartials > 0 do
 ;   bunch of stuff to create random values &
 ;   write them to the iSrc table
   iNumberOfPartials -=1
 od

 iNumberOfTables -= 1
od

iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)

If there was a routine based on GEN16 that could use a source table in a similar way it would allow for algorithmic creation of a "wavetable" containing complex individual tables for waveforms, (looping) envelopes, LFOs etc., similar to the concept of transeg but not limited to a set number of segments (number and values of points, durations and exp/log/linear slopes).

I hope I was able to describe this reasonably well. If not I could post more illustrative code to demonstrate.

Best,
Scott

Csound mailing list
Csound@listserv.heanet.ie
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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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

Date2024-05-11 13:03
FromVictor Lazzarini
SubjectRe: [Csnd] [EXTERNAL] Re: [Csnd] Feature request: new GEN routine
It absolutely can with an array. That's the whole point, you just make the array to the required length.

I do this all the time. All you need is to create an array and pass it to ftgen. GEN33 and 34 are obsolescent. You can do the same thing with just GEN 9 or GEN 10.



Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 12:51, ST Music <stunes6556@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

The issue here is GEN16 requires all parameters are entered at the time of it's creation, there cannot be a variable number of parameters. So I believe in this instance an array is impractical.

For example, if 1 segment is requested, 4 variables are necessary for GEN16:
ftgen 0, 0, size, 16, val1, dur1, type1,val2

So if one wants to randomly create 64 individual tables within a loop with a random number of segments from say 2 to 32 segments, 32 segments would require initializing the GEN16 with 97 parameters whereas 2 segments only requires 7.

GEN34 & GEN33 do not have such  limitation. They can accept a source table that is size 3 (1 partial, 3 variables) or size 300 (100 partials), all of which can be automatically generated in a loop. GEN16 does not allow this as all variables must be entered at the time it is instantiated - it will not allow a randomly created and therefore variable length source table nor array.

Best,
Scott

On Sat, May 11, 2024, 6:53 a.m. vlz <viclazzarini@gmail.com> wrote:
GEN 33 and 34 were introduced before we had arrays. These days we can reproduce the functionality using the array version of
ftgen


You can put any arbitrary numbers of parameters into an array and then use the relevant GEN directly.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 09:03, Scott Daughtrey <stunes6556@gmail.com> wrote:

I'd like to make a request based on a modification of the GEN16 routine.

GEN33 & 34 can easily allow creation of algorithmically based wavetables of any size with any number of tables, each containing any number of (in)harm partials, using a source table to hold the necessary parameters.

For example, to create a wavetable of 32 individual tables, each having a different number/amount of partials (inharmonic partials can be non-integer values), strengths &/or phases one can do something like:

iNumberOfTables init 32
iSrc = ftgentmp(0, 0, 1024, -2, 0)

while iNumberOfTables > 0 do
 iNumberOfPartials = random:i(2, 30)

 while iNumberOfPartials > 0 do
 ;   bunch of stuff to create random values &
 ;   write them to the iSrc table
   iNumberOfPartials -=1
 od

 iNumberOfTables -= 1
od

iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)

If there was a routine based on GEN16 that could use a source table in a similar way it would allow for algorithmic creation of a "wavetable" containing complex individual tables for waveforms, (looping) envelopes, LFOs etc., similar to the concept of transeg but not limited to a set number of segments (number and values of points, durations and exp/log/linear slopes).

I hope I was able to describe this reasonably well. If not I could post more illustrative code to demonstrate.

Best,
Scott

Csound mailing list
Csound@listserv.heanet.ie
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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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

Date2024-05-11 13:05
FromVictor Lazzarini
SubjectRe: [Csnd] [EXTERNAL] Re: [Csnd] Feature request: new GEN routine
You won't find that info on the gen page, but on ftgen. It works for all numeric parameter gens.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 12:56, ST Music <stunes6556@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

Apologies, I just saw the link you posted, I had assumed it was the same one I had been referencing. It appears to have different information than the Csound.com link available thru the manual which one typically finds on Google:

That page does not reference arrays. 

Thanks,
Scott

On Sat, May 11, 2024, 7:51 a.m. ST Music <stunes6556@gmail.com> wrote:
The issue here is GEN16 requires all parameters are entered at the time of it's creation, there cannot be a variable number of parameters. So I believe in this instance an array is impractical.

For example, if 1 segment is requested, 4 variables are necessary for GEN16:
ftgen 0, 0, size, 16, val1, dur1, type1,val2

So if one wants to randomly create 64 individual tables within a loop with a random number of segments from say 2 to 32 segments, 32 segments would require initializing the GEN16 with 97 parameters whereas 2 segments only requires 7.

GEN34 & GEN33 do not have such  limitation. They can accept a source table that is size 3 (1 partial, 3 variables) or size 300 (100 partials), all of which can be automatically generated in a loop. GEN16 does not allow this as all variables must be entered at the time it is instantiated - it will not allow a randomly created and therefore variable length source table nor array.

Best,
Scott

On Sat, May 11, 2024, 6:53 a.m. vlz <viclazzarini@gmail.com> wrote:
GEN 33 and 34 were introduced before we had arrays. These days we can reproduce the functionality using the array version of
ftgen


You can put any arbitrary numbers of parameters into an array and then use the relevant GEN directly.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 09:03, Scott Daughtrey <stunes6556@gmail.com> wrote:

I'd like to make a request based on a modification of the GEN16 routine.

GEN33 & 34 can easily allow creation of algorithmically based wavetables of any size with any number of tables, each containing any number of (in)harm partials, using a source table to hold the necessary parameters.

For example, to create a wavetable of 32 individual tables, each having a different number/amount of partials (inharmonic partials can be non-integer values), strengths &/or phases one can do something like:

iNumberOfTables init 32
iSrc = ftgentmp(0, 0, 1024, -2, 0)

while iNumberOfTables > 0 do
 iNumberOfPartials = random:i(2, 30)

 while iNumberOfPartials > 0 do
 ;   bunch of stuff to create random values &
 ;   write them to the iSrc table
   iNumberOfPartials -=1
 od

 iNumberOfTables -= 1
od

iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)

If there was a routine based on GEN16 that could use a source table in a similar way it would allow for algorithmic creation of a "wavetable" containing complex individual tables for waveforms, (looping) envelopes, LFOs etc., similar to the concept of transeg but not limited to a set number of segments (number and values of points, durations and exp/log/linear slopes).

I hope I was able to describe this reasonably well. If not I could post more illustrative code to demonstrate.

Best,
Scott

Csound mailing list
Csound@listserv.heanet.ie
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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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

Date2024-05-11 13:08
FromST Music
SubjectRe: [Csnd] [EXTERNAL] Re: [Csnd] Feature request: new GEN routine
Yes, I understand completely now. When I first made the request I was unaware of the page you linked, I had only referenced the GEN16 page from the canonical manual which itself makes no mention of using arrays. 

I thank you for the response, that's great.

Best,
Scott

On Sat, May 11, 2024, 8:03 a.m. Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
It absolutely can with an array. That's the whole point, you just make the array to the required length.

I do this all the time. All you need is to create an array and pass it to ftgen. GEN33 and 34 are obsolescent. You can do the same thing with just GEN 9 or GEN 10.



Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 12:51, ST Music <stunes6556@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

The issue here is GEN16 requires all parameters are entered at the time of it's creation, there cannot be a variable number of parameters. So I believe in this instance an array is impractical.

For example, if 1 segment is requested, 4 variables are necessary for GEN16:
ftgen 0, 0, size, 16, val1, dur1, type1,val2

So if one wants to randomly create 64 individual tables within a loop with a random number of segments from say 2 to 32 segments, 32 segments would require initializing the GEN16 with 97 parameters whereas 2 segments only requires 7.

GEN34 & GEN33 do not have such  limitation. They can accept a source table that is size 3 (1 partial, 3 variables) or size 300 (100 partials), all of which can be automatically generated in a loop. GEN16 does not allow this as all variables must be entered at the time it is instantiated - it will not allow a randomly created and therefore variable length source table nor array.

Best,
Scott

On Sat, May 11, 2024, 6:53 a.m. vlz <viclazzarini@gmail.com> wrote:
GEN 33 and 34 were introduced before we had arrays. These days we can reproduce the functionality using the array version of
ftgen


You can put any arbitrary numbers of parameters into an array and then use the relevant GEN directly.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 09:03, Scott Daughtrey <stunes6556@gmail.com> wrote:

I'd like to make a request based on a modification of the GEN16 routine.

GEN33 & 34 can easily allow creation of algorithmically based wavetables of any size with any number of tables, each containing any number of (in)harm partials, using a source table to hold the necessary parameters.

For example, to create a wavetable of 32 individual tables, each having a different number/amount of partials (inharmonic partials can be non-integer values), strengths &/or phases one can do something like:

iNumberOfTables init 32
iSrc = ftgentmp(0, 0, 1024, -2, 0)

while iNumberOfTables > 0 do
 iNumberOfPartials = random:i(2, 30)

 while iNumberOfPartials > 0 do
 ;   bunch of stuff to create random values &
 ;   write them to the iSrc table
   iNumberOfPartials -=1
 od

 iNumberOfTables -= 1
od

iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)

If there was a routine based on GEN16 that could use a source table in a similar way it would allow for algorithmic creation of a "wavetable" containing complex individual tables for waveforms, (looping) envelopes, LFOs etc., similar to the concept of transeg but not limited to a set number of segments (number and values of points, durations and exp/log/linear slopes).

I hope I was able to describe this reasonably well. If not I could post more illustrative code to demonstrate.

Best,
Scott

Csound mailing list
Csound@listserv.heanet.ie
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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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

Date2024-05-12 12:30
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] [EXTERNAL] Re: [Csnd] Feature request: new GEN routine
Victor or Scott or both - it would be cool to have an example (as Scott describes) or one by Victor that shows how to do this in FLOSS or in the Manual or in both.  (I think that Joachim has something like this in FLOSS already doing generative additive, but it would be cool to see more)

- Dr.B


Dr. Richard Boulanger

Professor

Electronic Production and Design

Berklee College of Music

Professional Writing & Technology Division



On Sat, May 11, 2024 at 8:08 AM ST Music <stunes6556@gmail.com> wrote:
Yes, I understand completely now. When I first made the request I was unaware of the page you linked, I had only referenced the GEN16 page from the canonical manual which itself makes no mention of using arrays. 

I thank you for the response, that's great.

Best,
Scott

On Sat, May 11, 2024, 8:03 a.m. Victor Lazzarini < Victor.Lazzarini@mu.ie> wrote:
It absolutely can with an array. That's the whole point, you just make the array to the required length.

I do this all the time. All you need is to create an array and pass it to ftgen. GEN33 and 34 are obsolescent. You can do the same thing with just GEN 9 or GEN 10.



Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 12:51, ST Music < stunes6556@gmail.com> wrote:



*Warning*

This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.

The issue here is GEN16 requires all parameters are entered at the time of it's creation, there cannot be a variable number of parameters. So I believe in this instance an array is impractical.

For example, if 1 segment is requested, 4 variables are necessary for GEN16:
ftgen 0, 0, size, 16, val1, dur1, type1,val2

So if one wants to randomly create 64 individual tables within a loop with a random number of segments from say 2 to 32 segments, 32 segments would require initializing the GEN16 with 97 parameters whereas 2 segments only requires 7.

GEN34 & GEN33 do not have such  limitation. They can accept a source table that is size 3 (1 partial, 3 variables) or size 300 (100 partials), all of which can be automatically generated in a loop. GEN16 does not allow this as all variables must be entered at the time it is instantiated - it will not allow a randomly created and therefore variable length source table nor array.

Best,
Scott

On Sat, May 11, 2024, 6:53 a.m. vlz < viclazzarini@gmail.com> wrote:
GEN 33 and 34 were introduced before we had arrays. These days we can reproduce the functionality using the array version of
ftgen


You can put any arbitrary numbers of parameters into an array and then use the relevant GEN directly.


Prof. Victor Lazzarini
Maynooth University
Ireland

On 11 May 2024, at 09:03, Scott Daughtrey < stunes6556@gmail.com> wrote:

 I'd like to make a request based on a modification of the GEN16 routine.

GEN33 & 34 can easily allow creation of algorithmically based wavetables of any size with any number of tables, each containing any number of (in)harm partials, using a source table to hold the necessary parameters.

For example, to create a wavetable of 32 individual tables, each having a different number/amount of partials (inharmonic partials can be non-integer values), strengths &/or phases one can do something like:

iNumberOfTables init 32
iSrc = ftgentmp(0, 0, 1024, -2, 0)

while iNumberOfTables > 0 do
 iNumberOfPartials = random:i(2, 30)

 while iNumberOfPartials > 0 do
 ;   bunch of stuff to create random values &
 ;   write them to the iSrc table
   iNumberOfPartials -=1
 od

 iNumberOfTables -= 1
od

iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)

If there was a routine based on GEN16 that could use a source table in a similar way it would allow for algorithmic creation of a "wavetable" containing complex individual tables for waveforms, (looping) envelopes, LFOs etc., similar to the concept of transeg but not limited to a set number of segments (number and values of points, durations and exp/log/linear slopes).

I hope I was able to describe this reasonably well. If not I could post more illustrative code to demonstrate.

Best,
Scott

Csound mailing list
Csound@listserv.heanet.ie
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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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 Csound@listserv.heanet.ie 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

Date2024-05-12 18:28
Fromjoachim heintz
SubjectRe: [Csnd] [EXTERNAL] Re: [Csnd] Feature request: new GEN routine
yes i agree --- this feature is much too hidden.
@victor: can you share one or two of the examples which you mentioned?


On 12/05/2024 13:30, Dr. Richard Boulanger wrote:
> Victor or Scott or both - it would be cool to have an example (as Scott 
> describes) or one by Victor that shows how to do this in FLOSS or in the 
> Manual or in both.  (I think that Joachim has something like this in 
> FLOSS already doing generative additive, but it would be cool to see more)
> 
> *- Dr.B*
> 
> *
> *
> 
> *Dr. Richard Boulanger*
> 
> Professor
> 
> Electronic Production and Design
> 
> *Berklee College of Music*
> 
> Professional Writing & Technology Division
> 
> 
> 
> On Sat, May 11, 2024 at 8:08 AM ST Music  > wrote:
> 
>     Yes, I understand completely now. When I first made the request I
>     was unaware of the page you linked, I had only referenced the GEN16
>     page from the canonical manual which itself makes no mention of
>     using arrays.
> 
>     I thank you for the response, that's great.
> 
>     Best,
>     Scott
> 
>     On Sat, May 11, 2024, 8:03 a.m. Victor Lazzarini <
>     Victor.Lazzarini@mu.ie > wrote:
> 
>         It absolutely can with an array. That's the whole point, you
>         just make the array to the required length.
> 
>         I do this all the time. All you need is to create an array and
>         pass it to ftgen. GEN33 and 34 are obsolescent. You can do the
>         same thing with just GEN 9 or GEN 10.
> 
> 
> 
>         Prof. Victor Lazzarini
>         Maynooth University
>         Ireland
> 
>>         On 11 May 2024, at 12:51, ST Music < stunes6556@gmail.com
>>         > wrote:
>>
>>         
>>
>>
>>           *Warning*
>>
>>         This email originated from outside of Maynooth University's
>>         Mail System. Do not reply, click links or open attachments
>>         unless you recognise the sender and know the content is safe.
>>
>>         The issue here is GEN16 requires all parameters are entered at
>>         the time of it's creation, there cannot be a variable number
>>         of parameters. So I believe in this instance an array is
>>         impractical.
>>
>>         For example, if 1 segment is requested, 4 variables are
>>         necessary for GEN16:
>>         ftgen 0, 0, size, 16, val1, dur1, type1,val2
>>
>>         So if one wants to randomly create 64 individual tables within
>>         a loop with a random number of segments from say 2 to 32
>>         segments, 32 segments would require initializing the GEN16
>>         with 97 parameters whereas 2 segments only requires 7.
>>
>>         GEN34 & GEN33 do not have such  limitation. They can accept a
>>         source table that is size 3 (1 partial, 3 variables) or size
>>         300 (100 partials), all of which can be automatically
>>         generated in a loop. GEN16 does not allow this as all
>>         variables must be entered at the time it is instantiated - it
>>         will not allow a randomly created and therefore variable
>>         length source table nor array.
>>
>>         Best,
>>         Scott
>>
>>         On Sat, May 11, 2024, 6:53 a.m. vlz < viclazzarini@gmail.com
>>         > wrote:
>>
>>             GEN 33 and 34 were introduced before we had arrays. These
>>             days we can reproduce the functionality using the array
>>             version of
>>             ftgen
>>
>>             ftgen
>>             
>>             csound.com
>>             
>>             	
>>
>>             
>>
>>             You can put any arbitrary numbers of parameters into an
>>             array and then use the relevant GEN directly.
>>
>>
>>             Prof. Victor Lazzarini
>>             Maynooth University
>>             Ireland
>>
>>>             On 11 May 2024, at 09:03, Scott Daughtrey <
>>>             stunes6556@gmail.com > wrote:
>>>
>>>              I'd like to make a request based on a modification of
>>>             the GEN16 routine.
>>>
>>>             GEN33 & 34 can easily allow creation of algorithmically
>>>             based wavetables of any size with any number of tables,
>>>             each containing any number of (in)harm partials, using a
>>>             source table to hold the necessary parameters.
>>>
>>>             For example, to create a wavetable of 32 individual
>>>             tables, each having a different number/amount of partials
>>>             (inharmonic partials can be non-integer values),
>>>             strengths &/or phases one can do something like:
>>>
>>>             iNumberOfTables init 32
>>>             iSrc = ftgentmp(0, 0, 1024, -2, 0)
>>>
>>>             while iNumberOfTables > 0 do
>>>              iNumberOfPartials = random:i(2, 30)
>>>
>>>              while iNumberOfPartials > 0 do
>>>              ;   bunch of stuff to create random values &
>>>              ;   write them to the iSrc table
>>>                iNumberOfPartials -=1
>>>              od
>>>
>>>              iNumberOfTables -= 1
>>>             od
>>>
>>>             iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)
>>>
>>>             If there was a routine based on GEN16 that could use a
>>>             source table in a similar way it would allow for
>>>             algorithmic creation of a "wavetable" containing complex
>>>             individual tables for waveforms, (looping) envelopes,
>>>             LFOs etc., similar to the concept of transeg but not
>>>             limited to a set number of segments (number and values of
>>>             points, durations and exp/log/linear slopes).
>>>
>>>             I hope I was able to describe this reasonably well. If
>>>             not I could post more illustrative code to demonstrate.
>>>
>>>             Best,
>>>             Scott
>>>
>>>             Csound mailing list
>>>             Csound@listserv.heanet.ie 
>>>             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 Csound@listserv.heanet.ie
>>             
>>             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 Csound@listserv.heanet.ie
>>         
>>         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 Csound@listserv.heanet.ie
>         
>         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 Csound@listserv.heanet.ie
>     
>     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 Csound@listserv.heanet.ie 
>  
> 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
Csound@listserv.heanet.ie
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

Date2024-05-12 19:26
FromVictor Lazzarini
SubjectRe: [Csnd] [EXTERNAL] Re: [Csnd] Feature request: new GEN routine
Attachmentswavetable.csd  
See attached.


========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 12 May 2024, at 18:28, joachim heintz <jh@JOACHIMHEINTZ.DE> wrote:
>
> yes i agree --- this feature is much too hidden.
> @victor: can you share one or two of the examples which you mentioned?
>
>
> On 12/05/2024 13:30, Dr. Richard Boulanger wrote:
>> Victor or Scott or both - it would be cool to have an example (as Scott describes) or one by Victor that shows how to do this in FLOSS or in the Manual or in both.  (I think that Joachim has something like this in FLOSS already doing generative additive, but it would be cool to see more)
>> *- Dr.B*
>> *
>> *
>> *Dr. Richard Boulanger*
>> Professor
>> Electronic Production and Design
>> *Berklee College of Music*
>> Professional Writing & Technology Division
>> On Sat, May 11, 2024 at 8:08 AM ST Music <stunes6556@gmail.com <mailto:stunes6556@gmail.com>> wrote:
>>    Yes, I understand completely now. When I first made the request I
>>    was unaware of the page you linked, I had only referenced the GEN16
>>    page from the canonical manual which itself makes no mention of
>>    using arrays.
>>    I thank you for the response, that's great.
>>    Best,
>>    Scott
>>    On Sat, May 11, 2024, 8:03 a.m. Victor Lazzarini <
>>    Victor.Lazzarini@mu.ie <mailto:Victor.Lazzarini@mu.ie>> wrote:
>>        It absolutely can with an array. That's the whole point, you
>>        just make the array to the required length.
>>        I do this all the time. All you need is to create an array and
>>        pass it to ftgen. GEN33 and 34 are obsolescent. You can do the
>>        same thing with just GEN 9 or GEN 10.
>>        Prof. Victor Lazzarini
>>        Maynooth University
>>        Ireland
>>>        On 11 May 2024, at 12:51, ST Music < stunes6556@gmail.com
>>>        <mailto:stunes6556@gmail.com>> wrote:
>>>
>>>        
>>>
>>>
>>>          *Warning*
>>>
>>>        This email originated from outside of Maynooth University's
>>>        Mail System. Do not reply, click links or open attachments
>>>        unless you recognise the sender and know the content is safe.
>>>
>>>        The issue here is GEN16 requires all parameters are entered at
>>>        the time of it's creation, there cannot be a variable number
>>>        of parameters. So I believe in this instance an array is
>>>        impractical.
>>>
>>>        For example, if 1 segment is requested, 4 variables are
>>>        necessary for GEN16:
>>>        ftgen 0, 0, size, 16, val1, dur1, type1,val2
>>>
>>>        So if one wants to randomly create 64 individual tables within
>>>        a loop with a random number of segments from say 2 to 32
>>>        segments, 32 segments would require initializing the GEN16
>>>        with 97 parameters whereas 2 segments only requires 7.
>>>
>>>        GEN34 & GEN33 do not have such  limitation. They can accept a
>>>        source table that is size 3 (1 partial, 3 variables) or size
>>>        300 (100 partials), all of which can be automatically
>>>        generated in a loop. GEN16 does not allow this as all
>>>        variables must be entered at the time it is instantiated - it
>>>        will not allow a randomly created and therefore variable
>>>        length source table nor array.
>>>
>>>        Best,
>>>        Scott
>>>
>>>        On Sat, May 11, 2024, 6:53 a.m. vlz < viclazzarini@gmail.com
>>>        <mailto:viclazzarini@gmail.com>> wrote:
>>>
>>>            GEN 33 and 34 were introduced before we had arrays. These
>>>            days we can reproduce the functionality using the array
>>>            version of
>>>            ftgen
>>>
>>>            ftgen
>>>            <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dcsound.com%26u%3DaHR0cHM6Ly9jc291bmQuY29tL21hbnVhbC9mdGdlbi5odG1s%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3Dcy9XMDBLQXFwOWtycDNsR2Roam0rdUVaWndaVXBkN3ErWmdnVm0wdlc4bz0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317171989465%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=9Nn%2F1dB2m9UxcKKhGPpvORjTnLEEHKL1UutcmtBQcH0%3D&reserved=0>
>>>            csound.com
>>>            <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dcsound.com%26u%3DaHR0cHM6Ly9jc291bmQuY29tL21hbnVhbC9mdGdlbi5odG1s%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3Dcy9XMDBLQXFwOWtycDNsR2Roam0rdUVaWndaVXBkN3ErWmdnVm0wdlc4bz0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317171999747%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=kUn%2F0VXUUvKsg1rxWNrBdf9P7yYgXuyD54AUY%2Bv12xA%3D&reserved=0>
>>>             <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dcsound.com%26u%3DaHR0cHM6Ly9jc291bmQuY29tL21hbnVhbC9mdGdlbi5odG1s%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3Dcy9XMDBLQXFwOWtycDNsR2Roam0rdUVaWndaVXBkN3ErWmdnVm0wdlc4bz0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172006336%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=c5%2FzYICV2BHpafG%2BQtsiEy4OZXjkTjVQYvJJ2galfwQ%3D&reserved=0>
>>>
>>>            <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dcsound.com%26u%3DaHR0cHM6Ly9jc291bmQuY29tL21hbnVhbC9mdGdlbi5odG1s%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3Dcy9XMDBLQXFwOWtycDNsR2Roam0rdUVaWndaVXBkN3ErWmdnVm0wdlc4bz0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172010460%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Kzx73VSv0P9HzyNe5ksykMj4Ce8bS%2BTQl7jUg%2FWC%2FPc%3D&reserved=0>
>>>
>>>            You can put any arbitrary numbers of parameters into an
>>>            array and then use the relevant GEN directly.
>>>
>>>
>>>            Prof. Victor Lazzarini
>>>            Maynooth University
>>>            Ireland
>>>
>>>>            On 11 May 2024, at 09:03, Scott Daughtrey <
>>>>            stunes6556@gmail.com <mailto:stunes6556@gmail.com>> wrote:
>>>>
>>>>             I'd like to make a request based on a modification of
>>>>            the GEN16 routine.
>>>>
>>>>            GEN33 & 34 can easily allow creation of algorithmically
>>>>            based wavetables of any size with any number of tables,
>>>>            each containing any number of (in)harm partials, using a
>>>>            source table to hold the necessary parameters.
>>>>
>>>>            For example, to create a wavetable of 32 individual
>>>>            tables, each having a different number/amount of partials
>>>>            (inharmonic partials can be non-integer values),
>>>>            strengths &/or phases one can do something like:
>>>>
>>>>            iNumberOfTables init 32
>>>>            iSrc = ftgentmp(0, 0, 1024, -2, 0)
>>>>
>>>>            while iNumberOfTables > 0 do
>>>>             iNumberOfPartials = random:i(2, 30)
>>>>
>>>>             while iNumberOfPartials > 0 do
>>>>             ;   bunch of stuff to create random values &
>>>>             ;   write them to the iSrc table
>>>>               iNumberOfPartials -=1
>>>>             od
>>>>
>>>>             iNumberOfTables -= 1
>>>>            od
>>>>
>>>>            iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)
>>>>
>>>>            If there was a routine based on GEN16 that could use a
>>>>            source table in a similar way it would allow for
>>>>            algorithmic creation of a "wavetable" containing complex
>>>>            individual tables for waveforms, (looping) envelopes,
>>>>            LFOs etc., similar to the concept of transeg but not
>>>>            limited to a set number of segments (number and values of
>>>>            points, durations and exp/log/linear slopes).
>>>>
>>>>            I hope I was able to describe this reasonably well. If
>>>>            not I could post more illustrative code to demonstrate.
>>>>
>>>>            Best,
>>>>            Scott
>>>>
>>>>            Csound mailing list
>>>>            Csound@listserv.heanet.ie <mailto:Csound@listserv.heanet.ie>
>>>>            https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172014571%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=OtAVVzxh9dasQqI2sUPWJNxQJAyE4lmk0pVjXJ6RcVw%3D&reserved=0
>>>>            <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dheanet.ie%26u%3DaHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ%3D%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DWVZMRlI4dlFUVUZ6V2NTOUU5eE9lZnFIemtoc2hxYlBDMFFCWmtKZzhzRT0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172018272%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wOIVC3DoVlaUOyOt4a5o3h4H8fsa9TcRdAJcoj6cmYc%3D&reserved=0>
>>>>            Send bugs reports to
>>>>            https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172024969%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=VUl7UMIHlblD8urrnjCWOPgdoKo14eCPLx3KGUsat%2FM%3D&reserved=0
>>>>            <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dgithub.com%26u%3DaHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DYlNrQ2lLclRLZUpGUE1iR0FyY2M1eW1NTUU5SUozWlJwMTNZU2NXT1BLOD0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172030546%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=iGbfAB8XhUyR7TQQcWwGndl44c2BNix5TROdFXfrYaI%3D&reserved=0>
>>>>            Discussions of bugs and features can be posted here
>>>            Csound mailing list Csound@listserv.heanet.ie
>>>            <mailto:Csound@listserv.heanet.ie>
>>>            https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172035648%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=mahJrvazNv5KFy%2BUKL9zQN7zYpIwJvMvoX63g1PFC5M%3D&reserved=0
>>>            <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dheanet.ie%26u%3DaHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ%3D%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DWVZMRlI4dlFUVUZ6V2NTOUU5eE9lZnFIemtoc2hxYlBDMFFCWmtKZzhzRT0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172039240%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=37w564E7MNISwVbD4y311dxTVG0ENTSGR7qLf5zjpeM%3D&reserved=0> Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172043148%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=en%2B3HUjAaxTUg%2BHpbT8nbiIESHyz68PLz3j9D8oK%2Flk%3D&reserved=0 <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dgithub.com%26u%3DaHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DYlNrQ2lLclRLZUpGUE1iR0FyY2M1eW1NTUU5SUozWlJwMTNZU2NXT1BLOD0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172046637%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=WbAjV5Zm%2FE0J2Juhv8QCMezZvc1C1WsReboD7%2BRQA0g%3D&reserved=0> Discussions of bugs and features can be posted here
>>>        Csound mailing list Csound@listserv.heanet.ie
>>>        <mailto:Csound@listserv.heanet.ie>
>>>        https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172050525%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Ca%2FbO03lW7p1KB%2FnBJw1W1Wf1AZADS3fk%2FsNSB4ccVw%3D&reserved=0
>>>        <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dheanet.ie%26u%3DaHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ%3D%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DWVZMRlI4dlFUVUZ6V2NTOUU5eE9lZnFIemtoc2hxYlBDMFFCWmtKZzhzRT0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172054116%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=XoaduyXVmYpnUGWKjyweiVGDbYTxSX3GA2BhOlVB4EU%3D&reserved=0> Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172058098%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=zwb7UjxfXK2QxZVPABhSgJ5Ut7iu3XF7ZwprbntjZek%3D&reserved=0 <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dgithub.com%26u%3DaHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DYlNrQ2lLclRLZUpGUE1iR0FyY2M1eW1NTUU5SUozWlJwMTNZU2NXT1BLOD0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172061555%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=mBa0daoWsYE9jUPQt55OWQe4RkILvNAcoGG6kGrVPnQ%3D&reserved=0> Discussions of bugs and features can be posted here
>>        Csound mailing list Csound@listserv.heanet.ie
>>        <mailto:Csound@listserv.heanet.ie>
>>        https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172065363%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Mm18vMRK834YxQuFEP64wuU5Ck%2FHcnDO%2F%2BTA2cjzDbE%3D&reserved=0
>>        <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dheanet.ie%26u%3DaHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ%3D%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DWVZMRlI4dlFUVUZ6V2NTOUU5eE9lZnFIemtoc2hxYlBDMFFCWmtKZzhzRT0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172068761%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=ZeJesMn4OYhVJAeX9hNILdXVg%2B0o%2FhunnQCI3G0lohg%3D&reserved=0> Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172072690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=4q4RwdGsCJOeZ1xNmu3mEmbYsOW5Aj7jcyNDCzGPppM%3D&reserved=0 <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dgithub.com%26u%3DaHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DYlNrQ2lLclRLZUpGUE1iR0FyY2M1eW1NTUU5SUozWlJwMTNZU2NXT1BLOD0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172076194%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wWhUcIXuqpIeo4gNgT5YAfsnEB3aljfYSY7xQvnterA%3D&reserved=0> Discussions of bugs and features can be posted here     Csound mailing list Csound@listserv.heanet.ie
>>    <mailto:Csound@listserv.heanet.ie>
>>    https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172079950%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=cGe1pQ6gH2m4B95uOI7lSuNMNqbIw4Mcsz%2BEvUgvRO4%3D&reserved=0
>>    <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dheanet.ie%26u%3DaHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ%3D%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DWVZMRlI4dlFUVUZ6V2NTOUU5eE9lZnFIemtoc2hxYlBDMFFCWmtKZzhzRT0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172083364%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=djRuUXKttDy26p4CFasSb49mxMHVkn9A8R7A%2B8ACLEQ%3D&reserved=0> Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172087180%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wlKBZh3kEVp33nLBr62lWsbykuxh7wxQVBkRzzVeqKY%3D&reserved=0 <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fus-west-2.protection.sophos.com%2F%3Fd%3Dgithub.com%26u%3DaHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz%26i%3DNWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm%26t%3DYlNrQ2lLclRLZUpGUE1iR0FyY2M1eW1NTUU5SUozWlJwMTNZU2NXT1BLOD0%3D%26h%3Da6cbf06606b34904ba017ce703977689%26s%3DAVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172090527%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Tr0HuSUrfT1LO%2Ff6Ky7Rw5D%2Bzn5YzJCLbqVoG4rtCLY%3D&reserved=0> Discussions of bugs and features can be posted here
>> Csound mailing list Csound@listserv.heanet.ie <mailto:Csound@listserv.heanet.ie> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172094519%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=NNeLCBZied98OWZdXcCZEJ4gEkUYLazclk%2BTYZ5TPRs%3D&reserved=0 <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172098014%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=VSLpoyAMHjUp13DwHKiQ8%2BY8yE1%2Fn2GWmHNnP53JYVM%3D&reserved=0> Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172101612%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wa9f0%2BrtPFJsYM7vn4A6Y2SuHNFd1zEkF41DDo%2BIB6E%3D&reserved=0 <https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172105069%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=YSnZZnMeZ44fXV1p%2BTPy0tDs9O6kivqTNelP2V3gRRk%3D&reserved=0> Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172108427%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=6f4n9xna0LFK5r7Yc30Dzz%2FYIMVa4yIEBCT7oJdHc7w%3D&reserved=0
> Send bugs reports to
>       https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172111885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=qeO3hu0x3dWBmalFNpUwAwwiS83wVq7MwEHB6vZJOws%3D&reserved=0
> Discussions of bugs and features can be posted here


Date2024-05-12 19:56
Fromjoachim heintz
SubjectRe: [Csnd] [EXTERNAL] Re: [Csnd] Feature request: new GEN routine
cool, thanks.


On 12/05/2024 20:26, Victor Lazzarini wrote:
> See attached.
> 
> 
> ========================
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
> 
>> On 12 May 2024, at 18:28, joachim heintz  wrote:
>> 
>> yes i agree --- this feature is much too hidden.
>> @victor: can you share one or two of the examples which you mentioned?
>> 
>> 
>> On 12/05/2024 13:30, Dr. Richard Boulanger wrote:
>>> Victor or Scott or both - it would be cool to have an example (as Scott describes) or one by Victor that shows how to do this in FLOSS or in the Manual or in both.  (I think that Joachim has something like this in FLOSS already doing generative additive,  but it would be cool to see more)
>>> *- Dr.B*
>>> *
>>> *
>>> *Dr. Richard Boulanger*
>>> Professor
>>> Electronic Production and Design
>>> *Berklee College of Music*
>>> Professional Writing & Technology Division
>>> On Sat, May 11, 2024 at 8:08 AM ST Music >> wrote:
>>>    Yes, I understand completely now. When I first made the request I
>>>    was unaware of the page you linked, I had only referenced the GEN16
>>>    page from the canonical manual which itself makes no mention of
>>>    using arrays.
>>>    I thank you for the response, that's great.
>>>    Best,
>>>    Scott
>>>    On Sat, May 11, 2024, 8:03 a.m. Victor Lazzarini <
>>>    Victor.Lazzarini@mu.ie >> wrote:
>>>        It absolutely can with an array. That's the whole point, you
>>>        just make the array to the required length.
>>>        I do this all the time. All you need is to create an array and
>>>        pass it to ftgen. GEN33 and 34 are obsolescent. You can do the
>>>        same thing with just GEN 9 or GEN 10.
>>>        Prof. Victor Lazzarini
>>>        Maynooth University
>>>        Ireland
>>>>        On 11 May 2024, at 12:51, ST Music < stunes6556@gmail.com
>>>>        >> wrote:
>>>> 
>>>>        
>>>> 
>>>> 
>>>>          *Warning*
>>>> 
>>>>        This email originated from outside of Maynooth University's
>>>>        Mail System. Do not reply, click links or open attachments
>>>>        unless you recognise the sender and know the content is safe.
>>>> 
>>>>        The issue here is GEN16 requires all parameters are entered at
>>>>        the time of it's creation, there cannot be a variable number
>>>>        of parameters. So I believe in this instance an array is
>>>>        impractical.
>>>> 
>>>>        For example, if 1 segment is requested, 4 variables are
>>>>        necessary for GEN16:
>>>>        ftgen 0, 0, size, 16, val1, dur1, type1,val2
>>>> 
>>>>        So if one wants to randomly create 64 individual tables within
>>>>        a loop with a random number of segments from say 2 to 32
>>>>        segments, 32 segments would require initializing the GEN16
>>>>        with 97 parameters whereas 2 segments only requires 7.
>>>> 
>>>>        GEN34 & GEN33 do not have such  limitation. They can accept a
>>>>        source table that is size 3 (1 partial, 3 variables) or size
>>>>        300 (100 partials), all of which can be automatically
>>>>        generated in a loop. GEN16 does not allow this as all
>>>>        variables must be entered at the time it is instantiated - it
>>>>        will not allow a randomly created and therefore variable
>>>>        length source table nor array.
>>>> 
>>>>        Best,
>>>>        Scott
>>>> 
>>>>        On Sat, May 11, 2024, 6:53 a.m. vlz < viclazzarini@gmail.com
>>>>        >> wrote:
>>>> 
>>>>            GEN 33 and 34 were introduced before we had arrays. These
>>>>            days we can reproduce the functionality using the array
>>>>            version of
>>>>            ftgen
>>>> 
>>>>            ftgen
>>>>            >
>>>>            csound.com
>>>>            >
>>>>             >
>>>> 
>>>>            >
>>>> 
>>>>            You can put any arbitrary numbers of parameters into an
>>>>            array and then use the relevant GEN directly.
>>>> 
>>>> 
>>>>            Prof. Victor Lazzarini
>>>>            Maynooth University
>>>>            Ireland
>>>> 
>>>>>            On 11 May 2024, at 09:03, Scott Daughtrey <
>>>>>            stunes6556@gmail.com >> wrote:
>>>>> 
>>>>>             I'd like to make a request based on a modification of
>>>>>            the GEN16 routine.
>>>>> 
>>>>>            GEN33 & 34 can easily allow creation of algorithmically
>>>>>            based wavetables of any size with any number of tables,
>>>>>            each containing any number of (in)harm partials, using a
>>>>>            source table to hold the necessary parameters.
>>>>> 
>>>>>            For example, to create a wavetable of 32 individual
>>>>>            tables, each having a different number/amount of partials
>>>>>            (inharmonic partials can be non-integer values),
>>>>>            strengths &/or phases one can do something like:
>>>>> 
>>>>>            iNumberOfTables init 32
>>>>>            iSrc = ftgentmp(0, 0, 1024, -2, 0)
>>>>> 
>>>>>            while iNumberOfTables > 0 do
>>>>>             iNumberOfPartials = random:i(2, 30)
>>>>> 
>>>>>             while iNumberOfPartials > 0 do
>>>>>             ;   bunch of stuff to create random values &
>>>>>             ;   write them to the iSrc table
>>>>>               iNumberOfPartials -=1
>>>>>             od
>>>>> 
>>>>>             iNumberOfTables -= 1
>>>>>            od
>>>>> 
>>>>>            iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)
>>>>> 
>>>>>            If there was a routine based on GEN16 that could use a
>>>>>            source table in a similar way it would allow for
>>>>>            algorithmic creation of a "wavetable" containing complex
>>>>>            individual tables for waveforms, (looping) envelopes,
>>>>>            LFOs etc., similar to the concept of transeg but not
>>>>>            limited to a set number of segments (number and values of
>>>>>            points, durations and exp/log/linear slopes).
>>>>> 
>>>>>            I hope I was able to describe this reasonably well. If
>>>>>            not I could post more illustrative code to demonstrate.
>>>>> 
>>>>>            Best,
>>>>>            Scott
>>>>> 
>>>>>            Csound mailing list
>>>>>            Csound@listserv.heanet.ie >
>>>>>            https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172014571%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=OtAVVzxh9dasQqI2sUPWJNxQJAyE4lmk0pVjXJ6RcVw%3D&reserved=0 
>>>>>            >
>>>>>            Send bugs reports to
>>>>>            https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172024969%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=VUl7UMIHlblD8urrnjCWOPgdoKo14eCPLx3KGUsat%2FM%3D&reserved=0 
>>>>>            >
>>>>>            Discussions of bugs and features can be posted here
>>>>            Csound mailing list Csound@listserv.heanet.ie
>>>>            >
>>>>            https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172035648%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=mahJrvazNv5KFy%2BUKL9zQN7zYpIwJvMvoX63g1PFC5M%3D&reserved=0 
>>>>            > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172043148%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=en%2B3HUjAaxTUg%2BHpbT8nbiIESHyz68PLz3j9D8oK%2Flk%3D&reserved=0  > Discussions of bugs and features can be posted here
>>>>        Csound mailing list Csound@listserv.heanet.ie
>>>>        >
>>>>        https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172050525%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Ca%2FbO03lW7p1KB%2FnBJw1W1Wf1AZADS3fk%2FsNSB4ccVw%3D&reserved=0 
>>>>        > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172058098%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=zwb7UjxfXK2QxZVPABhSgJ5Ut7iu3XF7ZwprbntjZek%3D&reserved=0  > Discussions of bugs and features can be posted here
>>>        Csound mailing list Csound@listserv.heanet.ie
>>>        >
>>>        https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172065363%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Mm18vMRK834YxQuFEP64wuU5Ck%2FHcnDO%2F%2BTA2cjzDbE%3D&reserved=0 
>>>        > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172072690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=4q4RwdGsCJOeZ1xNmu3mEmbYsOW5Aj7jcyNDCzGPppM%3D&reserved=0  > Discussions of bugs and features can be posted here     Csound mailing list Csound@listserv.heanet.ie
>>>    >
>>>    https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172079950%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=cGe1pQ6gH2m4B95uOI7lSuNMNqbIw4Mcsz%2BEvUgvRO4%3D&reserved=0 
>>>    > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172087180%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wlKBZh3kEVp33nLBr62lWsbykuxh7wxQVBkRzzVeqKY%3D&reserved=0  > Discussions of bugs and features can be posted here
>>> Csound mailing list Csound@listserv.heanet.ie > 
> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172094519%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=NNeLCBZied98OWZdXcCZEJ4gEkUYLazclk%2BTYZ5TPRs%3D&reserved=0  > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172101612%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wa9f0%2BrtPFJsYM7vn4A6Y2SuHNFd1zEkF41DDo%2BIB6E%3D&reserved=0  > Discussions of bugs and features can be posted here
>> 
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172108427%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=6f4n9xna0LFK5r7Yc30Dzz%2FYIMVa4yIEBCT7oJdHc7w%3D&reserved=0 
>> Send bugs reports to
>>       https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172111885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=qeO3hu0x3dWBmalFNpUwAwwiS83wVq7MwEHB6vZJOws%3D&reserved=0 
>> Discussions of bugs and features can be posted here
> 
> Csound mailing list Csound@listserv.heanet.ie 
>  
> 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
Csound@listserv.heanet.ie
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

Date2024-05-20 22:32
Fromjoachim heintz
SubjectRe: [Csnd] [EXTERNAL] Re: [Csnd] Feature request: new GEN routine
i have added now a description to the floss manual about array argument 
in ftgen, and two examples --- one basic, and the one from victor.  it 
is online in the develop version of the floss manual: 
https://csound-floss-dev.firebaseapp.com/csound-language/function-tables#gen10-creating-a-waveform 
(examples 03D03 and 03D06)

	joachim


On 12/05/2024 20:56, joachim heintz wrote:
> cool, thanks.
> 
> 
> On 12/05/2024 20:26, Victor Lazzarini wrote:
>> See attached.
>>
>>
>> ========================
>> Prof. Victor Lazzarini
>> Maynooth University
>> Ireland
>>
>>> On 12 May 2024, at 18:28, joachim heintz  wrote:
>>>
>>> yes i agree --- this feature is much too hidden.
>>> @victor: can you share one or two of the examples which you mentioned?
>>>
>>>
>>> On 12/05/2024 13:30, Dr. Richard Boulanger wrote:
>>>> Victor or Scott or both - it would be cool to have an example (as 
>>>> Scott describes) or one by Victor that shows how to do this in FLOSS 
>>>> or in the Manual or in both.  (I think that Joachim has something 
>>>> like this in FLOSS already doing generative additive,  but it would 
>>>> be cool to see more)
>>>> *- Dr.B*
>>>> *
>>>> *
>>>> *Dr. Richard Boulanger*
>>>> Professor
>>>> Electronic Production and Design
>>>> *Berklee College of Music*
>>>> Professional Writing & Technology Division
>>>> On Sat, May 11, 2024 at 8:08 AM ST Music >>> >> wrote:
>>>>     Yes, I understand completely now. When I first made the request I
>>>>     was unaware of the page you linked, I had only referenced the GEN16
>>>>     page from the canonical manual which itself makes no mention of
>>>>     using arrays.
>>>>     I thank you for the response, that's great.
>>>>     Best,
>>>>     Scott
>>>>     On Sat, May 11, 2024, 8:03 a.m. Victor Lazzarini <
>>>>     Victor.Lazzarini@mu.ie >>> >> wrote:
>>>>         It absolutely can with an array. That's the whole point, you
>>>>         just make the array to the required length.
>>>>         I do this all the time. All you need is to create an array and
>>>>         pass it to ftgen. GEN33 and 34 are obsolescent. You can do the
>>>>         same thing with just GEN 9 or GEN 10.
>>>>         Prof. Victor Lazzarini
>>>>         Maynooth University
>>>>         Ireland
>>>>>         On 11 May 2024, at 12:51, ST Music < stunes6556@gmail.com
>>>>>         >>>> >> wrote:
>>>>>
>>>>>         
>>>>>
>>>>>
>>>>>           *Warning*
>>>>>
>>>>>         This email originated from outside of Maynooth University's
>>>>>         Mail System. Do not reply, click links or open attachments
>>>>>         unless you recognise the sender and know the content is safe.
>>>>>
>>>>>         The issue here is GEN16 requires all parameters are entered at
>>>>>         the time of it's creation, there cannot be a variable number
>>>>>         of parameters. So I believe in this instance an array is
>>>>>         impractical.
>>>>>
>>>>>         For example, if 1 segment is requested, 4 variables are
>>>>>         necessary for GEN16:
>>>>>         ftgen 0, 0, size, 16, val1, dur1, type1,val2
>>>>>
>>>>>         So if one wants to randomly create 64 individual tables within
>>>>>         a loop with a random number of segments from say 2 to 32
>>>>>         segments, 32 segments would require initializing the GEN16
>>>>>         with 97 parameters whereas 2 segments only requires 7.
>>>>>
>>>>>         GEN34 & GEN33 do not have such  limitation. They can accept a
>>>>>         source table that is size 3 (1 partial, 3 variables) or size
>>>>>         300 (100 partials), all of which can be automatically
>>>>>         generated in a loop. GEN16 does not allow this as all
>>>>>         variables must be entered at the time it is instantiated - it
>>>>>         will not allow a randomly created and therefore variable
>>>>>         length source table nor array.
>>>>>
>>>>>         Best,
>>>>>         Scott
>>>>>
>>>>>         On Sat, May 11, 2024, 6:53 a.m. vlz < viclazzarini@gmail.com
>>>>>         >>>> >> wrote:
>>>>>
>>>>>             GEN 33 and 34 were introduced before we had arrays. These
>>>>>             days we can reproduce the functionality using the array
>>>>>             version of
>>>>>             ftgen
>>>>>
>>>>>             ftgen
>>>>>             
>>>>> >
>>>>>             csound.com
>>>>>             
>>>>> >
>>>>>              
>>>>> >
>>>>>
>>>>>             
>>>>> >
>>>>>
>>>>>             You can put any arbitrary numbers of parameters into an
>>>>>             array and then use the relevant GEN directly.
>>>>>
>>>>>
>>>>>             Prof. Victor Lazzarini
>>>>>             Maynooth University
>>>>>             Ireland
>>>>>
>>>>>>             On 11 May 2024, at 09:03, Scott Daughtrey <
>>>>>>             stunes6556@gmail.com >>>>> >> wrote:
>>>>>>
>>>>>>              I'd like to make a request based on a modification of
>>>>>>             the GEN16 routine.
>>>>>>
>>>>>>             GEN33 & 34 can easily allow creation of algorithmically
>>>>>>             based wavetables of any size with any number of tables,
>>>>>>             each containing any number of (in)harm partials, using a
>>>>>>             source table to hold the necessary parameters.
>>>>>>
>>>>>>             For example, to create a wavetable of 32 individual
>>>>>>             tables, each having a different number/amount of partials
>>>>>>             (inharmonic partials can be non-integer values),
>>>>>>             strengths &/or phases one can do something like:
>>>>>>
>>>>>>             iNumberOfTables init 32
>>>>>>             iSrc = ftgentmp(0, 0, 1024, -2, 0)
>>>>>>
>>>>>>             while iNumberOfTables > 0 do
>>>>>>              iNumberOfPartials = random:i(2, 30)
>>>>>>
>>>>>>              while iNumberOfPartials > 0 do
>>>>>>              ;   bunch of stuff to create random values &
>>>>>>              ;   write them to the iSrc table
>>>>>>                iNumberOfPartials -=1
>>>>>>              od
>>>>>>
>>>>>>              iNumberOfTables -= 1
>>>>>>             od
>>>>>>
>>>>>>             iWave = ftgen(0, 0, 1024, 34, "iSrc" ...)
>>>>>>
>>>>>>             If there was a routine based on GEN16 that could use a
>>>>>>             source table in a similar way it would allow for
>>>>>>             algorithmic creation of a "wavetable" containing complex
>>>>>>             individual tables for waveforms, (looping) envelopes,
>>>>>>             LFOs etc., similar to the concept of transeg but not
>>>>>>             limited to a set number of segments (number and values of
>>>>>>             points, durations and exp/log/linear slopes).
>>>>>>
>>>>>>             I hope I was able to describe this reasonably well. If
>>>>>>             not I could post more illustrative code to demonstrate.
>>>>>>
>>>>>>             Best,
>>>>>>             Scott
>>>>>>
>>>>>>             Csound mailing list
>>>>>>             Csound@listserv.heanet.ie 
>>>>>> >
>>>>>>            
>>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172014571%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=OtAVVzxh9dasQqI2sUPWJNxQJAyE4lmk0pVjXJ6RcVw%3D&reserved=0 
>>>>>>             
>>>>>> >
>>>>>>             Send bugs reports to
>>>>>>            
>>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172024969%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=VUl7UMIHlblD8urrnjCWOPgdoKo14eCPLx3KGUsat%2FM%3D&reserved=0 
>>>>>>             
>>>>>> >
>>>>>>             Discussions of bugs and features can be posted here
>>>>>             Csound mailing list Csound@listserv.heanet.ie
>>>>>             >>>> >
>>>>>            
>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172035648%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=mahJrvazNv5KFy%2BUKL9zQN7zYpIwJvMvoX63g1PFC5M%3D&reserved=0 
>>>>>             
>>>>> > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172043148%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=en%2B3HUjAaxTUg%2BHpbT8nbiIESHyz68PLz3j9D8oK%2Flk%3D&reserved=0  > Discussions of bugs and features can be posted here
>>>>>         Csound mailing list Csound@listserv.heanet.ie
>>>>>         >>>> >
>>>>>        
>>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172050525%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Ca%2FbO03lW7p1KB%2FnBJw1W1Wf1AZADS3fk%2FsNSB4ccVw%3D&reserved=0 
>>>>>         
>>>>> > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172058098%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=zwb7UjxfXK2QxZVPABhSgJ5Ut7iu3XF7ZwprbntjZek%3D&reserved=0  > Discussions of bugs and features can be posted here
>>>>         Csound mailing list Csound@listserv.heanet.ie
>>>>         >>> >
>>>>        
>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172065363%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Mm18vMRK834YxQuFEP64wuU5Ck%2FHcnDO%2F%2BTA2cjzDbE%3D&reserved=0 
>>>>         
>>>> > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172072690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=4q4RwdGsCJOeZ1xNmu3mEmbYsOW5Aj7jcyNDCzGPppM%3D&reserved=0  > Discussions of bugs and features can be posted here     Csound mailing list Csound@listserv.heanet.ie
>>>>     >>> >
>>>>    
>>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172079950%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=cGe1pQ6gH2m4B95uOI7lSuNMNqbIw4Mcsz%2BEvUgvRO4%3D&reserved=0 
>>>>     
>>>> > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172087180%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wlKBZh3kEVp33nLBr62lWsbykuxh7wxQVBkRzzVeqKY%3D&reserved=0  > Discussions of bugs and features can be posted here
>>>> Csound mailing list Csound@listserv.heanet.ie 
>>>> > 
>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172094519%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=NNeLCBZied98OWZdXcCZEJ4gEkUYLazclk%2BTYZ5TPRs%3D&reserved=0  > Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172101612%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=wa9f0%2BrtPFJsYM7vn4A6Y2SuHNFd1zEkF41DDo%2BIB6E%3D&reserved=0  > Discussions of bugs and features can be posted here
>>>
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172108427%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=6f4n9xna0LFK5r7Yc30Dzz%2FYIMVa4yIEBCT7oJdHc7w%3D&reserved=0 
>>> Send bugs reports to
>>>       
>>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=05%7C02%7CVictor.Lazzarini%40mu.ie%7C6b3a2ef006154690328708dc72a8f342%7C1454f5ccbb354685bbd98621fd8055c9%7C0%7C0%7C638511317172111885%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=qeO3hu0x3dWBmalFNpUwAwwiS83wVq7MwEHB6vZJOws%3D&reserved=0 
>>> Discussions of bugs and features can be posted here
>>
>> Csound mailing list Csound@listserv.heanet.ie 
>>  
>> 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
> Csound@listserv.heanet.ie
> 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
Csound@listserv.heanet.ie
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