band limited oscillators

Jay Vaughan EMAIL HIDDEN
Sat Feb 7 00:12:42 CET 2009


You are on. It.

;
--
ibi sum
::: top quotin' from the pocket :::

On Feb 6, 2009, at 17:07, "M-.-n" <nostromo at arkaos.net> wrote:

> 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 se 
>> ems
>> 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
>
> _______________________________________________
> 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