---------------------------- Original Message ---------------------------- Subject: Re: [music-dsp] Antialiased OSC From: "Ross Bencina" <rossb-li...@audiomulch.com> Date: Sat, August 4, 2018 2:12 am To: "A discussion list for music-related DSP" <music-dsp@music.columbia.edu> -------------------------------------------------------------------------- > Hi Kevin, > > Wavetables are for synthesizing ANY band-limited *periodic* signal. ... > > If all you need to do is synthesize bandlimited periodic signals, I > don't see many benefits to BLEP methods over wavetable synthesis. i might suggest prepending "quasi-" to "periodic".� notes don't have to be perfectly periodic, just *mostly* periodic.� one cycle in this quasi-periodic waveform should look just like its adjacent cycles on the left or right.� but it wouldn't necessarily look like a cycle 1 second away. > (1) With wavetable switching, frequency modulation will cause high > frequency harmonics to fade in and out as the wavetables are crossfaded > -- a kind of amplitude modulation on the high-order harmonics. The > strength of the effect will depend on the amount of high-frequency > content in the waveform, and the number of wavetables (per octave, say): > Less wavetables per-octave will cause lower frequency harmonics to be > affected, more wavetables per-octave will lessen the effect on low-order > harmonics, but will cause the rate of amplitude modulation to increase. > To some extent you can push this AM effect to higher frequencies by > allowing some aliasing (say above 18kHz). You could eliminate the AM > effect entirely with 2x oversampling. two things:� 1.� the AM effect should *not* affect the lower harmonics that are not potential aliases.� as you cross-fade, those harmonics are identical in amplitude and phase in the beginning and ending wavetables.� it's only the highest harmonics that start to fade out (before they alias) as the pitch increases. 2. it's possible to show that if you have a sample rate of 48 kHz (so 24 kHz is the "folding frequency") and two wavetables per octave you can make all this nasty harmonic aliasing (and variation in amplitude) happen above 19.88 kHz. at the bottom of the half-octave split, the fundamental is f0.� the Nth harmonic is right at 19.88 kHz so N = (19.88 kHz)/f0 and there are no other harmonics above it.� at the top of the split the fundamental is 2^(1/2)*f0 and the Nth harmonic is at�2^(1/2)*(19.88 kHz) = 28.11 kHz, if there was no fold over.� but since there is, this top harmonic folds over to 48 kHz -�28.11 kHz = 19.89 kHz.� admittedly that's a little tight to start fading it out and fading in the waveform that has fundamental at 2^(1/2)*f0 and top harmonic of 19.88 kHz, but you can back off a little and maybe just do this all above 19 kHz and put a brickwall LPF at 19 kHz.� i know i (at age 62) won't be missing any harmonics above 19 kHz.� below 19 kHz, every harmonic is harmonic (unaliased) and unchanging in amplitude. another thing you can do is make your splits be smaller than 6 semitone spacing. and, of course, if the sample rate is 96 kHz, no one will be hearing any aliasing nor loss of harmonics below even 24 kHz.� but at 96 kHz, maybe you can get away with "naive" sawtooths and square and maybe even naive hard-sync.� maybe not. � -- r b-j� � � � � � � � � � � � �r...@audioimagination.com "Imagination is more important than knowledge." � � � �
_______________________________________________ dupswapdrop: music-dsp mailing list music-dsp@music.columbia.edu https://lists.columbia.edu/mailman/listinfo/music-dsp