I’m trying to learn Nyquist, and I’m having trouble figuring out how the tables argument of siosc is supposed to look.
The reference manual has this to say:
The tables specify a list of waveforms as follows: (table0 time1 table2 … timeN tableN), where each table is a sound representing one period.
Here is my attempt:
This will make a morph from a sine to a triangle in 10 steps. If you omit the abs-env, the frequency will alas depend on what’s selected, e.g. a 10s selection will give a roughly 100Hz signal with the above, but a 30s selection will give a 300Hz signal. So that can be pretty confusing.
The phase shift in the sine table is needed here because it’s aligned differently than the tri table. You can see this done in other places e.g. in tremolo.ny.
An alternative to using abs-env is to define the code as a “generate” type effect.
You can also use s-rest rather than (const 0).
Example of a 2 second demo: