band limited oscillators

M-.-n EMAIL HIDDEN
Fri Feb 6 17:07:33 CET 2009


I wish there was a software programming music related mailing list but I've
never really seen any. Thanks for the feedback !

-----Original Message-----
From: music-bar-bounces at lists.music-bar.org
[mailto:music-bar-bounces at lists.music-bar.org] On Behalf Of Tom Adam
Sent: vendredi 6 février 2009 13:09
To: Music-bar
Subject: Re: RE: band limited oscillators

It is a cool list. Lately there were indeed a lot of SW related topics.
If you want SW topics only, there are better list I guess.
I would say it's like 85% HW, rest is SW related.
There is an archive somewhere, but I don't have the link here. You could
check this to see if it's your cup of tea.

Cheers,
ToAd  


On Feb 6, 2009 12:57 "M-.-n" <nostromo at arkaos.net> wrote:
> Thanks Chris, that’s a really interesting executive summary !
>  
> How’s the list, I always thought it was mainly hw based but it seems
> there’s some software one too
 what’s the ratio between the two ? Should
> I join ?
>  
> M.
>  
> From:music-bar-bounces at lists.music-bar.org
> [mailto:music-bar-bounces at lists.music-bar.org] On Behalf OfChris
> Strellis
> Sent: vendredi 6 février 2009 9:25
> To: Music-bar
> Subject: RE: band limited oscillators
>  
> I can offer some tips sent into the SDIY list recently from the great
> Antti Huovilainen
>  
> <http://antti.smartelectronix.com/>
>  
> also <http://www.diy.synth.net/gallery/main.php?g2_itemId=1078>  Synth
> DIY UK 2006
>  
> Some DSP theory links here:
> http://www.chameleon.synth.net/english/links.shtml
>  
> > I'm curious, what approach are you using to get 'alias free'
> > oscillators?
> > Simply using a much higher internal sampling rate and then a low pass
> > FIR filter?  Or something more sophisticated than this.
>  
> Since this question gets asked a lot, I'll list some of the common
> methods. Roughly from easy to hard. Oversampling here means proper
> oversampling with high quality lowpass filtering before decimating to
> target samplerate. Simply averaging N samples will not work.
>  
> 1) Trivial saw with oversampling
> Pros: Easy, can do any waveshape, allows simple sync and FM
> Cons: Requires massive (64..256x) oversampling to sound good
>  
> 2) Sum of sines
> Sum nyquist/freq number of sines to produce exactly bandlimited
> sawtooth.
> Pros: No aliasing
> Cons: Too slow to be of use in practise.
>  
> 3a) Differentiated parabole wave
> Synthesize parabole (diff(phase^2)*1/freq for -1 <= phase < 1). Aliasing
> falls at 12dB/oct (compared to 6dB/oct for trivial saw).
>  
> Pros: Almost as easy as trivial saw. 1/freq can be derived from
> interpolated table lookup (store 1/freq for each note)
> Cons: diff(phase^2) can get very small for low frequencies requiring 24
> or
> 32 bit resolution. Requires 1.5-2x oversampling to avoid annoying warble
> between 10-20 kHz.
>  
> 3b) Slewrate limited saw
> Use a trivial saw-tri pwm oscillator with the pulse width set to exactly
> one sample. Can be shown to be equivalent to 2a.
>  
> Pros: Doesn't require frequency dependent scaling or high resolution
> computations.
> Cons: Same as 3a
>  
> 3c) Other waveshaping methods
> Several other methods can be used to sample a smooth function and then
> warp the spectrum to resemble saw. Generally slower and more complicated
> than 2a or 2b.
>  
> 4) Mipmapped wavetables
> Precalculate a version (mipmap) for each octave (or half octave) with
> exact number of harmonics. Select nearest mipmap and interpolate the
> stored waveform on playback.
>  
> Pros: Good quality with higher order interpolator or oversampling
> mipmaps.
> Can do arbitrary waveforms. Easy FM. Easy phase distortion.
> Cons: Needs lots of memory. Number of harmonics limited for low notes.
> Requires oversampling the mipmaps (using longer table than strictly
> required by the number of stored harmonics) or using high order (FIR)
> interpolator. Requires oversampling or more mipmaps (half or quarter
> octave) to avoid missing frequencies between 15-20 kHz.
>  
> 5a) BandLimited Impulse Trains (BLIT)
> Synthesize bandlimited impulse train and integrate that to produce saw.
>  
> Pros: Good quality. No oversampling required.
> Cons: Complicated, slow, has numerical issues. Difficult to do FM, PWM
> or sync.
>  
> 5b) BandLimited StEps (BLEP)
> For each oscillator reset, sum a bandlimited step with the trivial saw.
> The steps are precalculated and stored in a table (can be quite short
> when interpolation is used between two phases.
>  
> Pros: Very good quality. No oversampling required. Can do bandlimited
> FM, PWM and sync. Probably the only method that can do audio rate PWM
> and sync.
> Cons: Requires a divide per cycle. Can be complicated: calculating
> required table entry is not trivial when using sync or pwm.
>  
> HTH
>  
> Chris
_______________________________________________
music-bar mailing list
music-bar at lists.music-bar.org
http://lists.music-bar.org/cgi-bin/mailman/listinfo/music-bar




More information about the music-bar mailing list