Csound Csound-dev Csound-tekno Search About

[Csnd] Wave terrain with simplex noise (enhanced perlin)

Date2020-07-18 22:27
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
Subject[Csnd] Wave terrain with simplex noise (enhanced perlin)
hi,

i have experimented on another abstraction of the original wave terrain 
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which 
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then 
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve 
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes 
for lissajous and hypocycloid curves (they need an interface similar  to 
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-18 22:59
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Christian, 

This is awesome stuff.  Can't wait to check it out. Hoping that it and your refactored wterrain2 opcodes can be added to the next Csound release!
- sterrain sound awesome.  And I am sure that these will too.

Can you get in touch with me about a Zoom Developer and Friends meeting to which I would like to make sure you are invited?
- I will try to reach you at this email address above, but it seems like it might not be your actual address.


Dr. Richard Boulanger

Professor of Electronic Production and Design

Berklee College of Music

Professional Writing and Technology Division



On Sat, Jul 18, 2020 at 5:27 PM docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie> wrote:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-19 07:23
FromAlex Weiss
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
This is great. Would also love to see the simplex noise function as its own opcode if at all possible.

Alex

On Sat, Jul 18, 2020, 14:27 docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie> wrote:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-19 08:38
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.
Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-19 20:36
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-20 11:17
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-20 11:20
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Attachmentssuperform_shape.csd  
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).
All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-20 12:59
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Thanks for posting.  Can't wait to check it out.

Dr. Richard Boulanger
Professor
Electronic Production and Design
Berklee College of Music

On Jul 20, 2020, at 6:20 AM, Oeyvind Brandtsegg <obrandts@gmail.com> wrote:


Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).
All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
<superform_shape.csd>

Date2020-07-21 18:35
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-21 21:49
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-22 00:40
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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

Date2020-07-22 16:33
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 09:10
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Attachmentssuperform_shape_2.csd  
Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

How did you envision a visualization, Christian?

all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 12:14
FromRichard
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)

Does this create any sound? I do not get any...

Richard

On 24/07/2020 10:10, Oeyvind Brandtsegg wrote:
Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

How did you envision a visualization, Christian?

all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 17:15
FromRory Walsh
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Thanks for sharing Oeyvind. This is capable of some very rich textures.  

On Fri, 24 Jul 2020 at 12:14, Richard <zappfinger@gmail.com> wrote:

Does this create any sound? I do not get any...

Richard

On 24/07/2020 10:10, Oeyvind Brandtsegg wrote:
Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

How did you envision a visualization, Christian?

all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 17:46
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)

hi,

Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

i think i have to install cabbage for that first, i check at the weekend ...
I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

when looking at curves the superformula generalizes many existing ones

- but i would maybe check some simple ones where a polar equation exists like

aT  = ain*$M_PI*2

folium: a1 = cos(aT) * (sin(aT)*sin(aT) - ka)

scarabeus: a1 = ka*cos(2*aT)+kb*cos(aT)

however, it may also work with parameter equations

talbot:

  ax = krx * cos(aT) * (1 + ka * sin(aT)*sin(aT))
  ay = kry * sin(aT) * (1 - ka - ka*cos(aT)*cos(aT))

or

hypocycloid

ax =   krx*((1-a)*cos(ka*aT)+ka*kb*cos((1-a)*aT))
ay =   kry*((1-a)*sin(ka*aT)-ka*kb*sin((1-a)*aT))

and something like computing the radius of the samples in ax,ay or something else ...

i also planned to look into this ;-)


How did you envision a visualization, Christian?

currently i do it with an own written ffmpeg filter (and managed to place an osc server in it to trigger live parameters to the curve)

- it is currently hard to share because i runs in a very old fork of ffmpeg and you must be able to build ffmpeg from source and its only tested on linux.

but i think about to to write a similar simple java app where also the parameters are triggered via osc.

best christian


all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 17:59
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Hi Richard,
It is an effect processor, so transforms the sound you run through it.
The first two lines of instr 1 reads audio in from your source of choice.
If you do not want to run Cabbage, you can substitute all the chngets with p-files or static parameter values.
all best
Oeyvind

fre. 24. jul. 2020 kl. 13:14 skrev Richard <zappfinger@gmail.com>:

Does this create any sound? I do not get any...

Richard

On 24/07/2020 10:10, Oeyvind Brandtsegg wrote:
Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

How did you envision a visualization, Christian?

all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 18:04
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Attachmentssuperform_shape_2.csd  
Thanks Christian,
I will look into these formulas.
In the meantime, here's another set of expansions with my hacks of transforming the gingerbreadman map and the ikeda map. The csd also includes variations for the csound opcodes polynomial and chebyshevpoly used in a similar manner.
Oeyvind 

fre. 24. jul. 2020 kl. 18:46 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:

hi,

Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

i think i have to install cabbage for that first, i check at the weekend ...
I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

when looking at curves the superformula generalizes many existing ones

- but i would maybe check some simple ones where a polar equation exists like

aT  = ain*$M_PI*2

folium: a1 = cos(aT) * (sin(aT)*sin(aT) - ka)

scarabeus: a1 = ka*cos(2*aT)+kb*cos(aT)

however, it may also work with parameter equations

talbot:

  ax = krx * cos(aT) * (1 + ka * sin(aT)*sin(aT))
  ay = kry * sin(aT) * (1 - ka - ka*cos(aT)*cos(aT))

or

hypocycloid

ax =   krx*((1-a)*cos(ka*aT)+ka*kb*cos((1-a)*aT))
ay =   kry*((1-a)*sin(ka*aT)-ka*kb*sin((1-a)*aT))

and something like computing the radius of the samples in ax,ay or something else ...

i also planned to look into this ;-)


How did you envision a visualization, Christian?

currently i do it with an own written ffmpeg filter (and managed to place an osc server in it to trigger live parameters to the curve)

- it is currently hard to share because i runs in a very old fork of ffmpeg and you must be able to build ffmpeg from source and its only tested on linux.

but i think about to to write a similar simple java app where also the parameters are triggered via osc.

best christian


all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 18:57
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)

thanks for sharing,

btw. the  ikeda function you use is on the list of next terrains i will check along with other complex functions

here is a short visualization i made (of the function - not the map/attractor):

https://www.youtube.com/watch?v=4wo2_kzFR5M

best christian

On 7/24/20 7:04 PM, Oeyvind Brandtsegg wrote:
Thanks Christian,
I will look into these formulas.
In the meantime, here's another set of expansions with my hacks of transforming the gingerbreadman map and the ikeda map. The csd also includes variations for the csound opcodes polynomial and chebyshevpoly used in a similar manner.
Oeyvind 

fre. 24. jul. 2020 kl. 18:46 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:

hi,

Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

i think i have to install cabbage for that first, i check at the weekend ...
I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

when looking at curves the superformula generalizes many existing ones

- but i would maybe check some simple ones where a polar equation exists like

aT  = ain*$M_PI*2

folium: a1 = cos(aT) * (sin(aT)*sin(aT) - ka)

scarabeus: a1 = ka*cos(2*aT)+kb*cos(aT)

however, it may also work with parameter equations

talbot:

  ax = krx * cos(aT) * (1 + ka * sin(aT)*sin(aT))
  ay = kry * sin(aT) * (1 - ka - ka*cos(aT)*cos(aT))

or

hypocycloid

ax =   krx*((1-a)*cos(ka*aT)+ka*kb*cos((1-a)*aT))
ay =   kry*((1-a)*sin(ka*aT)-ka*kb*sin((1-a)*aT))

and something like computing the radius of the samples in ax,ay or something else ...

i also planned to look into this ;-)


How did you envision a visualization, Christian?

currently i do it with an own written ffmpeg filter (and managed to place an osc server in it to trigger live parameters to the curve)

- it is currently hard to share because i runs in a very old fork of ffmpeg and you must be able to build ffmpeg from source and its only tested on linux.

but i think about to to write a similar simple java app where also the parameters are triggered via osc.

best christian


all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 19:11
FromOeyvind Brandtsegg
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Nice :-)

A small question:
In your formula for hypocycloid
ax =   krx*((1-a)*cos(ka*aT)+ka*kb*cos((1-a)*aT))
You use both a and ka variables, are these the same?
So it should write 
  ax =   krx*((1-ka)*cos(ka*aT)+ka*kb*cos((1-ka)*aT))
Or does it mean something else?

fre. 24. jul. 2020 kl. 19:57 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:

thanks for sharing,

btw. the  ikeda function you use is on the list of next terrains i will check along with other complex functions

here is a short visualization i made (of the function - not the map/attractor):

https://www.youtube.com/watch?v=4wo2_kzFR5M

best christian

On 7/24/20 7:04 PM, Oeyvind Brandtsegg wrote:
Thanks Christian,
I will look into these formulas.
In the meantime, here's another set of expansions with my hacks of transforming the gingerbreadman map and the ikeda map. The csd also includes variations for the csound opcodes polynomial and chebyshevpoly used in a similar manner.
Oeyvind 

fre. 24. jul. 2020 kl. 18:46 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:

hi,

Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

i think i have to install cabbage for that first, i check at the weekend ...
I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

when looking at curves the superformula generalizes many existing ones

- but i would maybe check some simple ones where a polar equation exists like

aT  = ain*$M_PI*2

folium: a1 = cos(aT) * (sin(aT)*sin(aT) - ka)

scarabeus: a1 = ka*cos(2*aT)+kb*cos(aT)

however, it may also work with parameter equations

talbot:

  ax = krx * cos(aT) * (1 + ka * sin(aT)*sin(aT))
  ay = kry * sin(aT) * (1 - ka - ka*cos(aT)*cos(aT))

or

hypocycloid

ax =   krx*((1-a)*cos(ka*aT)+ka*kb*cos((1-a)*aT))
ay =   kry*((1-a)*sin(ka*aT)-ka*kb*sin((1-a)*aT))

and something like computing the radius of the samples in ax,ay or something else ...

i also planned to look into this ;-)


How did you envision a visualization, Christian?

currently i do it with an own written ffmpeg filter (and managed to place an osc server in it to trigger live parameters to the curve)

- it is currently hard to share because i runs in a very old fork of ffmpeg and you must be able to build ffmpeg from source and its only tested on linux.

but i think about to to write a similar simple java app where also the parameters are triggered via osc.

best christian


all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-24 19:21
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)

oh yes "a" should be replaced with "ka".

On 7/24/20 8:11 PM, Oeyvind Brandtsegg wrote:
Nice :-)

A small question:
In your formula for hypocycloid
ax =   krx*((1-a)*cos(ka*aT)+ka*kb*cos((1-a)*aT))
You use both a and ka variables, are these the same?
So it should write 
  ax =   krx*((1-ka)*cos(ka*aT)+ka*kb*cos((1-ka)*aT))
Or does it mean something else?

fre. 24. jul. 2020 kl. 19:57 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:

thanks for sharing,

btw. the  ikeda function you use is on the list of next terrains i will check along with other complex functions

here is a short visualization i made (of the function - not the map/attractor):

https://www.youtube.com/watch?v=4wo2_kzFR5M

best christian

On 7/24/20 7:04 PM, Oeyvind Brandtsegg wrote:
Thanks Christian,
I will look into these formulas.
In the meantime, here's another set of expansions with my hacks of transforming the gingerbreadman map and the ikeda map. The csd also includes variations for the csound opcodes polynomial and chebyshevpoly used in a similar manner.
Oeyvind 

fre. 24. jul. 2020 kl. 18:46 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:

hi,

Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

i think i have to install cabbage for that first, i check at the weekend ...
I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

when looking at curves the superformula generalizes many existing ones

- but i would maybe check some simple ones where a polar equation exists like

aT  = ain*$M_PI*2

folium: a1 = cos(aT) * (sin(aT)*sin(aT) - ka)

scarabeus: a1 = ka*cos(2*aT)+kb*cos(aT)

however, it may also work with parameter equations

talbot:

  ax = krx * cos(aT) * (1 + ka * sin(aT)*sin(aT))
  ay = kry * sin(aT) * (1 - ka - ka*cos(aT)*cos(aT))

or

hypocycloid

ax =   krx*((1-a)*cos(ka*aT)+ka*kb*cos((1-a)*aT))
ay =   kry*((1-a)*sin(ka*aT)-ka*kb*sin((1-a)*aT))

and something like computing the radius of the samples in ax,ay or something else ...

i also planned to look into this ;-)


How did you envision a visualization, Christian?

currently i do it with an own written ffmpeg filter (and managed to place an osc server in it to trigger live parameters to the curve)

- it is currently hard to share because i runs in a very old fork of ffmpeg and you must be able to build ffmpeg from source and its only tested on linux.

but i think about to to write a similar simple java app where also the parameters are triggered via osc.

best christian


all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-07-25 20:52
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
Subject[Csnd] Superformula waveshaper - was RE: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Attachmentssf_4_4.17_1_1_1_1_0.5.jpg  sf_4_4_1_1_1_1_0.5.jpg  sf_5_3_1_1_1_1_2.jpg  sf_6_4_1_1_1_1_2.jpg  SuperformulaU.pdf  

hi Oeyvind,

regarding superformula: i have tried with eguitar and it works great - in my first tries i got out distorted sounds from the 70ths without having an amp simulation.

i recognized the following while looking at the curves while trying parameters:

if km1 and km2 are not integer it seems when changing a little on them away from an integer the sound does not change noticeably,
but the curve dramatically. the curve gets a lot more complex (poles, length) and
the sound does not change noticeably is because you would need far more amp to get completely through the curve -
you will touch only a bit of the whole curve with 2 * PI

see e.g. the difference of sf_4_4_1_1_1_1_0.5.jpg and sf_4_4.17_1_1_1_1_0.5.jpg in attachments where only m2 is changed from 4 to 4.17

(note in the second - i have fixed length i am drawing so it even may be not complete)

i have attached the pdf (which is also linked from wikipedia) which states that if m1 = am1/bm1 and m2 = am2/bm2 then
PHI must be in the range bm1*bm2* 2 * PI (or 4 PI depending on even/odd relations of the a and b terms) to complete the curve.
so if i would have km1 = 2 and km2 = 1.001 i would need an amp of  1000 to touch all points of the curve.
this also could explain why sometimes the attack of the incoming sound pushes to hard - simply because it touches other regions of the
curve which may also have a big radius (or in the worst case "infinity" if the curve has a pole)
which is then thankfully clipped away or "normed" away with your implementation


based on this i would recommend to get a stable sound for sure (if wanted) without taking care of peeks 
to use parameters for closed curves as i described in a mail here and in the docs of sterrain already (borrowed from the attached pdf):

if n1 > 0   then 2*km1/km2 should not be getting an odd integer when multiplied with some other integer != 0.

examples:

m1=6 m2=4:  2*6/4 = 3 => curve has a pole

m1=5 m2=3: 2*5/3  must be multiplied with at least multiples of 3 to get an integer which is then even => curve is closed.

see the difference in the other two image attachments

best christian


On 7/24/20 10:10 AM, Oeyvind Brandtsegg wrote:
Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

How did you envision a visualization, Christian?

all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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

Date2020-08-03 06:59
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] Wave terrain with simplex noise (enhanced perlin)
Oeyvind.  Thanks for sharing this inspiring Cabbage instrument with us.
It's awesome.  
I appreciate being able to visualize the waveshaping and have so much control over the various formulas too.
- there is a lot here to explore.

(Maybe add an LFO? or add some Random knob twiddlers in the next version? They could help us enjoy the timbre space even more. ;-) )

Wonderful stuff.

-dB

Dr. Richard Boulanger

Professor of Electronic Production and Design

Berklee College of Music

Professional Writing and Technology Division



On Fri, Jul 24, 2020 at 12:59 PM Oeyvind Brandtsegg <obrandts@gmail.com> wrote:
Hi Richard,
It is an effect processor, so transforms the sound you run through it.
The first two lines of instr 1 reads audio in from your source of choice.
If you do not want to run Cabbage, you can substitute all the chngets with p-files or static parameter values.
all best
Oeyvind

fre. 24. jul. 2020 kl. 13:14 skrev Richard <zappfinger@gmail.com>:

Does this create any sound? I do not get any...

Richard

On 24/07/2020 10:10, Oeyvind Brandtsegg wrote:
Here's an attempt of the superformula waveshaper with an oscilloscope on a reference sine wave, showing how an ideal wave would be transformed by the shaper. I also added an attempt at auto normalization by measuring the amplitude of the shaped ideal wave compared to the amp of the clean ideal wave. 
Since the normalization factor would sometimes not be enough to contain the shaped output, I also added an option to raise the factor to a power of two. All very hackish, but seems to work as far as I've tested.

The buttons upper right:
polar version on/off
normalization on/off
power normalization on/off (when norm is on)
limiter on/off
limiter on reference wave on/off (so that the normalization will take the limiter into account)

I also started looking at other formulas, and how to modify them to fit into this waveshaping form.
Ideas for such formulas greatly appreciated. One unfinished attempt to be found on line 82 pp.

How did you envision a visualization, Christian?

all best
Oeyvind


ons. 22. jul. 2020 kl. 17:33 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:
Excellent. I will share my explorations soon, and look forward to seeing what you do with it.
All best
Øyvind

ons. 22. jul. 2020 kl. 01:41 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/21/20 10:49 PM, Oeyvind Brandtsegg wrote:
Yes, I thought about using a sine wave at full scale as a reference input, and then using that output as a scaling reference amp, as well as using it for an oscilloscope display so the user can see the waveshaping shape. If you beat me to it you are welcome :-)

:-) but i think my idea may be different, i would like to "visual" understand which curves have what impact on the output. but of course the goal is the same - to find suitable parameters for goals one can have.


  

tir. 21. jul. 2020 kl. 19:36 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:


On 7/20/20 12:20 PM, Oeyvind Brandtsegg wrote:
Here's the csd I showed yesterday. It is written for Cabbage but it should be relatively straightforward to replace line 33 to 58 with parameter assignments for ka, kb, km1, km2, kn1, kn2 and kn3. Then the 20 first lines can be deleted too as they only describe Cabbage GUI (but you can also just leave it there, when you run the csd on the command line these lines will be ignored).

hi, thanks for sharing - i have made a small session playing bass with it.

i have never heard so extreme and different/interesting distortions

especially when playing deep - this is very cool!

motivates also to check with an e-guitar.

as we have  seen similar in the demo, in some parameter settings the problem is that the stroke on the string pushes

to much or it gets completely unstable or on some it gets very quietly (may be a scaling parameter could help here).

i will check this by visualizing the curve while changing parameters and playing - soonish

best christian


All best
Øyvind

man. 20. jul. 2020 kl. 12:17 skrev Oeyvind Brandtsegg <obrandts@gmail.com>:


søn. 19. jul. 2020 kl. 21:37 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi
This is so nice. 
An inspired from your previous work with the superformula, I made an attempt at a superformula-waveshaper. It is pretty wild, in terms of controlling the parameters in an intuitive manner. Maybe I can show it at the meeting later today.

this is a great idea, thanks for the demo, is the csd somewhere available to research further on?

-christian

Øyvind

lør. 18. jul. 2020 kl. 23:27 skrev docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie>:
hi,

i have experimented on another abstraction of the original wave terrain
synthesis opcode of csound,

where the terrain is not computed with two function tables anymore.

Instead it is computed directly with a function f(x,y) -> [-1,1]

As a first step i have set f(x,y) to a 2D simplex noise function which
is an enhancement of the perlin noise.

The wave is produced by running through the curve (t)->(x,y) and then
call f(x,y) for each sample.

the opcode is here, sounds nice ...:

https://github.com/docb/csnd/blob/master/opcodes/simplexterrain.c

usage:

asigL simplexterrain 0.5,  kcps, kx, ky, krx, kry, krot, kcurve, kparam

kx,ky center of the curve 0-16

krx,kry for scaling the curve 0-16

krot - rotate the curve [0-2PI]

kcurve
0=ellipse,1=lemniskate,2=limacon,3=cornoid,4=trisec,5=scarabeus,6=folium,7=talbot

kparam curve parameter (continous 0-8)


Btw. i have also refactored the wterrain2 opcode and made extra opcodes
for lissajous and hypocycloid curves (they need an interface similar  to
the sterrain opcode).

https://github.com/docb/csnd/blob/master/opcodes

i will write docs for them soonish.

Best, Christian

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
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