Csound Csound-dev Csound-tekno Search About

new adsynt opcode

Date1999-08-23 10:22
FromPeter Neubacker
Subjectnew adsynt opcode
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.