Re: [mc505] Digest Number 3044
- Maybe I'm just being pedantic, but don't know that I would really call that "aliasing" myself - more just a glitch of sorts. I thought aliasing is basically a result of sampling rate - at close "magnification" the waveform is in fact stepped rather than a smooth curve and under certain operations these innacuracies become kind of magnified themselves. Obviously a bit different, but you can kind of visualize it like a small bitmap that you englarge and becomes all blocky, or the banding you would get on a smooth-blended image when you store it as a low-quality jpeg... Regardless of the speed of the processor, the aliasing occours because the sound is being built of blocks of small intervals of time. Smaller blocks of time would help, and that is where faster CPU's/DSP can improve things because they deal with more calculations with littler blocks for the same output time and can also spare a few cycles to try "repair" jagged waves. Repairing is sketchy though because it is going to involve guesswork to some degree no matter what you do.
So to do away with aliasing entirely you need an infinite sample rate - ie analog signal - and so I suppose you're right then that that would require an infinitely powerful CPU to process properly. However the infinitely powerful processor will still alias a low-bitrate sound, or even a high bitrate source under certain operations... then again infinitely powerful processors could probably do a few tricks to fool us into beleiving that there is no aliasing...
Someone please tell me if I am talking nonsense.
> And there's the CPU speed issue. Older synths used slower CPUs,--
> newer synths use faster CPUs.
> If you run a softsynth on an old Pentium machine at 90 Mhz, you'll
> get clicks, chops and pops due to the fact that the computer can't
> run fast enough to handle all the calculations needed to accurately
> depict the wave. That would be aliasing taken to an extreme, when
> there are silent moments when the computer can't generate any sound
> due to excessive cpu load.
> If you have only 256 cycles per second to synthesize a wave, the
> resulting sound will experience aliasing since the cpu won't be
> able to handle all the maths in that short amount of time.
> If you had a computer with infinite processing power, the aliasing
> would tend to zero.
> Of course that there's a point where our ears can't hear aliasing
> due to its own nature, and modern virtual analogue synths are very
> close to it.
Play 100s of games for FREE! http://games.mail.com/
- I think you are making perfect sense.
Actually one of a few "tricks" to fool our ears that you mentioned is
already widely used. Most of us often hear about it and the good news
is that it does not require infinite power and memeory of CPU. I am
talking about Oversampling.
Some DSP operations like clipping or waveshaping is known to give
results whose highest frequency goes beyond the nyquist frequency (see
http://mathworld.wolfram.com/NyquistFrequency.html) and hence cause
aliases. Oversampling is nothing but an approach to process those
operations in higher sampling rates, or in your terms, in many more
smaller blocks of samples. By increasing the sampling rates, your
nyquist frequency ceiling is shifted up and it gives you more room
before your results get infested with aliases.
In the virtual-analog oscillator generation case, there is another
"trick" to avoid aliases. Since we know exactly what shape of
waveform we need to generate before hand, we can design our wave
generation algorithm that never draws curves with abrupt changes.
(Abrupt changes in curves implies high frequencies in the frequency
domain. These high frequencies often easily exceed the Nyquist
frequency.) Some sophisicated algorithm based on integration calculus
allows us to generate waveforms whose curves changes are as abrupt as
they can be without violate the Nyquist Frequency and hence,
theoritically never alias. This approach too doesn't require
infinitely fast and infinite memory to process. Pretty cool eh?
On 5/1/06, reuben kinsella <tripod@...> wrote:
> Someone please tell me if I am talking nonsense.