band limited oscillators

Paul Maddox EMAIL HIDDEN
Sat Feb 7 09:32:58 CET 2009


I forgot to include the link :-)

http://music.columbia.edu/cmc/music-dsp/

Nice bunch of people, mainly C/C++ focused.

Paul

On 7 Feb 2009, at 08:25, Paul Maddox wrote:

> Hi,
>
>   There's a DSP mailing list, not sure if that's what you're after
> though.
>
> Paul
>
> On 6 Feb 2009, at 23:12, Jay Vaughan wrote:
>
>> 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
>> _______________________________________________
>> 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