Csound Csound-dev Csound-tekno Search About

[Csnd] Ability to change array values in a recursive udo

Date2024-03-06 16:46
FromPhilipp Neumann
Subject[Csnd] Ability to change array values in a recursive udo
Hello everybody!

I’m wondering if it’s possible to change the values in a recursive udo durring performance time.

To be clearer:
i have a recursive udo, which gets a k-array as input.
on base of this array it creates it’s recursive instances.

outside of the udo i want to morph with linlin between two arrays to change the input array for the udo.

but i get only silence. so i guess, this is not working.
or am i doing something wrong?

greetings
philipp
 
heres is my code

opcode square_batterie,a,k[]o
  kSpectrum[],iIndex xin
  iLenArr = lenarray(kSpectrum)
  
  kFreqs[],kAmps[] deinterleave kSpectrum

  aSig vco2 kAmps[iIndex],kFreqs[iIndex],10
  
  if iIndex+1 < iLenArr/2 then
    aSig += square_batterie(kSpectrum,iIndex+1)
  endif

  /* output */
  aOut = aSig/(iLenArr/2)
  xout aOut
endop 

instr 1
  #include "square_batterie-kSpectrum1.txt"
  #include "square_batterie-kSpectrum2.txt"

  kMorph line 0,p3,1
  kSpectrum[] linlin kMorph,kSpectrum1,kSpectrum2


  aSig square_batterie kSpectrum
  aSig1,aSig2 hilbert aSig

  aOut1 = aSig1
  aOut2 = aSig2
  outs aOut1,aOut2
endin
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-03-06 19:13
FromEduardo Moguillansky
SubjectRe: [Csnd] Ability to change array values in a recursive udo
You can use poly for that, your opcode would be reduced to:
aSigs[] poly lenarray:i(kAmps), "vco2", kAmps, kFreqs, 10
aSig = sumarray(aSigs)
On 06.03.24 17:46, Philipp Neumann wrote:
Hello everybody!

I’m wondering if it’s possible to change the values in a recursive udo durring performance time.

To be clearer:
i have a recursive udo, which gets a k-array as input.
on base of this array it creates it’s recursive instances.

outside of the udo i want to morph with linlin between two arrays to change the input array for the udo.

but i get only silence. so i guess, this is not working.
or am i doing something wrong?

greetings
philipp
 
heres is my code

opcode square_batterie,a,k[]o
  kSpectrum[],iIndex xin
  iLenArr = lenarray(kSpectrum)
  
  kFreqs[],kAmps[] deinterleave kSpectrum

  aSig vco2 kAmps[iIndex],kFreqs[iIndex],10
  
  if iIndex+1 < iLenArr/2 then
    aSig += square_batterie(kSpectrum,iIndex+1)
  endif

  /* output */
  aOut = aSig/(iLenArr/2)
  xout aOut
endop 

instr 1
  #include "square_batterie-kSpectrum1.txt"
  #include "square_batterie-kSpectrum2.txt"

  kMorph line 0,p3,1
  kSpectrum[] linlin kMorph,kSpectrum1,kSpectrum2


  aSig square_batterie kSpectrum
  aSig1,aSig2 hilbert aSig

  aOut1 = aSig1
  aOut2 = aSig2
  outs aOut1,aOut2
endin
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-03-06 19:28
FromPhilipp Neumann
SubjectRe: [Csnd] Ability to change array values in a recursive udo
Sorry, where can i find the documentation for the „Poly" opcode? it’s also not in the list of opcode when i do „csound -z“ in the terminal.
Belongs this to a package?

> Am 06.03.2024 um 20:13 schrieb Eduardo Moguillansky :
> 
> You can use poly for that, your opcode would be reduced to:
> 
> aSigs[] poly lenarray:i(kAmps), "vco2", kAmps, kFreqs, 10
> aSig = sumarray(aSigs)
> 
> On 06.03.24 17:46, Philipp Neumann wrote:
>> Hello everybody!
>> 
>> I’m wondering if it’s possible to change the values in a recursive udo durring performance time.
>> 
>> To be clearer:
>> i have a recursive udo, which gets a k-array as input.
>> on base of this array it creates it’s recursive instances.
>> 
>> outside of the udo i want to morph with linlin between two arrays to change the input array for the udo.
>> 
>> but i get only silence. so i guess, this is not working.
>> or am i doing something wrong?
>> 
>> greetings
>> philipp
>> 
>> heres is my code
>> 
>> opcode square_batterie,a,k[]o
>> kSpectrum[],iIndex xin
>> iLenArr = lenarray(kSpectrum)
>> 
>> kFreqs[],kAmps[] deinterleave kSpectrum
>> 
>> aSig vco2 kAmps[iIndex],kFreqs[iIndex],10
>> 
>> if iIndex+1 < iLenArr/2 then
>> aSig += square_batterie(kSpectrum,iIndex+1)
>> endif
>> 
>> /* output */
>> aOut = aSig/(iLenArr/2)
>> xout aOut
>> endop 
>> 
>> instr 1
>> #include "square_batterie-kSpectrum1.txt"
>> #include "square_batterie-kSpectrum2.txt"
>> 
>> kMorph line 0,p3,1
>> kSpectrum[] linlin kMorph,kSpectrum1,kSpectrum2
>> 
>> 
>> aSig square_batterie kSpectrum
>> aSig1,aSig2 hilbert aSig
>> 
>> aOut1 = aSig1
>> aOut2 = aSig2
>> outs aOut1,aOut2
>> endin
>> 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-03-06 19:45
FromEduardo Moguillansky
SubjectRe: [Csnd] Ability to change array values in a recursive udo
It is an external, see the docs at 
https://csound-plugins.github.io/csound-plugins/opcodes/poly.html

You can install externals manually (take a look at 
https://csound-plugins.github.io/csound-plugins/Installation.html) or 
use risset (https://github.com/csound-plugins/risset)

On 06.03.24 20:28, Philipp Neumann wrote:
> Sorry, where can i find the documentation for the „Poly" opcode? it’s also not in the list of opcode when i do „csound -z“ in the terminal.
> Belongs this to a package?
>
>> Am 06.03.2024 um 20:13 schrieb Eduardo Moguillansky :
>>
>> You can use poly for that, your opcode would be reduced to:
>>
>> aSigs[] poly lenarray:i(kAmps), "vco2", kAmps, kFreqs, 10
>> aSig = sumarray(aSigs)
>>
>> On 06.03.24 17:46, Philipp Neumann wrote:
>>> Hello everybody!
>>>
>>> I’m wondering if it’s possible to change the values in a recursive udo durring performance time.
>>>
>>> To be clearer:
>>> i have a recursive udo, which gets a k-array as input.
>>> on base of this array it creates it’s recursive instances.
>>>
>>> outside of the udo i want to morph with linlin between two arrays to change the input array for the udo.
>>>
>>> but i get only silence. so i guess, this is not working.
>>> or am i doing something wrong?
>>>
>>> greetings
>>> philipp
>>>
>>> heres is my code
>>>
>>> opcode square_batterie,a,k[]o
>>> kSpectrum[],iIndex xin
>>> iLenArr = lenarray(kSpectrum)
>>>
>>> kFreqs[],kAmps[] deinterleave kSpectrum
>>>
>>> aSig vco2 kAmps[iIndex],kFreqs[iIndex],10
>>>
>>> if iIndex+1 < iLenArr/2 then
>>> aSig += square_batterie(kSpectrum,iIndex+1)
>>> endif
>>>
>>> /* output */
>>> aOut = aSig/(iLenArr/2)
>>> xout aOut
>>> endop
>>>
>>> instr 1
>>> #include "square_batterie-kSpectrum1.txt"
>>> #include "square_batterie-kSpectrum2.txt"
>>>
>>> kMorph line 0,p3,1
>>> kSpectrum[] linlin kMorph,kSpectrum1,kSpectrum2
>>>
>>>
>>> aSig square_batterie kSpectrum
>>> aSig1,aSig2 hilbert aSig
>>>
>>> aOut1 = aSig1
>>> aOut2 = aSig2
>>> outs aOut1,aOut2
>>> endin
>>> 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-03-07 09:21
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Ability to change array values in a recursive udo
Also, regarding your initial question about arrays in UDOs, I think the array will be copied into the UDO when it is called. That would also mean that your recursive UDO call would copy the array again and again (someone correct me if I've misunderstood this). It would not be the most effective way, I think. Perhaps if you can keep the array out of the UDO and just iterate it would be less complicated.

Øyvind

ons. 6. mars 2024 kl. 20:28 skrev Philipp Neumann <philipp@von-neumann.com>:
Sorry, where can i find the documentation for the „Poly" opcode? it’s also not in the list of opcode when i do „csound -z“ in the terminal.
Belongs this to a package?

> Am 06.03.2024 um 20:13 schrieb Eduardo Moguillansky <eduardo.moguillansky@GMAIL.COM>:
>
> You can use poly for that, your opcode would be reduced to:
>
> aSigs[] poly lenarray:i(kAmps), "vco2", kAmps, kFreqs, 10
> aSig = sumarray(aSigs)
>
> On 06.03.24 17:46, Philipp Neumann wrote:
>> Hello everybody!
>>
>> I’m wondering if it’s possible to change the values in a recursive udo durring performance time.
>>
>> To be clearer:
>> i have a recursive udo, which gets a k-array as input.
>> on base of this array it creates it’s recursive instances.
>>
>> outside of the udo i want to morph with linlin between two arrays to change the input array for the udo.
>>
>> but i get only silence. so i guess, this is not working.
>> or am i doing something wrong?
>>
>> greetings
>> philipp
>>
>> heres is my code
>>
>> opcode square_batterie,a,k[]o
>> kSpectrum[],iIndex xin
>> iLenArr = lenarray(kSpectrum)
>>
>> kFreqs[],kAmps[] deinterleave kSpectrum
>>
>> aSig vco2 kAmps[iIndex],kFreqs[iIndex],10
>>
>> if iIndex+1 < iLenArr/2 then
>> aSig += square_batterie(kSpectrum,iIndex+1)
>> endif
>>
>> /* output */
>> aOut = aSig/(iLenArr/2)
>> xout aOut
>> endop
>>
>> instr 1
>> #include "square_batterie-kSpectrum1.txt"
>> #include "square_batterie-kSpectrum2.txt"
>>
>> kMorph line 0,p3,1
>> kSpectrum[] linlin kMorph,kSpectrum1,kSpectrum2
>>
>>
>> aSig square_batterie kSpectrum
>> aSig1,aSig2 hilbert aSig
>>
>> aOut1 = aSig1
>> aOut2 = aSig2
>> outs aOut1,aOut2
>> endin
>> 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-03-07 09:22
FromPhilipp Neumann
SubjectRe: [Csnd] Ability to change array values in a recursive udo
Thanks, Eduardo!

It’s running fine!

> Am 06.03.2024 um 20:45 schrieb Eduardo Moguillansky :
> 
> It is an external, see the docs at https://csound-plugins.github.io/csound-plugins/opcodes/poly.html
> 
> You can install externals manually (take a look at https://csound-plugins.github.io/csound-plugins/Installation.html) or use risset (https://github.com/csound-plugins/risset)
> 
> On 06.03.24 20:28, Philipp Neumann wrote:
>> Sorry, where can i find the documentation for the „Poly" opcode? it’s also not in the list of opcode when i do „csound -z“ in the terminal.
>> Belongs this to a package?
>> 
>>> Am 06.03.2024 um 20:13 schrieb Eduardo Moguillansky :
>>> 
>>> You can use poly for that, your opcode would be reduced to:
>>> 
>>> aSigs[] poly lenarray:i(kAmps), "vco2", kAmps, kFreqs, 10
>>> aSig = sumarray(aSigs)
>>> 
>>> On 06.03.24 17:46, Philipp Neumann wrote:
>>>> Hello everybody!
>>>> 
>>>> I’m wondering if it’s possible to change the values in a recursive udo durring performance time.
>>>> 
>>>> To be clearer:
>>>> i have a recursive udo, which gets a k-array as input.
>>>> on base of this array it creates it’s recursive instances.
>>>> 
>>>> outside of the udo i want to morph with linlin between two arrays to change the input array for the udo.
>>>> 
>>>> but i get only silence. so i guess, this is not working.
>>>> or am i doing something wrong?
>>>> 
>>>> greetings
>>>> philipp
>>>> 
>>>> heres is my code
>>>> 
>>>> opcode square_batterie,a,k[]o
>>>> kSpectrum[],iIndex xin
>>>> iLenArr = lenarray(kSpectrum)
>>>> 
>>>> kFreqs[],kAmps[] deinterleave kSpectrum
>>>> 
>>>> aSig vco2 kAmps[iIndex],kFreqs[iIndex],10
>>>> 
>>>> if iIndex+1 < iLenArr/2 then
>>>> aSig += square_batterie(kSpectrum,iIndex+1)
>>>> endif
>>>> 
>>>> /* output */
>>>> aOut = aSig/(iLenArr/2)
>>>> xout aOut
>>>> endop
>>>> 
>>>> instr 1
>>>> #include "square_batterie-kSpectrum1.txt"
>>>> #include "square_batterie-kSpectrum2.txt"
>>>> 
>>>> kMorph line 0,p3,1
>>>> kSpectrum[] linlin kMorph,kSpectrum1,kSpectrum2
>>>> 
>>>> 
>>>> aSig square_batterie kSpectrum
>>>> aSig1,aSig2 hilbert aSig
>>>> 
>>>> aOut1 = aSig1
>>>> aOut2 = aSig2
>>>> outs aOut1,aOut2
>>>> endin
>>>> 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-03-25 00:20
FromIain Duncan
SubjectRe: [Csnd] Ability to change array values in a recursive udo
Oh cool, I didn't know about poly. This seems like something that would be really helpful to have in the core. (though presumably that has been considered by people who know a lot more about the situation than me....)

iain

On Thu, Mar 7, 2024 at 1:22 AM Philipp Neumann <philipp@von-neumann.com> wrote:
Thanks, Eduardo!

It’s running fine!

> Am 06.03.2024 um 20:45 schrieb Eduardo Moguillansky <eduardo.moguillansky@GMAIL.COM>:
>
> It is an external, see the docs at https://csound-plugins.github.io/csound-plugins/opcodes/poly.html
>
> You can install externals manually (take a look at https://csound-plugins.github.io/csound-plugins/Installation.html) or use risset (https://github.com/csound-plugins/risset)
>
> On 06.03.24 20:28, Philipp Neumann wrote:
>> Sorry, where can i find the documentation for the „Poly" opcode? it’s also not in the list of opcode when i do „csound -z“ in the terminal.
>> Belongs this to a package?
>>
>>> Am 06.03.2024 um 20:13 schrieb Eduardo Moguillansky <eduardo.moguillansky@GMAIL.COM>:
>>>
>>> You can use poly for that, your opcode would be reduced to:
>>>
>>> aSigs[] poly lenarray:i(kAmps), "vco2", kAmps, kFreqs, 10
>>> aSig = sumarray(aSigs)
>>>
>>> On 06.03.24 17:46, Philipp Neumann wrote:
>>>> Hello everybody!
>>>>
>>>> I’m wondering if it’s possible to change the values in a recursive udo durring performance time.
>>>>
>>>> To be clearer:
>>>> i have a recursive udo, which gets a k-array as input.
>>>> on base of this array it creates it’s recursive instances.
>>>>
>>>> outside of the udo i want to morph with linlin between two arrays to change the input array for the udo.
>>>>
>>>> but i get only silence. so i guess, this is not working.
>>>> or am i doing something wrong?
>>>>
>>>> greetings
>>>> philipp
>>>>
>>>> heres is my code
>>>>
>>>> opcode square_batterie,a,k[]o
>>>> kSpectrum[],iIndex xin
>>>> iLenArr = lenarray(kSpectrum)
>>>>
>>>> kFreqs[],kAmps[] deinterleave kSpectrum
>>>>
>>>> aSig vco2 kAmps[iIndex],kFreqs[iIndex],10
>>>>
>>>> if iIndex+1 < iLenArr/2 then
>>>> aSig += square_batterie(kSpectrum,iIndex+1)
>>>> endif
>>>>
>>>> /* output */
>>>> aOut = aSig/(iLenArr/2)
>>>> xout aOut
>>>> endop
>>>>
>>>> instr 1
>>>> #include "square_batterie-kSpectrum1.txt"
>>>> #include "square_batterie-kSpectrum2.txt"
>>>>
>>>> kMorph line 0,p3,1
>>>> kSpectrum[] linlin kMorph,kSpectrum1,kSpectrum2
>>>>
>>>>
>>>> aSig square_batterie kSpectrum
>>>> aSig1,aSig2 hilbert aSig
>>>>
>>>> aOut1 = aSig1
>>>> aOut2 = aSig2
>>>> outs aOut1,aOut2
>>>> endin
>>>> 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-03-25 08:34
FromEduardo Moguillansky
SubjectRe: [Csnd] Ability to change array values in a recursive udo
Au contraire, code living outside of the core distribution can be updated more often and can be used with older versions of csound, as long as the plugin API does not change. These external plugins, for example, are compatible with csound back to 6.16. All fixes are available via risset as soon as the CI task finishes compilation, without needing to compile csound yourself. 

On Mon, Mar 25, 2024, 01:18 Iain Duncan <iainduncanlists@gmail.com> wrote:
Oh cool, I didn't know about poly. This seems like something that would be really helpful to have in the core. (though presumably that has been considered by people who know a lot more about the situation than me....)

iain

On Thu, Mar 7, 2024 at 1:22 AM Philipp Neumann <philipp@von-neumann.com> wrote:
Thanks, Eduardo!

It’s running fine!

> Am 06.03.2024 um 20:45 schrieb Eduardo Moguillansky <eduardo.moguillansky@GMAIL.COM>:
>
> It is an external, see the docs at https://csound-plugins.github.io/csound-plugins/opcodes/poly.html
>
> You can install externals manually (take a look at https://csound-plugins.github.io/csound-plugins/Installation.html) or use risset (https://github.com/csound-plugins/risset)
>
> On 06.03.24 20:28, Philipp Neumann wrote:
>> Sorry, where can i find the documentation for the „Poly" opcode? it’s also not in the list of opcode when i do „csound -z“ in the terminal.
>> Belongs this to a package?
>>
>>> Am 06.03.2024 um 20:13 schrieb Eduardo Moguillansky <eduardo.moguillansky@GMAIL.COM>:
>>>
>>> You can use poly for that, your opcode would be reduced to:
>>>
>>> aSigs[] poly lenarray:i(kAmps), "vco2", kAmps, kFreqs, 10
>>> aSig = sumarray(aSigs)
>>>
>>> On 06.03.24 17:46, Philipp Neumann wrote:
>>>> Hello everybody!
>>>>
>>>> I’m wondering if it’s possible to change the values in a recursive udo durring performance time.
>>>>
>>>> To be clearer:
>>>> i have a recursive udo, which gets a k-array as input.
>>>> on base of this array it creates it’s recursive instances.
>>>>
>>>> outside of the udo i want to morph with linlin between two arrays to change the input array for the udo.
>>>>
>>>> but i get only silence. so i guess, this is not working.
>>>> or am i doing something wrong?
>>>>
>>>> greetings
>>>> philipp
>>>>
>>>> heres is my code
>>>>
>>>> opcode square_batterie,a,k[]o
>>>> kSpectrum[],iIndex xin
>>>> iLenArr = lenarray(kSpectrum)
>>>>
>>>> kFreqs[],kAmps[] deinterleave kSpectrum
>>>>
>>>> aSig vco2 kAmps[iIndex],kFreqs[iIndex],10
>>>>
>>>> if iIndex+1 < iLenArr/2 then
>>>> aSig += square_batterie(kSpectrum,iIndex+1)
>>>> endif
>>>>
>>>> /* output */
>>>> aOut = aSig/(iLenArr/2)
>>>> xout aOut
>>>> endop
>>>>
>>>> instr 1
>>>> #include "square_batterie-kSpectrum1.txt"
>>>> #include "square_batterie-kSpectrum2.txt"
>>>>
>>>> kMorph line 0,p3,1
>>>> kSpectrum[] linlin kMorph,kSpectrum1,kSpectrum2
>>>>
>>>>
>>>> aSig square_batterie kSpectrum
>>>> aSig1,aSig2 hilbert aSig
>>>>
>>>> aOut1 = aSig1
>>>> aOut2 = aSig2
>>>> outs aOut1,aOut2
>>>> endin
>>>> 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