Csound Csound-dev Csound-tekno Search About

[Csnd] New jsfx plugins

Date2019-09-07 16:40
FromEduardo Moguillansky
Subject[Csnd] New jsfx plugins

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities

Date2019-09-07 18:07
FromRory Walsh
SubjectRe: [Csnd] New jsfx plugins
Great work Eduardo. So one can run any jsfx scripts out there in Csound? Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-07 18:57
FromRory Walsh
SubjectRe: [Csnd] New jsfx plugins
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-07 19:47
FromEduardo Moguillansky
SubjectRe: [Csnd] New jsfx plugins


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-07 20:38
FromSteven Yi
SubjectRe: [Csnd] New jsfx plugins
This looks really neat, thanks for sharing!

I did run into a problem though in trying to build the plugins. I followed the README.md and when running the cmake command I got:

-- make_plugin: else
CMake Warning at CMakeLists.txt:74 (message):
  Skipping /Users/syyigmmbp/work/csound/csound-plugins/src/jsusfx because no
  CMakeLists.txt file was found
Call Stack (most recent call first):
  CMakeLists.txt:194 (ADD_ALL_SUBDIRECTORIES)

Is there supposed to be a .gitmodules file to pull in jsusfx?  That directory is empty here.

Thanks!
Steven


On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-07 20:50
FromVictor Lazzarini
SubjectRe: [Csnd] New jsfx plugins
Great to see this. It looks like an alternative to faust. I think we could invest in doing a JIT compiler for UDOs ad yet another alternative.

Prof. Victor Lazzarini
Maynooth University
Ireland

On 7 Sep 2019, at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-07 23:37
FromEduardo Moguillansky
SubjectRe: [Csnd] New jsfx plugins


On 07.09.19 21:38, Steven Yi wrote:


Is there supposed to be a .gitmodules file to pull in jsusfx?  That directory is empty here.

Sorry, this was its own repo before and it did not really get added. Now fixed, please try again



Thanks!
Steven


On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-08 15:13
FromOeyvind Brandtsegg
SubjectRe: [Csnd] New jsfx plugins
+1, yes, This is very nice. Thank you!
The Lossius Ambisonics Toolkit for jsfx now available in Csound. Neat!

lør. 7. sep. 2019 kl. 21:50 skrev Victor Lazzarini <Victor.Lazzarini@mu.ie>:
Great to see this. It looks like an alternative to faust. I think we could invest in doing a JIT compiler for UDOs ad yet another alternative.

Prof. Victor Lazzarini
Maynooth University
Ireland

On 7 Sep 2019, at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-08 15:37
FromSteven Yi
SubjectRe: [Csnd] New jsfx plugins
Pulled and tried again and got stuck here:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc libjsusfx.a  CMakeFiles/jsusfx.dir/jsusfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_file.cpp.o CMakeFiles/jsusfx.dir/jsusfx_gfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_serialize.cpp.o CMakeFiles/jsusfx.dir/riff.cpp.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-compiler.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-eval.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-ram.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-yylex.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-cfunc.c.o CMakeFiles/jsusfx.dir/WDL/fft.c.o ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o
ar: ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o: No such file or directory
make[2]: *** [src/jsusfx/jsfx-src/libjsusfx.a] Error 1
make[2]: *** Deleting file `src/jsusfx/jsfx-src/libjsusfx.a'
make[1]: *** [src/jsusfx/jsfx-src/CMakeFiles/jsusfx.dir/all] Error 2
make: *** [all] Error 2

Also, I should have mentioned I'm building this on OSX 10.14.6.

On Sat, Sep 7, 2019 at 6:37 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 21:38, Steven Yi wrote:


Is there supposed to be a .gitmodules file to pull in jsusfx?  That directory is empty here.

Sorry, this was its own repo before and it did not really get added. Now fixed, please try again



Thanks!
Steven


On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-08 20:39
FromEduardo Moguillansky
SubjectRe: [Csnd] New jsfx plugins

Thanks for trying. I think I know at least where this is not working. Can you try the following?

Inside jsfx-src/WDL/eel2

$ php a2x64.ph elf64

And check which files are generated (maybe look at ctime). Looking at the code below (taken from the Makefile), it seems that in macOS you need to install nasm via brew. Normally this code generates two files, named after the architecture being built (for me, this generates asm-nseel-x64.asm and asm-nseel-x64.o, so the fact that you are missing asm-nseel-x64-macho.o indicates that this step is not working.

if ($fmt == "macho64") {  $fnout="asm-nseel-x64-macho.asm"; $nasm = "nasm64"; $want_funclead = "_"; }
if ($fmt == "macho64x") {
  $fnout="asm-nseel-x64-macho.asm";

  /*
  The version of NASM which ships with XCode (0.98.40) is vastly outdated and doesn't support macho64 output. Sa
dly when building from XCode it sets to path so it finds
  the old version first. We try to locate a more recent version of NASM and call it
  instead.
  */
  $nasm_usr = "/usr/local/bin/nasm"; // this is where brew installs NASM by default.
  if (file_exists($nasm_usr))
    $nasm = $nasm_usr;
  else
    $nasm = "nasm";
  $want_funclead = "_";
  $fmt="macho64";
}



On 08.09.19 16:37, Steven Yi wrote:
Pulled and tried again and got stuck here:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc libjsusfx.a  CMakeFiles/jsusfx.dir/jsusfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_file.cpp.o CMakeFiles/jsusfx.dir/jsusfx_gfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_serialize.cpp.o CMakeFiles/jsusfx.dir/riff.cpp.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-compiler.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-eval.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-ram.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-yylex.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-cfunc.c.o CMakeFiles/jsusfx.dir/WDL/fft.c.o ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o
ar: ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o: No such file or directory
make[2]: *** [src/jsusfx/jsfx-src/libjsusfx.a] Error 1
make[2]: *** Deleting file `src/jsusfx/jsfx-src/libjsusfx.a'
make[1]: *** [src/jsusfx/jsfx-src/CMakeFiles/jsusfx.dir/all] Error 2
make: *** [all] Error 2

Also, I should have mentioned I'm building this on OSX 10.14.6.

On Sat, Sep 7, 2019 at 6:37 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 21:38, Steven Yi wrote:


Is there supposed to be a .gitmodules file to pull in jsusfx?  That directory is empty here.

Sorry, this was its own repo before and it did not really get added. Now fixed, please try again



Thanks!
Steven


On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-09 16:21
FromSteven Yi
SubjectRe: [Csnd] New jsfx plugins
After installing homebrew and running "php a2x64.php elf64" in that directory it created the macho.asm file. Compiling after that worked out well and after installation I was able to run the jsfx examples. Looks like that was the only missing piece, thanks!

On Sun, Sep 8, 2019 at 3:40 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Thanks for trying. I think I know at least where this is not working. Can you try the following?

Inside jsfx-src/WDL/eel2

$ php a2x64.ph elf64

And check which files are generated (maybe look at ctime). Looking at the code below (taken from the Makefile), it seems that in macOS you need to install nasm via brew. Normally this code generates two files, named after the architecture being built (for me, this generates asm-nseel-x64.asm and asm-nseel-x64.o, so the fact that you are missing asm-nseel-x64-macho.o indicates that this step is not working.

if ($fmt == "macho64") {  $fnout="asm-nseel-x64-macho.asm"; $nasm = "nasm64"; $want_funclead = "_"; }
if ($fmt == "macho64x") {
  $fnout="asm-nseel-x64-macho.asm";

  /*
  The version of NASM which ships with XCode (0.98.40) is vastly outdated and doesn't support macho64 output. Sa
dly when building from XCode it sets to path so it finds
  the old version first. We try to locate a more recent version of NASM and call it
  instead.
  */
  $nasm_usr = "/usr/local/bin/nasm"; // this is where brew installs NASM by default.
  if (file_exists($nasm_usr))
    $nasm = $nasm_usr;
  else
    $nasm = "nasm";
  $want_funclead = "_";
  $fmt="macho64";
}



On 08.09.19 16:37, Steven Yi wrote:
Pulled and tried again and got stuck here:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc libjsusfx.a  CMakeFiles/jsusfx.dir/jsusfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_file.cpp.o CMakeFiles/jsusfx.dir/jsusfx_gfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_serialize.cpp.o CMakeFiles/jsusfx.dir/riff.cpp.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-compiler.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-eval.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-ram.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-yylex.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-cfunc.c.o CMakeFiles/jsusfx.dir/WDL/fft.c.o ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o
ar: ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o: No such file or directory
make[2]: *** [src/jsusfx/jsfx-src/libjsusfx.a] Error 1
make[2]: *** Deleting file `src/jsusfx/jsfx-src/libjsusfx.a'
make[1]: *** [src/jsusfx/jsfx-src/CMakeFiles/jsusfx.dir/all] Error 2
make: *** [all] Error 2

Also, I should have mentioned I'm building this on OSX 10.14.6.

On Sat, Sep 7, 2019 at 6:37 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 21:38, Steven Yi wrote:


Is there supposed to be a .gitmodules file to pull in jsusfx?  That directory is empty here.

Sorry, this was its own repo before and it did not really get added. Now fixed, please try again



Thanks!
Steven


On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-09 16:21
FromSteven Yi
SubjectRe: [Csnd] New jsfx plugins
(correction, installing "nasm" with homebrew, no installing homebrew ;) )

On Mon, Sep 9, 2019 at 11:21 AM Steven Yi <stevenyi@gmail.com> wrote:
After installing homebrew and running "php a2x64.php elf64" in that directory it created the macho.asm file. Compiling after that worked out well and after installation I was able to run the jsfx examples. Looks like that was the only missing piece, thanks!

On Sun, Sep 8, 2019 at 3:40 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Thanks for trying. I think I know at least where this is not working. Can you try the following?

Inside jsfx-src/WDL/eel2

$ php a2x64.ph elf64

And check which files are generated (maybe look at ctime). Looking at the code below (taken from the Makefile), it seems that in macOS you need to install nasm via brew. Normally this code generates two files, named after the architecture being built (for me, this generates asm-nseel-x64.asm and asm-nseel-x64.o, so the fact that you are missing asm-nseel-x64-macho.o indicates that this step is not working.

if ($fmt == "macho64") {  $fnout="asm-nseel-x64-macho.asm"; $nasm = "nasm64"; $want_funclead = "_"; }
if ($fmt == "macho64x") {
  $fnout="asm-nseel-x64-macho.asm";

  /*
  The version of NASM which ships with XCode (0.98.40) is vastly outdated and doesn't support macho64 output. Sa
dly when building from XCode it sets to path so it finds
  the old version first. We try to locate a more recent version of NASM and call it
  instead.
  */
  $nasm_usr = "/usr/local/bin/nasm"; // this is where brew installs NASM by default.
  if (file_exists($nasm_usr))
    $nasm = $nasm_usr;
  else
    $nasm = "nasm";
  $want_funclead = "_";
  $fmt="macho64";
}



On 08.09.19 16:37, Steven Yi wrote:
Pulled and tried again and got stuck here:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc libjsusfx.a  CMakeFiles/jsusfx.dir/jsusfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_file.cpp.o CMakeFiles/jsusfx.dir/jsusfx_gfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_serialize.cpp.o CMakeFiles/jsusfx.dir/riff.cpp.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-compiler.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-eval.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-ram.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-yylex.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-cfunc.c.o CMakeFiles/jsusfx.dir/WDL/fft.c.o ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o
ar: ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o: No such file or directory
make[2]: *** [src/jsusfx/jsfx-src/libjsusfx.a] Error 1
make[2]: *** Deleting file `src/jsusfx/jsfx-src/libjsusfx.a'
make[1]: *** [src/jsusfx/jsfx-src/CMakeFiles/jsusfx.dir/all] Error 2
make: *** [all] Error 2

Also, I should have mentioned I'm building this on OSX 10.14.6.

On Sat, Sep 7, 2019 at 6:37 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 21:38, Steven Yi wrote:


Is there supposed to be a .gitmodules file to pull in jsusfx?  That directory is empty here.

Sorry, this was its own repo before and it did not really get added. Now fixed, please try again



Thanks!
Steven


On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-09 16:44
FromEduardo Moguillansky
SubjectRe: [Csnd] New jsfx plugins

Thanks for confirming this. I would like to provide binaries for macos for these plugins, but lack the knowledge of how to setup travis to build this. It would be great if anyone with some experience in this regard could help out.



On 09.09.19 17:21, Steven Yi wrote:
After installing homebrew and running "php a2x64.php elf64" in that directory it created the macho.asm file. Compiling after that worked out well and after installation I was able to run the jsfx examples. Looks like that was the only missing piece, thanks!

On Sun, Sep 8, 2019 at 3:40 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Thanks for trying. I think I know at least where this is not working. Can you try the following?

Inside jsfx-src/WDL/eel2

$ php a2x64.ph elf64

And check which files are generated (maybe look at ctime). Looking at the code below (taken from the Makefile), it seems that in macOS you need to install nasm via brew. Normally this code generates two files, named after the architecture being built (for me, this generates asm-nseel-x64.asm and asm-nseel-x64.o, so the fact that you are missing asm-nseel-x64-macho.o indicates that this step is not working.

if ($fmt == "macho64") {  $fnout="asm-nseel-x64-macho.asm"; $nasm = "nasm64"; $want_funclead = "_"; }
if ($fmt == "macho64x") {
  $fnout="asm-nseel-x64-macho.asm";

  /*
  The version of NASM which ships with XCode (0.98.40) is vastly outdated and doesn't support macho64 output. Sa
dly when building from XCode it sets to path so it finds
  the old version first. We try to locate a more recent version of NASM and call it
  instead.
  */
  $nasm_usr = "/usr/local/bin/nasm"; // this is where brew installs NASM by default.
  if (file_exists($nasm_usr))
    $nasm = $nasm_usr;
  else
    $nasm = "nasm";
  $want_funclead = "_";
  $fmt="macho64";
}



On 08.09.19 16:37, Steven Yi wrote:
Pulled and tried again and got stuck here:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc libjsusfx.a  CMakeFiles/jsusfx.dir/jsusfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_file.cpp.o CMakeFiles/jsusfx.dir/jsusfx_gfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_serialize.cpp.o CMakeFiles/jsusfx.dir/riff.cpp.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-compiler.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-eval.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-ram.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-yylex.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-cfunc.c.o CMakeFiles/jsusfx.dir/WDL/fft.c.o ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o
ar: ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o: No such file or directory
make[2]: *** [src/jsusfx/jsfx-src/libjsusfx.a] Error 1
make[2]: *** Deleting file `src/jsusfx/jsfx-src/libjsusfx.a'
make[1]: *** [src/jsusfx/jsfx-src/CMakeFiles/jsusfx.dir/all] Error 2
make: *** [all] Error 2

Also, I should have mentioned I'm building this on OSX 10.14.6.

On Sat, Sep 7, 2019 at 6:37 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 21:38, Steven Yi wrote:


Is there supposed to be a .gitmodules file to pull in jsusfx?  That directory is empty here.

Sorry, this was its own repo before and it did not really get added. Now fixed, please try again



Thanks!
Steven


On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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

Date2019-09-09 16:47
FromSteven Yi
SubjectRe: [Csnd] New jsfx plugins
Travis does not store artifacts itself so has to upload to a second location which can be tricky.  I think Rory has done some work with continuous builds with Azure Pipelines and various platforms, perhaps he could chime in.

On Mon, Sep 9, 2019 at 11:44 AM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Thanks for confirming this. I would like to provide binaries for macos for these plugins, but lack the knowledge of how to setup travis to build this. It would be great if anyone with some experience in this regard could help out.



On 09.09.19 17:21, Steven Yi wrote:
After installing homebrew and running "php a2x64.php elf64" in that directory it created the macho.asm file. Compiling after that worked out well and after installation I was able to run the jsfx examples. Looks like that was the only missing piece, thanks!

On Sun, Sep 8, 2019 at 3:40 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Thanks for trying. I think I know at least where this is not working. Can you try the following?

Inside jsfx-src/WDL/eel2

$ php a2x64.ph elf64

And check which files are generated (maybe look at ctime). Looking at the code below (taken from the Makefile), it seems that in macOS you need to install nasm via brew. Normally this code generates two files, named after the architecture being built (for me, this generates asm-nseel-x64.asm and asm-nseel-x64.o, so the fact that you are missing asm-nseel-x64-macho.o indicates that this step is not working.

if ($fmt == "macho64") {  $fnout="asm-nseel-x64-macho.asm"; $nasm = "nasm64"; $want_funclead = "_"; }
if ($fmt == "macho64x") {
  $fnout="asm-nseel-x64-macho.asm";

  /*
  The version of NASM which ships with XCode (0.98.40) is vastly outdated and doesn't support macho64 output. Sa
dly when building from XCode it sets to path so it finds
  the old version first. We try to locate a more recent version of NASM and call it
  instead.
  */
  $nasm_usr = "/usr/local/bin/nasm"; // this is where brew installs NASM by default.
  if (file_exists($nasm_usr))
    $nasm = $nasm_usr;
  else
    $nasm = "nasm";
  $want_funclead = "_";
  $fmt="macho64";
}



On 08.09.19 16:37, Steven Yi wrote:
Pulled and tried again and got stuck here:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar qc libjsusfx.a  CMakeFiles/jsusfx.dir/jsusfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_file.cpp.o CMakeFiles/jsusfx.dir/jsusfx_gfx.cpp.o CMakeFiles/jsusfx.dir/jsusfx_serialize.cpp.o CMakeFiles/jsusfx.dir/riff.cpp.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-compiler.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-eval.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-ram.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-yylex.c.o CMakeFiles/jsusfx.dir/WDL/eel2/nseel-cfunc.c.o CMakeFiles/jsusfx.dir/WDL/fft.c.o ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o
ar: ../../../../src/jsusfx/jsfx-src/WDL/eel2/asm-nseel-x64-macho.o: No such file or directory
make[2]: *** [src/jsusfx/jsfx-src/libjsusfx.a] Error 1
make[2]: *** Deleting file `src/jsusfx/jsfx-src/libjsusfx.a'
make[1]: *** [src/jsusfx/jsfx-src/CMakeFiles/jsusfx.dir/all] Error 2
make: *** [all] Error 2

Also, I should have mentioned I'm building this on OSX 10.14.6.

On Sat, Sep 7, 2019 at 6:37 PM Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 21:38, Steven Yi wrote:


Is there supposed to be a .gitmodules file to pull in jsusfx?  That directory is empty here.

Sorry, this was its own repo before and it did not really get added. Now fixed, please try again



Thanks!
Steven


On Sat, Sep 7, 2019 at 2:57 PM Rory Walsh <rorywalsh@ear.ie> wrote:
👏

On Sat, 7 Sep 2019 at 19:48, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:


On 07.09.19 19:07, Rory Walsh wrote:
Great work Eduardo. So one can run any jsfx scripts out there in Csound?

yes


Brilliant. 

On Sat, 7 Sep 2019 at 16:41, Eduardo Moguillansky <eduardo.moguillansky@gmail.com> wrote:

Dear all,

preparing for a performance of Stockhausen's mantra I decided to use a very nice implementation of a ring modulator provided as part of reaper (from direct sources I was told that Stockhausen hated the simple digital implementation of ring modulation). This one has  a diode simulation, feedback and other non-linearities.  Instead of just porting this one jsfx script I implemented an interface to a jsfx engine in csound. For those who don't know, jsfx is a scripting language provided as part of REAPER which compiles to efficient machine code on the fly and performs very well (between 2x and 2.5x slower than hand coded c and around 4x to 8x faster than csound with setksmps 1). 

Source lives at https://github.com/csound-plugins/csound-plugins

Documentation:  https://csound-plugins.github.io/csound-plugins/

I am grateful for any feedback,

Eduardo Moguillansky

---

klib

A hashtable for csound

  • dict_new: Create a hashtable
  • dict_free: Free a hashtable
  • dict_get: Get a value from a hashtable
  • dict_set: Set (or remove) a value from a hashtable
  • dict_size: Returns the number of key:value pairs in a dict
  • dict_query: Query different properties of a dict
  • dict_print: Prints the contents of a dict
  • dict_iter: Iterate over the key-value pairs of a dict
  • cacheput: Put a string inside the cache
  • cacheget: Get a string inside the cache
  • cachepop: Get a cached string and remove it from the cache

poly

Multiple (parallel or sequential) instances of an opcode

  • poly: poly creates and controls multiple parallel version of an opcode
  • polyseq: polyseq creates and controls multiple sequential version of an opcode

jsfx

A csound interface to the opensource implementation of jsfx

sched

Schedule an action when note is stopped

  • atstop: Schedule an instrument at the end of the current instrument

else

Collection of miscellaneous plugins, most ports of supercollider, puredata/else or jsfx

  • crackle: generates noise based on a chaotic equation
  • ramptrig: A triggerable ramp between 0 and 1
  • sigmdrive: Analog "soft clipping" distortion by applying non-linear transfer functions.
  • lfnoise: low frequency, band-limited noise
  • schmitt: A schmitt trigger (a comparator with hysteresis).
  • standardchaos: Standard map chaotic generator
  • linenv: A triggerable linear envelope with sustain segment
  • diode_ringmod: A ring modulator with optional non-linearities
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