On Sat, Jul 19, 2008 at 10:33 PM, Matt Barber [EMAIL PROTECTED] wrote:
Right -- wouldn't this be equivalent to doing the (defined)
interpolation and the anti-aliasing as a filter in one step? You're
modulating the interpolating function to include the effects of the
appropriate anti-aliasing
Sorry it took me so long to make something usable out of that mess. I
played around with factoring but it seems like it got me nowhere, so I
finally just multiplied out all the polynomials to get the usual form.
(given input points g[-2] g[-1] g[0] g[1] g[2] g[3]
a5 = 3/64*g[-2] + 13/64*g[-1]
Chuck,
Thanks again for this. Quick question: out of curiosity, how much
would this differ from the one which has the standard derivative
approximations?
Also, if one wanted to put together the one with the standard
approximations, would you use the best approximations available for
each
The interpolation function is a filter. There would be no need to
have an anti-aliasing filter and and interpolation function--there's
just the one function. We use the fast interpolating function at
speeds = 1. But we need a general interpolation function as a
function of speed that
More tables and math...
Let me go ahead and re-print the previous table of fourier transforms
and add some more functions to it, that will simplify things.
remember, these functions are non-zero on the interval from [-a,a] and
zero, elsewhere
f(t) | F(w)
1 | 2/w*sin(aw)
|t||
: Re: [PD] better tabread4~
To: Charles Henry [EMAIL PROTECTED]
Cc: pd-list@iem.at
Message-ID: [EMAIL PROTECTED]
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
hello Chuck,
i tested this. (and commited)
i think tabread6c~ is a bit better than tabread4c~. but differences are more
On Wed, Jul 9, 2008 at 4:39 AM, cyrille henry
[EMAIL PROTECTED] wrote:
Matt Barber a écrit :
Cyrille,
Could you try this optimization for the tabread6c~ I threw together?
It uses the same general notation as the tab4c~ suite:
t_sample a3plusa4plusa5 =
hello Chuck,
i tested this. (and commited)
i think tabread6c~ is a bit better than tabread4c~. but differences are more
smaller
thx
Cyrille
Charles Henry a écrit :
On Sat, Jun 28, 2008 at 6:43 AM, cyrille henry
[EMAIL PROTECTED] wrote:
ok, i'll try that.
but i don't think adjusting the
Hey, Cyrille,
I kind of thought so... we are quickly running into the law of
diminishing returns. I was up late, last night, working on the
analysis some more. I think I can have another 6-point version with
better characteristics tonight.
Chuck
On Tue, Jul 8, 2008 at 11:35 AM, cyrille henry
ok, cool
now, it would also be nice to have a good band limited table reader...
cyrille
Charles Henry a écrit :
Hey, Cyrille,
I kind of thought so... we are quickly running into the law of
diminishing returns. I was up late, last night, working on the
analysis some more. I think I can
:35:51 +0200
From: cyrille henry [EMAIL PROTECTED]
Subject: Re: [PD] better tabread4~
To: Charles Henry [EMAIL PROTECTED]
Cc: pd-list@iem.at
Message-ID: [EMAIL PROTECTED]
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
hello Chuck,
i tested this. (and commited)
i think tabread6c
The reason why the spectrum is necessary for the interpolator is not
exactly obvious or simple. It has to do with manipulations in the
time domain and what they do, in the frequency domain.
The basis of sampling starts with the following function, a dirac comb
g(t)= sum(k=-inf:inf,
On Sat, Jul 5, 2008 at 1:42 PM, Matt Barber [EMAIL PROTECTED] wrote:
Chuck, thanks for the explanation! One question about this -- would
working back from the spectrum possibly mean that you wouldn't
necessarily match any of the points (would this mean you could say the
impulse response would
On Wed, 2 Jul 2008, Matt Barber wrote:
Seriously though, I tend to agree with you -- this should explain my
unease about searching for every polynomial possibility with a certain
number of points. I want to help out as much as I can, but I just
don't want to be the one to close a door on an
On the other hand, doesn't [tabread4~]'s Lagrange interpolator have a
continuous 2nd derivative while the [tabread4c~] Hermite one does not?
No. A Lagrange interpolator on N points is a polynomial of degree N-1, and
so its Nth derivative is a flat zero function without holes, and so it is
On Thu, 3 Jul 2008, Matt Barber wrote:
I'm with you on the general piecewise Lagrange not being C1, but I
don't think it follows that all other orders are discontinuous --
can't they alternate?
No. Any derivative inherits all discontinuities from the original
function. It's a basic fact of
On Thu, 2008-07-03 at 04:01 -0400, Matt Barber wrote:
On the other hand, doesn't [tabread4~]'s Lagrange interpolator have a
continuous 2nd derivative while the [tabread4c~] Hermite one does not?
No. A Lagrange interpolator on N points is a polynomial of degree N-1, and
so its Nth
On Wed, Jul 2, 2008 at 1:51 PM, Matt Barber [EMAIL PROTECTED] wrote:
Seriously though, I tend to agree with you -- this should explain my
unease about searching for every polynomial possibility with a certain
number of points. I want to help out as much as I can, but I just
don't want to be
Matt Barber wrote:
Any ideas??
have a look at how iemlib's filters are implemented. most of them are
really just abstractions wrapping the correct parameters for a generic
implementation class for the non-maths among us.
fgamsdr
IOhannes
___
a good place to find different kind of audio interpolator :
http://www.student.oulu.fi/~oniemita/dsp/deip.pdf
cyrille
Matt Barber a écrit :
For polynomial interpolation using four points, if the above is right
there are 5 ways to do it, and they are ordered first by degree of
polynomial,
On Fri, 27 Jun 2008, Charles Henry wrote:
I get what you're saying now. I had to read it a couple times through
to see :) You're referring to piecewise cubic polynomials, right?
Yes, I'm always assuming that piecewise-cubics is all that we'll need.
We would wind up with an overdetermined
On Sat, 28 Jun 2008, cyrille henry wrote:
i personally consider that the interpolation should not add harmonics,
and should remove non audible harmonics. i.e : a noise with freq from
20Hz to 20kHz shift 2 octave lower should result in a noise with freq
from 20Hz to 5KHz. but it's ok for me if
On Sat, 28 Jun 2008, Matt Barber wrote:
a1 = 0.5f * (c - a);
a3 = 0.5f * (d - a) + 1.5f * (b - c);
a2 = a - b + a1 - a3;
*out++ = ((a3 * frac + a2) * frac + a1) * frac + b;
10 +'s 6 *'s
If you compute twice the value of a1,a2,a3 and later multiply by 0.5, you
end up with a multiplication
On Tue, 1 Jul 2008, Matt Barber wrote:
Any ideas??
Just drop the idea of matching more than two sample points. It's what
makes [tabread4~] miss the opportunity to be C1, but it's also in exchange
for pretty much nothing. Well, maybe it's not nothing, but I still have no
clue about what's
On Wed, Jul 2, 2008 at 1:26 PM, Mathieu Bouchard [EMAIL PROTECTED] wrote:
On Tue, 1 Jul 2008, Matt Barber wrote:
Any ideas??
Just drop the idea of matching more than two sample points. It's what makes
[tabread4~] miss the opportunity to be C1, but it's also in exchange for
pretty much
Mathieu Bouchard wrote:
On Mon, 30 Jun 2008, IOhannes m zmoelnig wrote:
i know for sure that starting Pd with -lib x -path y does something
different than starting it with -path y -lib x.
Does it? then why does -lib store its data in sys_externlist and that
pd's main function looks up
On Sat, Jun 28, 2008 at 6:43 AM, cyrille henry
[EMAIL PROTECTED] wrote:
ok, i'll try that.
but i don't think adjusting the 2nd derivative is the best thing to do.
for me, having a 6 point interpolation would be more important.
I put together a 6-point interpolation formula and analyzed it.
For polynomial interpolation using four points, if the above is right
there are 5 ways to do it, and they are ordered first by degree of
polynomial, then from fewest to greatest number of derivatives
matched. I tend to agree with other posters who suggested that this
kind of organization
Mathieu Bouchard wrote:
Contrary to myself in this case, Johannes is hardly joking.
but he is winking, which might qualify as well.
fgmasdr
IOhannes
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -
And now, for the sake of absurdity, here is the 7th-degree polynomial
for four points which fixes x[-1], x[0], x[1], x[2], x'[0], x'[1],
x''[0], and x''[1].
easy-to-read:
/*a7 = 1.25f*(b-c)+(5.f/12.f)*(d-a);*/
a7 = 1.25f*(b-c)+0.417f*(d-a);
a6 = 3.5f*a7;
a5 = 2.1f*a7;
a4 = a6;
a3 =
An idea on naming:
It should be possible to exhaust all the different schemes for
interpolations involving a given number of points, and it should be
possible to do so hierarchically. For four points, e.g., we have:
3rd degree polynomial, setting:
A) x[-1], x[0], x[1], x[2] (Pd's Lagrange
Hallo,
Matt Barber hat gesagt: // Matt Barber wrote:
Cons first:
1) No matter what, the argument will be somewhat opaque, and some
people (myself included) would probably have a hard time easily
remembering what the arguments mean, which ones are available, and
why.
Actually this could be
Frank Barknecht wrote:
An alternative might be keyword arguments as used in [declare -lib x
-path y] which is the same as [declare -path y -lib x] regardless of
order.
hmm, probably a bad example. even though i am not so intimate with
[declare], i know for sure that starting Pd with -lib x
Hallo,
IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
Frank Barknecht wrote:
An alternative might be keyword arguments as used in [declare -lib x
-path y] which is the same as [declare -path y -lib x] regardless of
order.
hmm, probably a bad example. even though i am
On Mon, 30 Jun 2008, IOhannes m zmoelnig wrote:
i know for sure that starting Pd with -lib x -path y does something
different than starting it with -path y -lib x.
Does it? then why does -lib store its data in sys_externlist and that pd's
main function looks up the libs only after the
On Sat, 28 Jun 2008, hard off wrote:
legends of the pd-list gag department:
Mattieu:
We need a state-saving object class named [jesus].
Iohannes:
this might be the reason why i prefer [lop~] over [cool_filter~] and Pd
over reactor.
Contrary to myself in this case, Johannes is hardly joking.
okay, so here's what I came up with...
For the original tabread4~, the impulse response and its Fourier Transform:
g(t)=I[-2,2](t)*(-1/6*|t|^3 - 2*t^2 - 11/6*|t| + 1)
+ I[-1,1](t)*(2/3*|t|^3 - 2*t^2 + 4/3*|t|)
G(w)= (1/w^2)*(1/3*cos(2w) - 4/3*cos(w) + 1)
+
Date: Fri, 27 Jun 2008 00:39:18 -0500
From: Charles Henry [EMAIL PROTECTED]
Subject: Re: [PD] better tabread4~
To: Mathieu Bouchard [EMAIL PROTECTED], pd-list@iem.at
Message-ID:
[EMAIL PROTECTED]
Content-Type: text/plain; charset=ISO-8859-1
On Thu, Jun 26, 2008 at 11:18 AM, Mathieu
Matt Barber a écrit :
...
The following bit of code might work to that end as a test, borrowing
Cyrille's general notation:
cminusb = c-b;
aminusd = a-d;
a0 = aminusd + 3.0 * cminusb;
a1 = -2.5f * aminusd - 7.5f * cminusb;
a2 = 1.5f * aminusd + 4.5f * cminusb;
a3 = 0.5f * (c +
legends of the pd-list gag department:
Mattieu:
We need a state-saving object class named [jesus].
Iohannes:
this might be the reason why i prefer [lop~] over [cool_filter~] and Pd
over reactor.
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and
On Sat, Jun 28, 2008 at 7:43 AM, cyrille henry
[EMAIL PROTECTED] wrote:
Matt Barber a écrit :
...
The following bit of code might work to that end as a test, borrowing
Cyrille's general notation:
cminusb = c-b;
aminusd = a-d;
a0 = aminusd + 3.0 * cminusb;
a1 = -2.5f * aminusd - 7.5f
On Sat, Jun 28, 2008 at 7:43 AM, cyrille henry
[EMAIL PROTECTED] wrote:
Matt Barber a écrit :
As this line of experimentation proceeds, it might make sense to
develop a set of benchmarks both for quality and performance. One
place to start might be to test the residual error between all of
On 25/06/2008, at 22.33, cyrille henry wrote:
so finally, what should be the name of this object?
is it ok if i remove the other test i made and to use only this one?
I think you a free to name your code what you want. And also to
delete it. I however think people would find it interesting
On Thu, 26 Jun 2008, Damian Stewart wrote:
one of the pushes to me finally learning Pd was discovering that there
was an object called [moses], and it did what it said it did.
We need a state-saving object class named [jesus].
_ _ __ ___ _ _ _
On Tue, 24 Jun 2008, Charles Henry wrote:
On Tue, Jun 24, 2008 at 9:24 PM, Mathieu Bouchard [EMAIL PROTECTED] wrote:
I don't think that more than one alternative will be necessary. For 4-point
table lookups that go through all the original points, I don't know why
anyone would aim lower than a
On Thu, Jun 26, 2008 at 11:18 AM, Mathieu Bouchard [EMAIL PROTECTED] wrote:
I fucked up here. To get a C2 curve you may need to solve an equation system
covering the whole table (!). Anyhow, a C1 system is fine enough for most
uses, and it would be already much better than pd's.
The thing is
Hallo,
IOhannes m zmoelnig hat gesagt: // IOhannes m zmoelnig wrote:
bsoisoi wrote:
I agree, being able to specify interpolation via an inlet message would
be great (from my users perspective).
hmm, i am not totally convinced (but actually don't care)
Is anyone else besides me reminded
] better tabread4~
To: Mathieu Bouchard [EMAIL PROTECTED], pd-list@iem.at
Message-ID:
[EMAIL PROTECTED]
Content-Type: text/plain; charset=ISO-8859-1
On Tue, Jun 24, 2008 at 9:24 PM, Mathieu Bouchard [EMAIL PROTECTED] wrote:
I don't think that more than one alternative
On Wed, Jun 25, 2008 at 10:32 AM, Matt Barber [EMAIL PROTECTED] wrote:
For what it's worth, here's supercollider's cubic interpolation
function, which differs from csound's and Pd's, which I believe are
equivalent:
static float cubicinterp(float x, float y0, float y1, float y2, float y3)
{
PS -- also for what it's worth, a formula which seems equivalent to
the one used in [tabread4c~] is described here:
http://local.wasp.uwa.edu.au/~pbourke/other/interpolation/
it gives the following piece of code:
double CubicInterpolate(
double y0,double y1,
double y2,double y3,
That's a good reference. I was kind of interested in the hermite
polynomials method, but I couldn't figure it out from tabread4h~.c.
On a tangential note, this entry seems interesting:
http://en.wikipedia.org/wiki/Hermite_polynomials#Hermite_Functions_as_Eigenfunctions_of_the_Fourier_Transform
Charles Henry a écrit :
On Wed, Jun 25, 2008 at 10:32 AM, Matt Barber [EMAIL PROTECTED] wrote:
For what it's worth, here's supercollider's cubic interpolation
function, which differs from csound's and Pd's, which I believe are
equivalent:
static float cubicinterp(float x, float y0, float
IOhannes m zmoelnig wrote:
this might be the reason why i prefer [lop~] over [cool_filter~] and Pd
over reactor.
one of the pushes to me finally learning Pd was discovering that there was
an object called [moses], and it did what it said it did.
Hans-Christoph Steiner [EMAIL PROTECTED] wrote:
Yes that'right, hmm I guess I knew that but said it in a woolly way
Amend that to
[tabread~] - play back at exactly the original rate
[tabread4~] - play back at close to the
Hallo,
Matt Barber hat gesagt: // Matt Barber wrote:
All of that said, I think something like the [sampler~] object
proposed in another post would be much in keeping with the
user-friendly filter objects like [bp~] (as opposed to [rpole~] and
[rzero~] which are the real building block kinds
Hans-Christoph Steiner wrote:
tabread4~ isn't such a great name that it should be used for the
new one.
hmm, from my elitist point of view, [tabread4~] tells me something about
how this object works (its reading a table using 4 point interpolation)
rather than [tabread_tweak~] which tells
On Jun 24, 2008, at 11:36 AM, IOhannes m zmoelnig wrote:
Hans-Christoph Steiner wrote:
tabread4~ isn't such a great name that it should be used for
the new one.
hmm, from my elitist point of view, [tabread4~] tells me something
about how this object works (its reading a table using 4
On Jun 24, 2008, at 8:22 AM, Matt Barber wrote:
Hans-Christoph Steiner [EMAIL PROTECTED] wrote:
Yes that'right, hmm I guess I knew that but said it in a woolly way
Amend that to
[tabread~] - play back at exactly the
Hans-Christoph Steiner wrote:
4 stands for 4-point interpolation, that is true. But there are
many algorithms for 4-point interpolation, as this thread as laid
bare. tabread4~ could also describe something that reads 4 values
and averages them, it could also be the 4th version of
On Tue, 24 Jun 2008, IOhannes m zmoelnig wrote:
true that 4 doesn't say much about the interpolation alogrithm and
that is definitely a weakness in the current naming scheme.
Well, I'd have expected 4 to be a cubic spline algorithm, because it
uses a sliding window of 4 samples, polynomial
On Tue, 24 Jun 2008, Matt Barber wrote:
[tabread_tweak~]
[tabread_transpose~]
I really hate to be a fart on this one
You should love it, if you intend it for the good of pd.
2) I tend to greatly prefer object names which say what the object
does, not what it is for,
This is one of the
Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
4 stands for 4-point interpolation, that is true. But there are
many algorithms for 4-point interpolation, as this thread as laid
bare. tabread4~ could also describe something that reads 4 values
and averages
On 24/06/2008, at 12.17, Hans-Christoph Steiner wrote:
Feel free to critique my suggestions, but it isn't really productive
until there are suggestions for how to do it differently, rather than
merely saying my suggestion is bad.
Depends on what it is to be different from. If it is to be
I disagree entirely with the trend of this discussion towards naming
or methods to choose an interpolation method.
We need not get ahead of ourselves, when we don't even know if it's a
better tabread (like the name of this discussion). Let's make sure
this thing is solid and finds good usage
bsoisoi wrote:
I agree, being able to specify interpolation via an inlet message would
be great (from my users perspective).
hmm, i am not totally convinced (but actually don't care) as this leads
to bloated objects which can just do everything and you specify what
they should do via
Excellent point, don't listen to me! :)
From your example, I'm assuming you're hinting at including the
ability in this abstraction to switch interpolation schemes by
enabling/disabling sub-patched tabread~, tabread4~, and tabread4c~
objects via inlet messages or creation arguments.
In
On Wed, 25 Jun 2008, IOhannes m zmoelnig wrote:
hmm, i am not totally convinced (but actually don't care) as this leads
to bloated objects which can just do everything and you specify what
they should do via parameters. why do we have objects then?
Objects and classes also have other benefits
On Tue, 24 Jun 2008, Charles Henry wrote:
I see no problem with shortening the names, because it's not practical
to name these things concisely, e.g.
tabread4_continuous_first_derivative~ or tabread4_anti_aliasing~
continuous first derivative is listed as continuously differentiable
in the
On Jun 23, 2008, at 7:52 AM, Andy Farnell wrote:
On Mon, 23 Jun 2008 00:50:44 -0400 (EDT)
Mathieu Bouchard [EMAIL PROTECTED] wrote:
On Mon, 16 Jun 2008, Andy Farnell wrote:
with [tabread4~] being good enough for playing back files at
their original rate,
If you are going to playback at
On Mon, 23 Jun 2008 11:38:27 +0200
Hans-Christoph Steiner [EMAIL PROTECTED] wrote:
Perhaps these could have more descriptive names, especially if there
was a tabread, etc. library. Some quick ideas:
[tabread_tweak~]
[tabread_transpose~]
Hard to argue against, but I'm such a fan of
On Jun 23, 2008, at 1:01 PM, Andy Farnell wrote:
On Mon, 23 Jun 2008 11:38:27 +0200
Hans-Christoph Steiner [EMAIL PROTECTED] wrote:
Perhaps these could have more descriptive names, especially if there
was a tabread, etc. library. Some quick ideas:
[tabread_tweak~]
[tabread_transpose~]
On Mon, 23 Jun 2008 13:18:11 +0200
Hans-Christoph Steiner [EMAIL PROTECTED] wrote:
This compactness only really helps speed up the typing of code. It
hinders the reading of code and the learning of code. Plus it means
that us mere mortals, who cannot remember what c in [tabread4c~]
On Mon, 2008-06-23 at 06:52 +0100, Andy Farnell wrote:
Yes that'right, hmm I guess I knew that but said it in a woolly way
Amend that to
[tabread~] - play back at exactly the original rate
[tabread4~] - play back at close to the orginal rate
[tabread4c~] - play back with wider
On Mon, June 23, 2008 2:17 pm, Roman Haefeli wrote:
the only good reason to keep [tabread4~] in pd is to keep backwards
compatibility with patches that exploit [tabread4~]'s wierd behaviour,
imo.
Witch is a good enough reason to keep it, imho.
I much prefer Frank's suggestion. I.e. using the
On Mon, 2008-06-23 at 14:35 +0200, Steffen Juul wrote:
On Mon, June 23, 2008 2:17 pm, Roman Haefeli wrote:
the only good reason to keep [tabread4~] in pd is to keep backwards
compatibility with patches that exploit [tabread4~]'s wierd behaviour,
imo.
Witch is a good enough reason to
well, tabread4c~ is far from perfect, it has the same aliasing problem than
tabread4~ and
it create more distortion than tabread4~. (but in lower frequency).
one told me that modern commercial audio software can use 32 points shannon
interpolation.
On Jun 23, 2008, at 2:58 PM, Roman Haefeli wrote:
On Mon, 2008-06-23 at 14:35 +0200, Steffen Juul wrote:
On Mon, June 23, 2008 2:17 pm, Roman Haefeli wrote:
the only good reason to keep [tabread4~] in pd is to keep backwards
compatibility with patches that exploit [tabread4~]'s wierd
On Mon, Jun 23, 2008 at 8:23 AM, cyrille henry
[EMAIL PROTECTED] wrote:
well, tabread4c~ is far from perfect, it has the same aliasing problem than
tabread4~ and
it create more distortion than tabread4~. (but in lower frequency).
Strictly speaking, these interpolations don't create distortion
: Roman Haefeli [EMAIL PROTECTED]
Subject: Re: [PD] better tabread4~
To: pd-list@iem.at
Message-ID: [EMAIL PROTECTED]
Content-Type: text/plain
On Mon, 2008-06-23 at 06:52 +0100, Andy Farnell wrote:
Yes that'right, hmm I guess I knew that but said it in a woolly way
Amend that to
[tabread
On Mon, 16 Jun 2008, Andy Farnell wrote:
with [tabread4~] being good enough for playing back files at
their original rate,
If you are going to playback at original rate, [tabread4] is both useless
and 10 times slower than [tabread]. All that [tabread4] is good at, is
playing back at
Yes that'right, hmm I guess I knew that but said it in a woolly way
Amend that to
[tabread~] - play back at exactly the original rate
[tabread4~] - play back at close to the orginal rate
[tabread4c~] - play back with wider transposition
On Mon, 23 Jun 2008 00:50:44 -0400 (EDT)
Mathieu
On Wed, 11 Jun 2008, cyrille henry wrote:
ok, if you don't wish to compile in order to test, here are 2 samples :
http://www.chdh.free.fr/tab/tabosc4.wav
http://www.chdh.free.fr/tab/tabosc4c.wav
note that this is the worst case for tabread4~ : a very small table play at low
frequency.
I
Sounds like tabread4c~ is very useful, but I would be hesistant to
replace the built-in tabread4~ with it, since it would change the
sound of existing pieces that use it. Perhaps there could be a
library of different interpolating table reading functions?
.hc
On Jun 16, 2008, at 1:15 AM,
Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
Sounds like tabread4c~ is very useful, but I would be hesistant to
replace the built-in tabread4~ with it, since it would change the
sound of existing pieces that use it. Perhaps there could be a
library of
Hans-Christoph Steiner a écrit :
Sounds like tabread4c~ is very useful, but I would be hesistant to
replace the built-in tabread4~ with it, since it would change the
sound of existing pieces that use it. Perhaps there could be a
library of different interpolating table reading
On Tue, Jun 17, 2008 at 12:22 PM, cyrille henry
[EMAIL PROTECTED] wrote:
Hans-Christoph Steiner a écrit :
Sounds like tabread4c~ is very useful, but I would be hesistant to
replace the built-in tabread4~ with it, since it would change the
sound of existing pieces that use it. Perhaps there
hello,
Charles Henry a écrit :
On Tue, Jun 10, 2008 at 10:29 AM, cyrille henry
[EMAIL PROTECTED] wrote:
...
I'm having trouble compiling, due to the garray_getfloatwords symbol.
Which version of Pd are you using?
vanilia 0.41.4
I'd like to see the waveform and test it out. Here's my
On Wed, 2008-06-11 at 12:52 +0100, Andy Farnell wrote:
I'm really looking forward to giving this the 'ear test'.
Maybe I'm growing old but differerences in interpolation
methods are very subtle to my perception. What would be the
hard case to test it? It would be when the signal is
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of cyrille henry
Sent: 10 June 2008 16:30
To: Charles Henry
Cc: pd-list@iem.at
Subject: Re: [PD] better tabread4~
Charles Henry a écrit :
On Tue, Jun 10, 2008 at 4:43 AM, cyrille henry
ok, thanks for the answer.
i understand what's in your book, but i found other references where cubic
interpolation is used for a function that offer continuity of the 1st
derivative.
i can understand that tabread4~ minimise the error when the table is large
(when you play it faster than the
I'm really looking forward to giving this the 'ear test'.
Maybe I'm growing old but differerences in interpolation
methods are very subtle to my perception. What would be the
hard case to test it? It would be when the signal is greatly
transposed, right?
Remember when I tested your stab at
ok, if you don't wish to compile in order to test, here are 2 samples :
http://www.chdh.free.fr/tab/tabosc4.wav
http://www.chdh.free.fr/tab/tabosc4c.wav
note that this is the worst case for tabread4~ : a very small table play at low
frequency.
for bigger table, the difference can be very
On Wed, 2008-06-11 at 00:05 +0200, cyrille henry wrote:
i can understand that tabread4~ minimise the error when the table is large
(when you play it faster than the original speed).
but with a small table, or when you play it slower, the first derivative
discontinuity create lot's of high
I'm interested in this too... I'm deep inside something else right now
but will check this out when I can.
cheers
M
On Wed, Jun 11, 2008 at 02:23:11PM +0200, cyrille henry wrote:
ok, if you don't wish to compile in order to test, here are 2 samples :
http://www.chdh.free.fr/tab/tabosc4.wav
On Tue, Jun 10, 2008 at 4:43 AM, cyrille henry
[EMAIL PROTECTED] wrote:
i realized that the 4 points interpolation in tabread4~ (and tabosc4~) are
not optimal.
Please describe. I've analyze the interpolation formula too, and I
think that it is a true cubic interpolation. Is the numerical
Charles Henry a écrit :
On Tue, Jun 10, 2008 at 4:43 AM, cyrille henry
[EMAIL PROTECTED] wrote:
i realized that the 4 points interpolation in tabread4~ (and tabosc4~) are
not optimal.
Please describe. I've analyze the interpolation formula too, and I
think that it is a true cubic
I believe lagrange interpolation just means polynomail. tabread4~ uses
cubic interpolation... details are in
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node31.html
It may be that there's a better way to do 4-point interpoation than Lagrange
but the way to find out would be by doing
97 matches
Mail list logo