The idea of the plug-in is that an arbitrary function "f(x)" may be entered, and the plug-in will generate a waveform by evaluating the expression for a given range of "x".

This version of the plug-in takes its default expression from dmonty's initial enquiry:

- Code: Select all
`x^3 * e^(sin ( x * 3)) * 0.00001`

I'm sure some user's would like to be able to enter the expression in this familiar arithmetic form, but I'll leave that for someone else to write. To use this plug-in, the expression must be written as a LISP S-Expression. This allows us to use Nyquist's built-in evaluation function rather than having to write a whole new parser. Taking the example above and writing it as a Nyquist / LISP expression:

- Code: Select all
`(* x x x (power (exp 1.0) (sin (* x 3))) 0.00001)`

Some things to note:

Euler's number "e" is not defined in Nyquist, but can easily be derived using the EXP function.

For x^3, we could write (power x 3.0) but as we are also performing multiplication, it is as easy (and a bit shorter) to simply multiply three x's.

A plot of this expression can be created with WolframAlpha

https://www.wolframalpha.com/input/?i=p ... in+(+x+*+3))+*+0.00001,+x%3D0+to+33

and with the Expression Generator plug-in:

and here is the plug-in:

Installation instructions are as usual: http://manual.audacityteam.org/man/effe ... st_effects

For more information about Nyquist, see: http://wiki.audacityteam.org/wiki/Nyquist