|
I just finished another new opcode for additive synthesis.
It's purpose is to enable an instrument to generate synthesis
parameters at k-time (or i-time) that are written to tables with
the tablew opcode and that are being read by adsynt.
See decription below.
It would be nice to have it in the next release -
if you want to use it now and compile it yourself
you can find the sources at:
http://www.harmonik.de/femc/femcdown.html
Peter
adsynt
--------
ar adsynt kamp, kcps, ifn, ifreqtbl, iamptbl, icnt [, iphs]
DESCRIPTION
This opcode performs additive synthesis with an arbitrary number of
partials (not necessarily harmonic). Frequency and amplitude of each
partial is given in the two tables provided. The purpose of this opcode
is to have an instrument generate synthesis parameters at k-time and
write them to the global parameter tables with the tablew opcode.
INITIALIZATION
ifn - a function table, usually a sine. Table values are not
interpolated for performance reasons, so you better
provide a larger table for better quality.
ifreqtbl - an arbitrary function table. Size has to be at least icnt.
Table can contain frequency values for each partial at start,
but is usually used for generating parameters at runtime
with tablew. Frequencies must be relative to kcps.
iamptbl - same as ifreqtbl for relative partial amplitudes.
icnt - number of partials to be generated.
iphs - initial phase if each oscillator, if -1 initialization is skipped.
If > 1 all phases will be initialized with a random value.
PERFORMANCE
kamp - Amplitude of note.
kcps - Base frequency of note. Partial frequencies will be relative
to kcps. |