Hallo, Chuckk Hubbard hat gesagt: // Chuckk Hubbard wrote:
The way I'm conceiving of this, though, each of the 20 note abstractions would require 30 oscillator abstractions...
Any chance of that happening in real time?
600 naked [osc~ 100] objects on my machine work in realtime, however it sucks about 75 percent of the CPU ("Intel(R) Pentium(R) M processor 1.60GHz").
Basically you are doing additive synthesis here, which you can do it two or three ways. One is the oscillator bank as used in the example patch. This is very flexible but also very demanding. It normally is used when you want to independently control the amplitude and/or frequency envelope and phase of every partial during the course of the note. Another possibility to do it is resynthesizing with an inverse Fourier transform, which can be less demanding, but you loose some of the flexibility of the oscillator bank approach.
The cheapest route to go is to build the partial table in advance with "sinesum" and then just use one [tabread4~] per voice. If your partial setup doesn't change while a note is playing this would be the way to go. Instead of "sinesum" you can also built other kinds of wavetables by writing them manually with e.g. [expr].
Frank Barknecht _ ______footils.org_ __goto10.org__