An oscillator based on a lookup table would work well. You only need one table per wave type and then maintain separate pointers into the table for each oscillator.
If the wavetable is a power of two you can use the wrap-around overflow behavior of unsigned ints instead of mod operator %. --Albin On Sun, May 27, 2018, 21:33 Ian Kemmish <[email protected]> wrote: > > I'd go along with what the two Brians have said - you're vastly better off > doing the mixing yourself. > > Two extra (and largely architecture independent points): > > 1) If you're mixing 200 oscillators, then you'll need eight bits of > headroom just to do the mixing; if you have a polyphonic synthesiser with a > thousand or more oscillators per voice, you'll need even more. Bearing in > mind that you also want to generate the sine waves with as many bits of > precision as you can, it's easier to manage (or at least debug) this stuff > if you do it yourself. > > 2) Most machines these days are SIMD. There are a variety of algorithms > for producing efficient sine oscillators on such architectures, but the > output may be time- or oscillator- interleaved in odd ways. Again, if > you're managing the mixing buffer yourself, this is easier to handle. > > As you can see (www.fdsynthesis.com), I got bored with this before > CoreAudio even reached phones:-), but some of it may still be relevant. > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > Ian Kemmish 2 Sale Mews, Biggleswade, Beds SG18 0AY > [email protected] Tel: +44 1767 318605 Mob: +44 7952 > 854387 > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Coreaudio-api mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > > https://lists.apple.com/mailman/options/coreaudio-api/albin.stigo%40gmail.com > > This email sent to [email protected] >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
