[sdiy] [synth-diy] numerically controlled superoscillator without hard sync
rsdio at sounds.wa.com
rsdio at sounds.wa.com
Thu Feb 13 03:36:42 CET 2014
On Feb 9, 2014, at 13:55, Tom Wiltshire wrote:
>> The problem with PWM is that it's even worse than a square wave.
>
> For the purposes of what Damian is talking about, it doesn't make
> any difference. He's got a waveform look-up table into which you
> can put an arbitrary waveform.
My point was that arbitrary waveforms can produce aliasing, and PWM
creates more varying aliases that I consider worse than the fixed
aliases of a static square wave.
>> The problem I describe assumes you're generating samples and
>> sending them to a DAC at some sample rate (it doesn't really
>> matter whether the sample rate is fixed or variable).
>
> Not true. It matters a good deal.
That was poorly worded on my part. When I said that it doesn't
matter, I meant that sampled audio can produce aliases if you're not
careful, whereas the PWM output of a CPU is not sampled, and thus
wouldn't really have aliasing (discrete frequency availability, but
not aliasing).
> If the sample rate is a multiple of the output frequency, then any
> aliasing *has to* be harmonically related to the output frequency.
> To alter the output frequency, you alter the sample rate, not the
> number of samples you read out - your waveform starts of with
> (say) 256 samples, and it still has 256 samples when it's up at
> 10KHz, not the dozen samples (if we're lucky) we usually get if
> we've got a fixed sample rate.
I suppose that if you don't want perfect, then these harmonically-
related aliases are not as bad as inharmonic aliases. But neither is
as good as no aliasing at all, right?
> Obviously it is possible to put non-bandlimited data into the
> waveform table (a simple incrementing count as a ramp wave will do
> it..) and this *will* produce aliasing - but that aliasing will all
> be harmonically related, so the effect is of waveform distortion
> rather than "aliasing" as usually understood. It's simply as if you
> put a slightly different set of data into the table from what's
> really there. Te important bit is you *don't* get the "unrelated
> frequencies coming down as pitch slides up" effect which is so
> obvious with digital aliasing.
I've been too focused on analysis of A/D data, where I need to
distinguish between a fundamental frequency that I've generated on
purpose, versus an alias of some other harmonically-related frequency
that might give a false indication. Even when all of the generated
frequencies are multiples of the sample rate, it still presents a
problem if you don't know signal from alias/noise. In this thread, of
course, we're talking only of synthesis, but there is still some
analysis done by the human ear. I guess it depends upon whether the
aliasing is objectionable or usefully interesting.
Brian Willoughby
Sound Consulting
More information about the Synth-diy
mailing list