Re: [PD] Combat aliasing!

2010-04-01 Thread Pierre Massat
Wait, so aliasing occurs when the signal is sampled?
So if i have this patch :

[adc~]
|
|
|
[dac~]

and if the signal already contains frequencies above the Nyquist, i will get
aliasing? I generally use my electric guitar as the main audio source, and
i'm assuming that it has lots of harmonics beyond the Nyquist frequency
(especially when the strings are new), yet i never noticed any distortion of
any sort. I might have a bad ear... Or is it just that the energy of the
upper harmonics is too low for me to notice when they cause aliasing?


Pierre

2010/4/1 Matteo Sisti Sette matteosistise...@gmail.com

  Correct, nothing played back at original sampling rate will alias.

 It _won't_ alias; it may already _have_ aliased when sampled in the first
 place.

 Aliasing occurs when sampling.

 When you digitalize (ADC), you are sampling. When generating a waveform
 mathematically, you are sampling the mathematical function at the very
 moment you compute its value at discrete points.

 When you play back a signal at a different speed than the original, you are
 _resampling_ it, that is, theorically, interpolating it and then sampling it
 again, and it is the sampling stage, not the interpolating one, that
 produces the aliasing.

 The interpolation, since it cannot be an ideal interpolation, may introduce
 other noises or artifacts, not aliasing as far as I can see.


 --
 Matteo Sisti Sette
 matteosistise...@gmail.com
 http://www.matteosistisette.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread Matteo Sisti Sette

Pierre Massat escribió:

Wait, so aliasing occurs when the signal is sampled?
So if i have this patch :

[adc~]
|
|
|
[dac~]

and if the signal already contains frequencies above the Nyquist, i will 
get aliasing? 


Well obviously (or not) a real-world ADC (e.g. a sound card) always 
includes an analog lowpass filter that cuts off the frequencies above 
Nyquit before actually digitalizing



However, when you sample a mathematically generated signal, such as:

[phasor~ 1000]
 |
[dac~]

then no filtering occurs, and aliasing does occur.

More evident:

[osc~ 4]
 |
[dac~]





--
Matteo Sisti Sette
matteosistise...@gmail.com
http://www.matteosistisette.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread cyrille henry



Pierre Massat a écrit :

Wait, so aliasing occurs when the signal is sampled?

yes

So if i have this patch :

[adc~]
|
|
|
[dac~]

and if the signal already contains frequencies above the Nyquist, i will 
get aliasing?

yes, it will.
so usually, your sound card have an analog filter prior to digital convertion 
in order to reduce aliasing.

cyrille

I generally use my electric guitar as the main audio 
source, and i'm assuming that it has lots of harmonics beyond the 
Nyquist frequency (especially when the strings are new), yet i never 
noticed any distortion of any sort. I might have a bad ear... Or is it 
just that the energy of the upper harmonics is too low for me to notice 
when they cause aliasing?



Pierre

2010/4/1 Matteo Sisti Sette matteosistise...@gmail.com 
mailto:matteosistise...@gmail.com


  Correct, nothing played back at original sampling rate will alias.

It _won't_ alias; it may already _have_ aliased when sampled in the
first place.

Aliasing occurs when sampling.

When you digitalize (ADC), you are sampling. When generating a
waveform mathematically, you are sampling the mathematical function
at the very moment you compute its value at discrete points.

When you play back a signal at a different speed than the original,
you are _resampling_ it, that is, theorically, interpolating it and
then sampling it again, and it is the sampling stage, not the
interpolating one, that produces the aliasing.

The interpolation, since it cannot be an ideal interpolation, may
introduce other noises or artifacts, not aliasing as far as I can see.


-- 
Matteo Sisti Sette

matteosistise...@gmail.com mailto:matteosistise...@gmail.com
http://www.matteosistisette.com





___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread Pierre Massat
Alright, i got it! Thanks everybody!

Pierre

2010/4/1 cyrille henry c...@chnry.net



 Pierre Massat a écrit :

  Wait, so aliasing occurs when the signal is sampled?

 yes

  So if i have this patch :

 [adc~]
 |
 |
 |
 [dac~]

 and if the signal already contains frequencies above the Nyquist, i will
 get aliasing?

 yes, it will.
 so usually, your sound card have an analog filter prior to digital
 convertion in order to reduce aliasing.

 cyrille

  I generally use my electric guitar as the main audio source, and i'm
 assuming that it has lots of harmonics beyond the Nyquist frequency
 (especially when the strings are new), yet i never noticed any distortion of
 any sort. I might have a bad ear... Or is it just that the energy of the
 upper harmonics is too low for me to notice when they cause aliasing?


 Pierre

 2010/4/1 Matteo Sisti Sette matteosistise...@gmail.com mailto:
 matteosistise...@gmail.com


  Correct, nothing played back at original sampling rate will alias.

It _won't_ alias; it may already _have_ aliased when sampled in the
first place.

Aliasing occurs when sampling.

When you digitalize (ADC), you are sampling. When generating a
waveform mathematically, you are sampling the mathematical function
at the very moment you compute its value at discrete points.

When you play back a signal at a different speed than the original,
you are _resampling_ it, that is, theorically, interpolating it and
then sampling it again, and it is the sampling stage, not the
interpolating one, that produces the aliasing.

The interpolation, since it cannot be an ideal interpolation, may
introduce other noises or artifacts, not aliasing as far as I can see.


-- Matteo Sisti Sette
matteosistise...@gmail.com mailto:matteosistise...@gmail.com
http://www.matteosistisette.com



 


 ___
 Pd-list@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list


___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread Matteo Sisti Sette

 and I forgot to say, if you use [vd~] to circumvent [delread~]'s delay
 limitation, you will also find that [vd~] is a lot slower (taking
 more cpu), and that's normal, because [vd~] does antialiasing,
 whereas [delread~] does not.

I don't know who Karplus-Strong is, but from your dissertation I get the 
impression that what you call antialising here is what I would call 
interpolation ¿?


--
Matteo Sisti Sette
matteosistise...@gmail.com
http://www.matteosistisette.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread Charles Henry
 The interpolation, since it cannot be an ideal interpolation, may introduce
 other noises or artifacts, not aliasing as far as I can see.

There's two parts to it, aliasing (stopband) and non-flat frequency
response (passband).  Since interpolation of uniform samples is
linear, what we see in interpolation is the introduction of other
frequencies.

The intermediate stage between sampling and playback is a dirac-delta
comb which takes our original spectrum and copies it centered at n*fs
for all n.  It's an infinitely long spectrum.  The interpolation is a
linear convolution operator on the dirac-delta comb.  The distortion
we observe comes from non-flat frequency response in the passband (0
to Nyquist) and from the copied spectra above the Nyquist frequency.

Now, we hardly realize its there, because we don't represent the
intermediate stages.  We only need to get the output at a series of
discrete points, so we only need to evaluate the convolution at those
discrete points.

Chuck

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread Matteo Sisti Sette

Charles Henry escribió:

The interpolation, since it cannot be an ideal interpolation, may introduce
other noises or artifacts, not aliasing as far as I can see.


There's two parts to it, aliasing (stopband) and non-flat frequency
response (passband). 


Well this seems o be a matter of terminology. I think you call 
aliasing a wider class of artifacts than I was taught to call aliasing.





--
Matteo Sisti Sette
matteosistise...@gmail.com
http://www.matteosistisette.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread Matteo Sisti Sette

Matteo Sisti Sette escribió:

Charles Henry escribió:
The interpolation, since it cannot be an ideal interpolation, may 
introduce

other noises or artifacts, not aliasing as far as I can see.


There's two parts to it, aliasing (stopband) and non-flat frequency
response (passband). 


Well this seems o be a matter of terminology. I think you call 
aliasing a wider class of artifacts than I was taught to call aliasing.


Oh no, maybe not.
I read your explanation more carefully and of course, the 
non-perfectness of the interpolation process (i.e. its non-zero 
frequency response in the stop band) is responsible for the persistence 
of attenuated copies of the original spectrum at multiples of the 
original sampling rate, which then appear aliased into the passband when 
the signal is sampled again at a different rate.



This is what's going on when discontinuities in the interpolated signal 
cause noise at high frequencies, isn't it?


--
Matteo Sisti Sette
matteosistise...@gmail.com
http://www.matteosistisette.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread Charles Henry
On Thu, Apr 1, 2010 at 11:11 AM, Matteo Sisti Sette
matteosistise...@gmail.com wrote:
 Matteo Sisti Sette escribió:

 Oh no, maybe not.
 I read your explanation more carefully and of course, the non-perfectness of
 the interpolation process (i.e. its non-zero frequency response in the stop
 band) is responsible for the persistence of attenuated copies of the
 original spectrum at multiples of the original sampling rate, which then
 appear aliased into the passband when the signal is sampled again at a
 different rate.


 This is what's going on when discontinuities in the interpolated signal
 cause noise at high frequencies, isn't it?

Yes, that's my interpretation and explanation of it.  It works out
nice and linear in the spectral domain *if* we can make that
intermediate step with the Dirac-delta comb which copies the spectrum.
 Then, *all* the deviations in the reconstructed signal come from the
places where the spectrum does not match the ideal response.

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-04-01 Thread Mathieu Bouchard

On Thu, 1 Apr 2010, Matteo Sisti Sette wrote:


and I forgot to say, if you use [vd~] to circumvent [delread~]'s delay
limitation, you will also find that [vd~] is a lot slower (taking
more cpu), and that's normal, because [vd~] does antialiasing,
whereas [delread~] does not.


I don't know who Karplus-Strong is, but from your dissertation I get the 
impression that what you call antialising here is what I would call 
interpolation ¿?


Yes, that's a lot of the same thing. E.g. when scaling a picture, it is 
usually antialiased, and that is performed by some kind of interpolation, 
such as linear or cubic. But when rendering a polygon, the antialiasing of 
the lines doesn't have to do with interpolation of existing pixel data, 
because it's rendered directly from vertex data... but, in some way, 
polygon rendering is all about linear interpolation of vertex data, as 
each edge is made of points on a line between other points. This doesn't 
mean that the polygon will be «antialiased» in any way.


Just to say that there are many things called interpolation and many 
things called antialiasing and that there's a lot of overlap of those 
things but they don't exactly coïncide.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Combat aliasing!

2010-03-31 Thread Pierre Massat
Hi!

I ve been reading the on-going debate about interpolation for a few days,
and it just occured to me that i don't how go about avoiding aliasing more
generally than with band-limited wavetables. If i wanted to play a sample at
a pitch higher than the original, or if i wanted to use a karplus-strong
resonator to generate notes, what would be the proper way of ensuring that
no aliasing occurs? Do people generally use low-pass filters with a cut-off
somewhere below the Nyquist frequency? Or is there a trick that one can use
earlier on in the signal path of a patch?

Pierre
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-03-31 Thread Derek Holzer
I was thinking about this the other day is it possible to have 
aliasing with Karplus-Strong? Because it's a delay line, nothing is 
being played back at any higher rate than it was sampled at, so no 
aliasing should be possible. Right? Math-gurus correct me if I'm wrong.


Otherwise, any signal generator needs to be bandlimited or oversampled:

http://en.flossmanuals.net/PureData/Antialiasing
http://en.flossmanuals.net/PureData/GeneratingWaveforms

Frank Barknecht has some spliced-transition trick he uses as well, I'm 
sure it will come up in a reply or two on this thread as well...


D.

On 3/31/10 6:27 PM, Pierre Massat wrote:

Hi!

I ve been reading the on-going debate about interpolation for a few
days, and it just occured to me that i don't how go about avoiding
aliasing more generally than with band-limited wavetables. If i wanted
to play a sample at a pitch higher than the original, or if i wanted to
use a karplus-strong resonator to generate notes, what would be the
proper way of ensuring that no aliasing occurs? Do people generally use
low-pass filters with a cut-off somewhere below the Nyquist frequency?
Or is there a trick that one can use earlier on in the signal path of a
patch?


--
::: derek holzer ::: http://macumbista.net :::
---Oblique Strategy # 139:
Revaluation (a warm feeling)

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-03-31 Thread Pierre Massat
I m not sure i understand aliasing well... So anything that's sampled and
played back without altering the pitch would not suffer from aliasing? When
exactly does aliasing occur? during the DAC conversion, or before that?
Let's say i set a karplus-strong resonator to a frequency of 30 KHz
(assuming i'm a dog and i can hear a pitch that high), at a 44.1 KHz
sampling rate, than what happens? No aliasing at all?



2010/3/31 Derek Holzer de...@umatic.nl

 I was thinking about this the other day is it possible to have aliasing
 with Karplus-Strong? Because it's a delay line, nothing is being played back
 at any higher rate than it was sampled at, so no aliasing should be
 possible. Right? Math-gurus correct me if I'm wrong.

 Otherwise, any signal generator needs to be bandlimited or oversampled:

 http://en.flossmanuals.net/PureData/Antialiasing
 http://en.flossmanuals.net/PureData/GeneratingWaveforms

 Frank Barknecht has some spliced-transition trick he uses as well, I'm sure
 it will come up in a reply or two on this thread as well...

 D.


 On 3/31/10 6:27 PM, Pierre Massat wrote:

 Hi!

 I ve been reading the on-going debate about interpolation for a few
 days, and it just occured to me that i don't how go about avoiding
 aliasing more generally than with band-limited wavetables. If i wanted
 to play a sample at a pitch higher than the original, or if i wanted to
 use a karplus-strong resonator to generate notes, what would be the
 proper way of ensuring that no aliasing occurs? Do people generally use
 low-pass filters with a cut-off somewhere below the Nyquist frequency?
 Or is there a trick that one can use earlier on in the signal path of a
 patch?


 --
 ::: derek holzer ::: http://macumbista.net :::
 ---Oblique Strategy # 139:
 Revaluation (a warm feeling)

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-03-31 Thread Derek Holzer
Correct, nothing played back at original sampling rate will alias. If 
you speed that sample up, then some of the recorded harmonics will go 
over the Nyquist number and alias.


Please read the page I sent you on aliasing:

http://en.flossmanuals.net/PureData/Antialiasing

and also

http://en.flossmanuals.net/PureData/WhatIsDigitalAudio

Aliasing happens when you try to synthesize or play back a frequency 
higher than 1/2 the sampling rate (this is called the Nyquist number). 
In non-sine wave oscillators, it often comes from the highest harmonics. 
In samples, it comes from playing them back faster than the original 
sampling rate. It happens at the moment those frequencies are 
synthesized, and cannot be removed later. Thus the oversampling approach 
documented in the FLOSS Manual (and taken directly from Miller's Pd 
manual patches).


A Karplus-Strong resonator is a delay line and as I understand it, so 
long as no pitch shifting is going on then it can't alias. You would not 
be able to create a Karplus-Strong resonator at 30KHz unless you have a 
sampling rate of 60KHz, because the shortest delay time you can get is 
still one sample (1/44100 of one second at normal sampling rate). Again, 
math gurus are welcome to correct my calculations.


D.


On 3/31/10 6:39 PM, Pierre Massat wrote:

I m not sure i understand aliasing well... So anything that's sampled
and played back without altering the pitch would not suffer from
aliasing? When exactly does aliasing occur? during the DAC conversion,
or before that? Let's say i set a karplus-strong resonator to a
frequency of 30 KHz (assuming i'm a dog and i can hear a pitch that
high), at a 44.1 KHz sampling rate, than what happens? No aliasing at all?



2010/3/31 Derek Holzer de...@umatic.nl mailto:de...@umatic.nl

I was thinking about this the other day is it possible to have
aliasing with Karplus-Strong? Because it's a delay line, nothing is
being played back at any higher rate than it was sampled at, so no
aliasing should be possible. Right? Math-gurus correct me if I'm wrong.

Otherwise, any signal generator needs to be bandlimited or oversampled:

http://en.flossmanuals.net/PureData/Antialiasing
http://en.flossmanuals.net/PureData/GeneratingWaveforms

Frank Barknecht has some spliced-transition trick he uses as well,
I'm sure it will come up in a reply or two on this thread as well...

D.


On 3/31/10 6:27 PM, Pierre Massat wrote:

Hi!

I ve been reading the on-going debate about interpolation for a few
days, and it just occured to me that i don't how go about avoiding
aliasing more generally than with band-limited wavetables. If i
wanted
to play a sample at a pitch higher than the original, or if i
wanted to
use a karplus-strong resonator to generate notes, what would be the
proper way of ensuring that no aliasing occurs? Do people
generally use
low-pass filters with a cut-off somewhere below the Nyquist
frequency?
Or is there a trick that one can use earlier on in the signal
path of a
patch?


--
::: derek holzer ::: http://macumbista.net :::
---Oblique Strategy # 139:
Revaluation (a warm feeling)




--
::: derek holzer ::: http://macumbista.net :::
---Oblique Strategy # 151:
Take away the important parts

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-03-31 Thread Pierre Massat
That sounds like a sensible reason why a karplus-strong resonator could not
alias. That's good news, although i suppose it isn't new at all to most
people on the list...
By the way i had read the FLOSS pages before...
Thanks Derek!

Pierre

2010/3/31 Derek Holzer de...@umatic.nl

 Correct, nothing played back at original sampling rate will alias. If you
 speed that sample up, then some of the recorded harmonics will go over the
 Nyquist number and alias.

 Please read the page I sent you on aliasing:


 http://en.flossmanuals.net/PureData/Antialiasing

 and also

 http://en.flossmanuals.net/PureData/WhatIsDigitalAudio

 Aliasing happens when you try to synthesize or play back a frequency higher
 than 1/2 the sampling rate (this is called the Nyquist number). In non-sine
 wave oscillators, it often comes from the highest harmonics. In samples, it
 comes from playing them back faster than the original sampling rate. It
 happens at the moment those frequencies are synthesized, and cannot be
 removed later. Thus the oversampling approach documented in the FLOSS Manual
 (and taken directly from Miller's Pd manual patches).

 A Karplus-Strong resonator is a delay line and as I understand it, so long
 as no pitch shifting is going on then it can't alias. You would not be able
 to create a Karplus-Strong resonator at 30KHz unless you have a sampling
 rate of 60KHz, because the shortest delay time you can get is still one
 sample (1/44100 of one second at normal sampling rate). Again, math gurus
 are welcome to correct my calculations.

 D.



 On 3/31/10 6:39 PM, Pierre Massat wrote:

 I m not sure i understand aliasing well... So anything that's sampled
 and played back without altering the pitch would not suffer from
 aliasing? When exactly does aliasing occur? during the DAC conversion,
 or before that? Let's say i set a karplus-strong resonator to a
 frequency of 30 KHz (assuming i'm a dog and i can hear a pitch that
 high), at a 44.1 KHz sampling rate, than what happens? No aliasing at all?



 2010/3/31 Derek Holzer de...@umatic.nl mailto:de...@umatic.nl


I was thinking about this the other day is it possible to have
aliasing with Karplus-Strong? Because it's a delay line, nothing is
being played back at any higher rate than it was sampled at, so no
aliasing should be possible. Right? Math-gurus correct me if I'm wrong.

Otherwise, any signal generator needs to be bandlimited or oversampled:

http://en.flossmanuals.net/PureData/Antialiasing
http://en.flossmanuals.net/PureData/GeneratingWaveforms

Frank Barknecht has some spliced-transition trick he uses as well,
I'm sure it will come up in a reply or two on this thread as well...

D.


On 3/31/10 6:27 PM, Pierre Massat wrote:

Hi!

I ve been reading the on-going debate about interpolation for a few
days, and it just occured to me that i don't how go about avoiding
aliasing more generally than with band-limited wavetables. If i
wanted
to play a sample at a pitch higher than the original, or if i
wanted to
use a karplus-strong resonator to generate notes, what would be the
proper way of ensuring that no aliasing occurs? Do people
generally use
low-pass filters with a cut-off somewhere below the Nyquist
frequency?
Or is there a trick that one can use earlier on in the signal
path of a
patch?


--
::: derek holzer ::: http://macumbista.net :::
---Oblique Strategy # 139:
Revaluation (a warm feeling)



 --
 ::: derek holzer ::: http://macumbista.net :::
 ---Oblique Strategy # 151:
 Take away the important parts

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-03-31 Thread Frank Barknecht
On Wed, Mar 31, 2010 at 06:32:04PM +0200, Derek Holzer wrote:
 I was thinking about this the other day is it possible to have  
 aliasing with Karplus-Strong? Because it's a delay line, nothing is  
 being played back at any higher rate than it was sampled at, so no  
 aliasing should be possible. Right? Math-gurus correct me if I'm wrong.

 Otherwise, any signal generator needs to be bandlimited or oversampled:

 http://en.flossmanuals.net/PureData/Antialiasing
 http://en.flossmanuals.net/PureData/GeneratingWaveforms

 Frank Barknecht has some spliced-transition trick he uses as well, I'm  
 sure it will come up in a reply or two on this thread as well...

My trick is from Miller's book and also part of the docs shipped with Pd.
Just read the last (?, from memory) chapter in the book about classical
waveforms for a lot of valuable insight in the aliasing problem.

Ciao
-- 
Frank

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-03-31 Thread Matteo Sisti Sette

 Correct, nothing played back at original sampling rate will alias.

It _won't_ alias; it may already _have_ aliased when sampled in the 
first place.


Aliasing occurs when sampling.

When you digitalize (ADC), you are sampling. When generating a waveform 
mathematically, you are sampling the mathematical function at the very 
moment you compute its value at discrete points.


When you play back a signal at a different speed than the original, you 
are _resampling_ it, that is, theorically, interpolating it and then 
sampling it again, and it is the sampling stage, not the interpolating 
one, that produces the aliasing.


The interpolation, since it cannot be an ideal interpolation, may 
introduce other noises or artifacts, not aliasing as far as I can see.



--
Matteo Sisti Sette
matteosistise...@gmail.com
http://www.matteosistisette.com

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] Combat aliasing!

2010-03-31 Thread Mathieu Bouchard


Derek Holzer wrote :

I was thinking about this the other day is it possible to have aliasing 
with Karplus-Strong? Because it's a delay line, nothing is being played back 
at any higher rate than it was sampled at, so no aliasing should be possible. 
Right?


The aliasing comes from a moiré (interference) between the frequency of the 
sampling and the frequency of whatever is going on. In the case of 
Karplus-Strong, the choice of the number of samples of delay is an integer, 
therefore the rounding of those values will be a kind of aliasing, and this 
aliasing will accumulate as the signal is fed back, because all the 
fractional-sample delays exceeding or missing are going to add up instead of 
being compensated by the usual counters.


If you antialias Karplus-Strong synthesisers, instead, the antialias will act 
as a lowpass that will attenuate much of the upper range of possible 
frequencies. For example, a delay by n samples and a half, is quite equivalent 
to how [rzero~ -1] acts as a kind of low-pass.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] Combat aliasing!

2010-03-31 Thread Mathieu Bouchard

On Wed, 31 Mar 2010, Mathieu Bouchard wrote:

The aliasing comes from a moiré (interference) between the frequency of the 
sampling and the frequency of whatever is going on. In the case of 
Karplus-Strong, the choice of the number of samples of delay is an integer, 
therefore the rounding of those values will be a kind of aliasing, and this 
aliasing will accumulate as the signal is fed back, because all the 
fractional-sample delays exceeding or missing are going to add up instead of 
being compensated by the usual counters.


If you antialias Karplus-Strong synthesisers, instead, the antialias will act 
as a lowpass that will attenuate much of the upper range of possible 
frequencies. For example, a delay by n samples and a half, is quite 
equivalent to how [rzero~ -1] acts as a kind of low-pass.


and I forgot to say, if you use [vd~] to circumvent [delread~]'s delay 
limitation, you will also find that [vd~] is a lot slower (taking more 
cpu), and that's normal, because [vd~] does antialiasing, whereas 
[delread~] does not. as a result, you can specify fractionary-sample 
delays, and when you do, it sounds similar to changing the setting of 
the [lop~] in your feedback loop, because you can't possibly perform 
fractionary-sample delay without accidental lowpassing.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard, Montréal, Québec. téléphone: +1.514.383.3801___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list