Re: [PD] tabread4 interpolation
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2013-07-22 11:47, J Oliver wrote: Hi all, Where can I find the code for tabread4? Does someone have any lights on how this interpolation is implemented? $ cd src/git/pure-data/src/ $ grep -l tabread4 *.c d_array.c $ vi d_array.c then - - search for tabread4_setup - - note that numbers are processed using the `tabread4_float` method - - search for tabread4_float definition - - study the algorithm fgamsdr IOhannes -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlHtBB4ACgkQkX2Xpv6ydvSkEQCcCogZniqwJ6+51ak8yUN3HZzW qn0An3UEvNYlxBONMyBES3nwlHkbn0YI =86R3 -END PGP SIGNATURE- ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4 interpolation
thanks! J On Jul 22, 2013, at 12:06 PM, IOhannes m zmoelnig wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2013-07-22 11:47, J Oliver wrote: Hi all, Where can I find the code for tabread4? Does someone have any lights on how this interpolation is implemented? $ cd src/git/pure-data/src/ $ grep -l tabread4 *.c d_array.c $ vi d_array.c then - - search for tabread4_setup - - note that numbers are processed using the `tabread4_float` method - - search for tabread4_float definition - - study the algorithm fgamsdr IOhannes -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlHtBB4ACgkQkX2Xpv6ydvSkEQCcCogZniqwJ6+51ak8yUN3HZzW qn0An3UEvNYlxBONMyBES3nwlHkbn0YI =86R3 -END PGP SIGNATURE- ___ 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] tabread4 interpolation
On 22/07/13 10:47, J Oliver wrote: Where can I find the code for tabread4? Does someone have any lights on how this interpolation is implemented? See also this (quite long) thread: http://lists.puredata.info/pipermail/pd-list/2010-03/077278.html Claude -- http://mathr.co.uk ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4 interpolation
Right! I remember it now, so: a Lagrange interpolator J On Jul 22, 2013, at 12:40 PM, Claude Heiland-Allen wrote: On 22/07/13 10:47, J Oliver wrote: Where can I find the code for tabread4? Does someone have any lights on how this interpolation is implemented? See also this (quite long) thread: http://lists.puredata.info/pipermail/pd-list/2010-03/077278.html Claude -- http://mathr.co.uk ___ 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] [tabread4~] bug???
There is some inbuilt limit to array sizes that needs to be overridden by using the -maxsize tag when loading a file from soundfiler. I have a feeling it might mess things up with GOP arrays if you use that. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [tabread4~] bug???
Hi, On 24/07/12 03:55, Alexandre Torres Porres wrote: Ok, as long as we're on it, here's another thing I found while patching around. Probably related to the last crazy behaviour I just described, but something on its own. It is simpler than phase vocoding, it's just something weird about sampling into arrays and playing with [tabread4~]. Well, maybe there's a relation to the bug I just reported (check my last email sent to the list please), because that uses [tabread4~] as well. So, if I record onto a a somewhat big array, there comes a time where it just fails completely when playing it through [tabread4~], but not with [tabplay~]. It also does not show it anymore after that particular point in the array itself. The point is around 380 seconds (6 minutes and 20 seconds). This is a known limitation with [tabread4~] and [tabread~] and pops up every now and then [1] (it could probably be useful to mention it in [tabread~] help). Long story short: you are rather safe with [tabread~] and [tabread4~] for arrays as big as 2^24 - that is 16777216 Length in seconds will vary depending on sample-rate: Here a table for commonly used samplerates: +++ | s.rate | seconds | +++ | 44100 |380.44 | +++ | 48000 |349.53 | +++ | 88200 |190.22 | +++ | 96000 |174.76 | +++ Hope this helps. Lorenzo. [1] See here a thread from 2006: http://lists.puredata.info/pipermail/pd-list/2006-08/040671.html and here for a clear explanation: http://puredata.hurleur.com/viewtopic.php?pid=28924#p28924 ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [tabread4~] bug???
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2012-07-24 09:34, Lorenzo Sutton wrote: This is a known limitation with [tabread4~] and [tabread~] and pops up every now and then [1] (it could probably be useful to mention it in [tabread~] help). it is mentioned in the help-patch for [tabread4~] and explained in detail in B15.tabread4~-onset.pd ghmasd IOhannes -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlAOcigACgkQkX2Xpv6ydvTKlACbBN1X37EMy6TLGNqOTHL9UQ0k 2iwAn2SdmjmHq34kPKgtutgFrBdd8xiz =Qjwi -END PGP SIGNATURE- smime.p7s Description: S/MIME Cryptographic Signature ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] [tabread4~] bug???
On 24/07/12 12:00, IOhannes m zmoelnig wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2012-07-24 09:34, Lorenzo Sutton wrote: This is a known limitation with [tabread4~] and [tabread~] and pops up every now and then [1] (it could probably be useful to mention it in [tabread~] help). it is mentioned in the help-patch for [tabread4~] It doesn't seem so, at least not explicitly. There is a mention to 4-point interpolation and to onsets and the tutorial below. (at least looking at 0.43 vanilla and 0.43 extended help patches) and explained in detail in B15.tabread4~-onset.pd True indeed, and there is a reference to it in the help patch (a 'link' in 0.43 extended) What I meant was that it might be helpful to mention more explicitly the fact that one of the practical consequence is a limitation in 'usable' duration of samples. But I definitely won't make a fuss of it :) Lorenzo. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
Charles Henry escribió: The hardest class I ever had was stochastic analysis (as recent as 4 years ago), where we solved problems like this. Fundamentally, it's not too hard, but the details of the calculus are tricky. I'd prefer to stay away unless there's a real good reason to do so :) Well if you want to stay away from stochastic processes and consider the signal as a deterministic function, then you'll have to make assumptions that make sense for functions. And a flat spectrum isn't. As you said at the very beginning (almost), assuming it has a flat spectrum implies it is a dirac delta. Finding the interpolator that best interpolates a dirac delta is finding the interpolator that best matches the ideal interpolator (the sync), hence your result. Ok, we cannot find an interpolator that is optimum for all classes of functions, so we have to choose some class of functions. Even provided your reasoning about phase was right (so allowing to extend the result not only to the delta function but to all function with a flat spectrum with whatever phase), I don't think the resulting class of function is much more general and much more interesting. I think people often use a sinusoid to measure the quality of an interpolator (e.g. in Miller's book you find tables with the signal-to-noise ratio of the interpolator measured on a sinusoid, if i remember correctly). Maybe you could solve the problem of finding the best interpolator for a sinusoid. That would make a lot more sense than the best interpolator for a dirac delta. (note that I don't know if the result turns out to be the same) If you try to solve the problem for a whole class of functions of some interest, I'm afraid you'll find out it is much (much much much) more complicated than dealing with stochastic processes. Note that I'm not saying that E=|f(x)-sinc(x)|^2 is minimized when f(x)={sinc(x) -2x2 ,0 elsewhere is a bad choice. I'm just arguing that your reasoning doesn't prove it is the best choice. Indeed I think some software use E=|f(x)-sinc(x)|^2 is minimized when f(x)={sinc(x) -NxN ,0 elsewhere for some value of N. For infinite N, this would be the perfect interpolator, so obviously for large N it is good enough. The problem is that for N as little as 2, the truncation has non-negligible effects on the stop band, so the problem arises, whether another signal can reduce the effects of the truncation on the stop band, at the cost of some added ripple within the passband. Now that I think about it, your truncated sync should have perfect-flat passband response, and big stopband ripples (how do you call the stopband ripples? cannot remember the word), so any improvement at stopband will have to be traded off with some increased passband ripple. So here's what the truncated sync is best at: it's the one with the best (meaning flattest) bandpass response. Is this correct??? Note however that the highest part of the high frequency noise (due to the non-zero stopband part of the interpolator) will cause aliasing when resampling. The analysis of passband ripple and stopband ripple and whatever measure of their trade off doesn't take this into account: it just considers the passband ripple as passband distortion, and the stopband ripple as high-frequency noise. But after resampling part of that high frequency noise will be brought back to low frequency in form of aliasing. Note that the new Nyquist frequency depends on the resampling frequency and is not the same as the original Nyquist frequency, so how relevant aliasing is depends on the resampling rate. If yoy resample at 1:1 then _all_ high freq noise will become aliasing. Aliasing is often considered somewhat worse than anything else (correct me if I am wrong), I guess because it is specially audible, being perceived as something completely unconnected to the original signal. This last digression is nothing specific to the truncated sync, it is just to say that while trading off between passband distortion and stopband noise, we have to consider that stopband noise may alias back to low frequency and hence it is especially important to avoid it. Hence an interpolator with strong stopband ripple is likely to need to be used in conjunction with oversampling and filtering before resampling. By the way when we resample at an unpredictable and varying rate (such as using a tabreadWhatever~ with an input signal that is not a ramp), oversampling and filtering is not feasible (or is 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] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
You're trying to restrict the analysis to a convenient (but reasonable) class of signals, and to assume that the signal to be interpolated, x, belongs to that class. Right? Well, sort of. What works well as an interpolator for one signal may not work well for another. The point I started from was asking the question, what would make a good measure of the error when we use a given interpolator? So, if I just wanted to average across all frequencies the squared error, I thought the problem would be equivaled to this one: E=|f(x)-sinc(x)|^2 is minimized when f(x)={sinc(x) -2x2 ,0 elsewhere And then it's the same as having an operator acting on a flat spectrum signal. It doesn't make any sense, as far as I can see, to assume that the signal being interpolated belongs to the class of function whose spectrum has a flat modulus (and any phase). Why not assuming then, for example, that x(t) is a constant? (please don't take my tone as sarchastic) What does make some sense (it is a strong hypothesis but discussing its plausibility would bring the discussion to a much higher level) is to treat the signal x as a stochastic process with a given power spectrum - such as flat, or pink. So, I assumed the signal spectrum flat so that I could average over all the frequencies. True it doesn't fit the actual use cases and give us the error in a signal we'd actually like to see--it's just sort of a toy problem, but it goes back to the reason why we're looking at it in the first place, to consider what happens when we just choose one measure (L2 normed error in signal reconstruction averaged across all frequencies) and then find the best result. This class of functions to consider is useful if we're going for rigourous math here... but maybe we've strayed too far outside the topic and should just stick to calculus? Suppose we choose our metric and work it out. If the correct result doesn't behave well or doesn't fit our criteria, then how should we create a better measure? But that means that the quantity you're minimizing is no longer an integral of the signal minus some other signal all squared: it is the expectation of something. The power spectrum of a stochastic process x(t) is not the fourier transform of x(t), it is the fourier transform of tha autocorrelation function of x (or something like that). The hardest class I ever had was stochastic analysis (as recent as 4 years ago), where we solved problems like this. Fundamentally, it's not too hard, but the details of the calculus are tricky. I'd prefer to stay away unless there's a real good reason to do so :) ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
On Wed, Mar 31, 2010 at 5:12 PM, Matteo Sisti Sette matteosistise...@gmail.com wrote: It occurs to me that there exists one very obvious function for which the squared error is minimized for a 4-point interpolator. 4-point interpolator impulse functions have to be 0 outside the interval [-2,2]. So, E=|f(x)-sinc(x)|^2 is minimized when f(x)={sinc(x) -2x2 , 0 elsewhere I may be missing something but I'm afraid the E in your formula is not the error that is supposed to be minimized. Sorry, I often go kind of fast-and-loose with the math, but I think you'll see it's true within a certain context, which you may or may not accept. The ideally interpolated signal (which is the one in reference to which the error has to be minimized) is not just a sinc: it is the sum of an infinite series of sinc's centered at the sampled points and scaled with the sampled values. Let x be the series of samples, each multiplied by Dirac-delta functions at the sample times. Let S be the convolution operator which convolves a function by sinc(t) and let F be our arbitrary convolution operator which convolves by an interpolation function f(t). Then, the quantities we need to compare are Sx and Fx where we want to minimize the L2 norm, the integral of the squared error (Sx - Fx)^2 |Sx-Fx|^2 = |(S-F)x|^2 The error depends on x the signal. Here, I want to make the *convenient* assumption that the spectrum of x is flat, since we want some kind of generality and we want to minimize average error across frequencies. This would make the problem equivalent to using just *one* dirac-delta in place of x and we would get the problem to reduce back to just the difference of the impulse responses |sinc(t)-f(t)|^2 For a little while, I was going in circles on how to minimize operator norms, but it's not quite the right problem for that and I'd probably spend all day on it, that way :) (I won't try to write it in a latex-like fashon, I would certainly get it wrong - not because of latex syntax, I mean I would get it wrong even if I tried to write it down manually) I'm reluctant to try latex because it looks like too much work, but I think lyx (a wysiwyg latex editor) is more my speed. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
Charles Henry escribió: The error depends on x the signal. Here, I want to make the *convenient* assumption that the spectrum of x is flat, since we want some kind of generality and we want to minimize average error across frequencies. This would make the problem equivalent to using just *one* dirac-delta in place of x and we would get the problem to reduce back to just the difference of the impulse responses |sinc(t)-f(t)|^2 Ah ok. This *convenient* assumption is equivalent to (or at least implies) assuming that the only sample that matters for interpolating the signal between -2 and 2 is the one semple at 0. This seems to me a too much strong assumption. I'm not saying that your conclusion is wrong (though I suspect it is). Let's take a step back: Here, I want to make the *convenient* assumption that the spectrum of x is flat Stated this way, it sounds reasonable, doesn't it. If it does, then it means that by flat spectrum you mean the _power spectrum_ of x considered as a _stochastic process_ rather than a deterministic signal. Brought to the domain of time, assuming x has a flat power spectrum means assuming x is white noise. (btw a closer-to-reality assumption would be that it is pink noise - but that's not the point here) Not a dirac delta. So minimizing the error would be to minimize the power, or probably energy, of the error meant as a stochastic process. Though I should have the notions to go a bit further in at least _formulating_ (not solving) the problem, those notions are a bit oxidated, if not completely gone from my head :( But I'm sure it is not equivalent to minimizing the integral of the difference between the operators applied to a delta function. -- 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] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
I get what you're saying too, and I'm at least a little skeptical myself. But as I think about it generally, my entire approach to looking at these problems has been very similar. I basically thought that when comparing interpolators, I could disregard the signals involved and just look at the properties of the impulse responses (or convolution kernels or spectra, etc...). So, if I can't do that, I really have to rethink what I know. On Thu, Apr 1, 2010 at 10:44 AM, Matteo Sisti Sette matteosistise...@gmail.com wrote: Here, I want to make the *convenient* assumption that the spectrum of x is flat Stated this way, it sounds reasonable, doesn't it. If it does, then it means that by flat spectrum you mean the _power spectrum_ of x considered as a _stochastic process_ rather than a deterministic signal. When it comes to the general class of functions with flat spectra, the only difference is in phase, right? But the error is the same in time domain as in frequency domain thanks to the isometric property of the Fourier transform. Our interpolation is the same as a convolution, so we're still just multiplying our spectra and the phase comes out differently in each frequency. So, when we integrate the error^2 in the frequency domain, the phase makes no contribution, and then, it's really just the same thing as the error in the time domain. Then, all flat spectra are equivalent for this problem. I really am enjoying this math discussion, and I do want to be corrected or shown something I don't see yet. Please let me know if there's something wrong with what I'm saying. Brought to the domain of time, assuming x has a flat power spectrum means assuming x is white noise. (btw a closer-to-reality assumption would be that it is pink noise - but that's not the point here) Not a dirac delta. So minimizing the error would be to minimize the power, or probably energy, of the error meant as a stochastic process. Though I should have the notions to go a bit further in at least _formulating_ (not solving) the problem, those notions are a bit oxidated, if not completely gone from my head :( But I'm sure it is not equivalent to minimizing the integral of the difference between the operators applied to a delta function. -- 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] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
Charles Henry escribió: When it comes to the general class of functions with flat spectra, the only difference is in phase, right? But the error is the same in time domain as in frequency domain thanks to the isometric property of the Fourier transform. Our interpolation is the same as a convolution, so we're still just multiplying our spectra and the phase comes out differently in each frequency. I'm not sure I understand what you're saying here about the phase, buy I think the misleading part of youre reasoning is that you take a concept that makes sense in the context of stochastic processes, namely assuming a flat spectrum, and acritically apply it in the context of deterministic signals where it has a completely different meaning. You're trying to restrict the analysis to a convenient (but reasonable) class of signals, and to assume that the signal to be interpolated, x, belongs to that class. Right? It doesn't make any sense, as far as I can see, to assume that the signal being interpolated belongs to the class of function whose spectrum has a flat modulus (and any phase). Why not assuming then, for example, that x(t) is a constant? (please don't take my tone as sarchastic) What does make some sense (it is a strong hypothesis but discussing its plausibility would bring the discussion to a much higher level) is to treat the signal x as a stochastic process with a given power spectrum - such as flat, or pink. But that means that the quantity you're minimizing is no longer an integral of the signal minus some other signal all squared: it is the expectation of something. The power spectrum of a stochastic process x(t) is not the fourier transform of x(t), it is the fourier transform of tha autocorrelation function of x (or something like that). -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
I don't know either. We have the formulas for each, so we can calculate squared error vs. sinc(x), but there also appears to be differences in which frequencies the distortion occurs and some could be more audible. It occurs to me that there exists one very obvious function for which the squared error is minimized for a 4-point interpolator. 4-point interpolator impulse functions have to be 0 outside the interval [-2,2]. So, E=|f(x)-sinc(x)|^2 is minimized when f(x)={sinc(x) -2x2 ,0 elsewhere Note that since the Fourier transform is isometric and linear, we know that a function which minimizes the error in the time domain also minimizes error in the frequency domain. This spectrum ought to have a lot of ringing in the upper frequency range, and in the stopband. So, if we only considered the squared error in the reconstruction and not the smoothness of the result, this would be the clear choice. How would we factor in the smoothness as well? ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
It occurs to me that there exists one very obvious function for which the squared error is minimized for a 4-point interpolator. 4-point interpolator impulse functions have to be 0 outside the interval [-2,2]. So, E=|f(x)-sinc(x)|^2 is minimized when f(x)={sinc(x) -2x2 ,0 elsewhere I may be missing something but I'm afraid the E in your formula is not the error that is supposed to be minimized. The ideally interpolated signal (which is the one in reference to which the error has to be minimized) is not just a sinc: it is the sum of an infinite series of sinc's centered at the sampled points and scaled with the sampled values. (I won't try to write it in a latex-like fashon, I would certainly get it wrong - not because of latex syntax, I mean I would get it wrong even if I tried to write it down manually) Please correct me if I am wrong -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
On Mon, 2010-03-29 at 21:06 -0400, Matt Barber wrote: LONG, sorry. Thanks again for your time and patience. One really good way to think, then, is in terms of the continuous frequency response of the interpolator. In that long, long discussion a couple years ago, Chuck Henry made the following post where he showed the impulse response of [tabread4~] vs. the [tabread4c~] http://lists.puredata.info/pipermail/pd-list/2008-06/063408.html (look at the graph) Assuming, that the goal is to avoid anything above Nyquist, it seems that [tabread4c~] does its job better (blue graph). The area below the graph line and right of the nyquist vertical line seems smaller for the blue graph than for the red graph. Or am I tricked by the logarithmic view of those graphs? I haven't studied them in school either which is why I worry about the above explanation. I think [tabread4~] is good for what it is for a couple of reasons, neither of them particularly compelling: 1) It's better than linear interpolation, and has wide use in other computer-music applications like csound -- people are very used to how it behaves. This would apply to both, [tabread4~] and [tabread4c~], wouldn't it? 2) It's similar to the alternative being discussed, but with a different sound; not necessarily worse for all sounds. It seems intuitively logical to me that discontinuities in the first derivative (which are basically edges in the curve) create high-frequent noises. When listening to both (back then), I had the feeling that there are more noises audible with [tabread~] than with [tabread4c~]. So to me it still remains unclear in what aspect [tabread4~] is superior to [tabread4c~], from both a theoretical and from an empirical perspective. Roman ___ Der fr�he Vogel f�ngt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
Is it really possible to express a cubic interpolator (such as Lagrange or Hermite, i.e. such as tabread4 or tabread4c) in terms of impulse response? Is it equivalent to a convolution? That is to ask: is it linear??? Or is that an approximation? -- 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] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
So to me it still remains unclear in what aspect [tabread4~] is superior to [tabread4c~], from both a theoretical and from an empirical perspective. The answer may be here: http://www.aes.org/e-lib/browse.cfm?elib=8151 Btw does anybody have access to that article? The analysis reveals an interesting performance trade-off between signal-to-noise ratio and passband flatness. So since it seems quite obvious that discontinuities (tabread4) generate more high-frequency noise (and assuming that is the most relevant source of noise), the only aspect where tabread4 can be superior may be passband flatness. Indeed, intuitively it seems plausible: passband flatness means that the low-frequency part of the signal is more close to the original (the ideal perfectly interpolated signal); and I do expect that an interpolator that doesn't try to match first derivatives is less likely to do crazy oscillations. It would be interesting to see a zoom-in of the low frequency part of Charles Henry's graph (the ripples in the flat zone). However, even in presence of a tradeoff that makes some sense (i.e. each of the two choices has advantages and disadvantages), it seems to me that for audio applications the generated high-frequency noise due to discontinuities should be _hugely_ worse than the passband-non-flatness. I'd really like to see and hear an example of a case where this isn't true, that is, where tabread4 gives better results than tabread4c. This other article seems to contain an answer: http://www.akademiai.com/content/r0192mk0908k31k3/ http://www.akademiai.com/content/r0192mk0908k31k3/fulltext.pdf?page=1 The aim of this paper is to give a positive answer for a problem [...]: Do there exist a system of nodes and function class for which the Lagrange process is better than the Hermite-Fej6r one? If anybody has access and can share it that would be great. Now regarding Matt's words: I have read that the Lagrange interpolators have better stopband attenuation and Hermites have flatter passband response, but I'm not sure this is true Is it possible that it is exactly viceversa? By the way thanks again Matt (and everybody else who contributed to this thread) for the didactic effort and the links. -- 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] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
Now regarding Matt's words: I have read that the Lagrange interpolators have better stopband attenuation and Hermites have flatter passband response, but I'm not sure this is true Is it possible that it is exactly viceversa? I think it probably is exactly vice-versa -- I was quoting people in other forums who said so, so, you know -- who knows if it's true. ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
Yes, as far as I know it's identical -- when you do one of these interpolations with four points, you can either think of it in terms of a cubic polynomial formula involving those four points, or in terms of the sum of four scaled basis functions - the latter seems to me intuitively equivalent to direct convolution of an impulse response centered on the four points, and scaled to each. It will be limited by the quantization of the index, so in that sense it might not be linear.. MB On Tue, Mar 30, 2010 at 6:45 AM, Matteo Sisti Sette matteosistise...@gmail.com wrote: Is it really possible to express a cubic interpolator (such as Lagrange or Hermite, i.e. such as tabread4 or tabread4c) in terms of impulse response? Is it equivalent to a convolution? That is to ask: is it linear??? Or is that an approximation? -- 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] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
On Tue, 2010-03-30 at 14:15 +0200, Matteo Sisti Sette wrote: However, even in presence of a tradeoff that makes some sense (i.e. each of the two choices has advantages and disadvantages), it seems to me that for audio applications the generated high-frequency noise due to discontinuities should be _hugely_ worse than the passband-non-flatness. Judging from the graph, it seems that the differences in the passband-non-flatness are much smaller than the differences in the stop band. But then again, maybe I am tricked by the logarithmic view. By the way thanks again Matt (and everybody else who contributed to this thread) for the didactic effort and the links. Yeah, very enlightning. Thanks Roman ___ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
Roman Haefeli escribió: On Tue, 2010-03-30 at 14:15 +0200, Matteo Sisti Sette wrote: However, even in presence of a tradeoff that makes some sense (i.e. each of the two choices has advantages and disadvantages), it seems to me that for audio applications the generated high-frequency noise due to discontinuities should be _hugely_ worse than the passband-non-flatness. Judging from the graph, it seems that the differences in the passband-non-flatness are much smaller than the differences in the stop band. But then again, maybe I am tricked by the logarithmic view. Hmm, I don't think they can be compared at the same scale - though I don't know with what scaling factor thay can be compared - or if it makes sense at all to compare them quantitatively. However, when one has to evaluate the ripple of the flat part, one usually zooms in quite a bit... -- 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] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
i think this pdf can add lot's of useful information to this thread : http://www.student.oulu.fi/~oniemita/dsp/deip.pdf cyrille Matteo Sisti Sette a écrit : Roman Haefeli escribió: On Tue, 2010-03-30 at 14:15 +0200, Matteo Sisti Sette wrote: However, even in presence of a tradeoff that makes some sense (i.e. each of the two choices has advantages and disadvantages), it seems to me that for audio applications the generated high-frequency noise due to discontinuities should be _hugely_ worse than the passband-non-flatness. Judging from the graph, it seems that the differences in the passband-non-flatness are much smaller than the differences in the stop band. But then again, maybe I am tricked by the logarithmic view. Hmm, I don't think they can be compared at the same scale - though I don't know with what scaling factor thay can be compared - or if it makes sense at all to compare them quantitatively. However, when one has to evaluate the ripple of the flat part, one usually zooms in quite a bit... ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
Matt Barber escribió: Yes, as far as I know it's identical -- when you do one of these interpolations with four points, you can either think of it in terms of a cubic polynomial formula involving those four points, or in terms of the sum of four scaled basis functions - the latter seems to me intuitively equivalent to direct convolution of an impulse response centered on the four points, and scaled to each. It will be limited by the quantization of the index, so in that sense it might not be linear.. Hmm, by linear I mean that the interpolated version of the sum of any two discrete signals is equal to the sum of the interpotated versions of each one. It shouldn't be difficult to tell whether this is true or not by looking at the formulas but I'm too lazy right now :P If the transformation is not linear, then there is no impulse response at all nor any frequency response strictly speaking, thought that doesn't mean that it doesn't make sense to do some reasoning in terms of impulse or frequency response under certain simplifications or assumptions - i.e. to speak less strictly -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
On Mon, 29 Mar 2010, Matteo Sisti Sette wrote: Mathieu Bouchard escribió: both are truly cubic interpolations. IIRC, one kind of cubic interpolation is designed to go through all four points, and the other kind is designed to be pieced with other cubic interpolations, and Miller confused the two and left the bug there. According to his last message, he intentionally implemented the first one. However I still don't understand why; I can't see in which way the first can be preferrable to the second. Well, then, let's say that he *intentionally* *confused* the two !! I think that when he says « most measures of distorsion », when he doesn't tell which, it's because he can't tell. _ _ __ ___ _ _ _ ... | 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] tabread4~ broken interpolation algorithm - was Re:, Max Smoother Audio than Pd?
On Tue, Mar 30, 2010 at 9:52 AM, Matteo Sisti Sette matteosistise...@gmail.com wrote: Matt Barber escribió: Yes, as far as I know it's identical -- when you do one of these interpolations with four points, you can either think of it in terms of a cubic polynomial formula involving those four points, or in terms of the sum of four scaled basis functions - the latter seems to me intuitively equivalent to direct convolution of an impulse response centered on the four points, and scaled to each. It will be limited by the quantization of the index, so in that sense it might not be linear.. Hmm, by linear I mean that the interpolated version of the sum of any two discrete signals is equal to the sum of the interpotated versions of each one. It shouldn't be difficult to tell whether this is true or not by looking at the formulas but I'm too lazy right now :P Right, I think it should absolutely be linear in that sense, provided you used exactly the same index for both processes and ignored any rounding errors from adding samples. In math it should be linear, but I'm not 100% sure about what quantization of index or sample does to it (we often don't worry so much about it anyway). ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
On Mon, 2010-03-29 at 13:49 +0200, Matteo Sisti Sette wrote: Claude wrote: If you use [tabread4] to interpolate graphical parameters for animations, the discontinuities in the derivatives are really obvious. [] But IMHO if you're doing piecewise cubic interpolation, it's a bit of a nonsense to have a cubic that goes through all 4 points when it's only being used between the inner-most 2 points Well using 4 points to interpolate the curve that goes between the two inner points should guarantee the absence of discontinuities in the first (and second?) derivative; that should be the purpose. Now if there actually are discontinuities then there must be some trivial error in the equation, no Or am I missing something??? Check this thread: http://lists.puredata.info/pipermail/pd-list/2008-06/062878.html Roman ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
Roman Haefeli escribió: Check this thread: http://lists.puredata.info/pipermail/pd-list/2008-06/062878.html I checked it out (not read the _whole_ thread to the end) but, In what way can the current tabread4~ interpolation, which is discontinuous even in its 1st derivative, be superior to true cubic interpolation? Even at transpositions near to zero, I can't see what's the advantage, nor what it is supposed to minimize. -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
By the way tabread4c~ is not in Pd Extended, is it? Roman Haefeli escribió: On Mon, 2010-03-29 at 13:49 +0200, Matteo Sisti Sette wrote: Claude wrote: If you use [tabread4] to interpolate graphical parameters for animations, the discontinuities in the derivatives are really obvious. [] But IMHO if you're doing piecewise cubic interpolation, it's a bit of a nonsense to have a cubic that goes through all 4 points when it's only being used between the inner-most 2 points Well using 4 points to interpolate the curve that goes between the two inner points should guarantee the absence of discontinuities in the first (and second?) derivative; that should be the purpose. Now if there actually are discontinuities then there must be some trivial error in the equation, no Or am I missing something??? Check this thread: http://lists.puredata.info/pipermail/pd-list/2008-06/062878.html Roman -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
Hi all- I haven't looked at Cyrille's interpolator but... tabread4~ uses true cubic interpolation (which perhaps Cyrille's object also does in some other way). The tabread4~ algorithm is to put a cubic through the 4 points surrounding the input point. However, this cubic curve does not necessarily match the next curve over in first derivative. A workaround is to up-sample everybody by a factor of 2 - this dramatically reduces error, usually by 24 dB. All described in chapter 2 of my book, http://crca.ucsd.edu/~msp/techniques.htm cheers Miller On Mon, Mar 29, 2010 at 02:29:30PM +0200, Matteo Sisti Sette wrote: Roman Haefeli escribi??: Check this thread: http://lists.puredata.info/pipermail/pd-list/2008-06/062878.html I checked it out (not read the _whole_ thread to the end) but, In what way can the current tabread4~ interpolation, which is discontinuous even in its 1st derivative, be superior to true cubic interpolation? Even at transpositions near to zero, I can't see what's the advantage, nor what it is supposed to minimize. -- 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-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
Matteo Sisti Sette a écrit : By the way tabread4c~ is not in Pd Extended, is it? no. it is there : http://www.chnry.net/ch/?083-Nusmuk-audio c Roman Haefeli escribió: On Mon, 2010-03-29 at 13:49 +0200, Matteo Sisti Sette wrote: Claude wrote: If you use [tabread4] to interpolate graphical parameters for animations, the discontinuities in the derivatives are really obvious. [] But IMHO if you're doing piecewise cubic interpolation, it's a bit of a nonsense to have a cubic that goes through all 4 points when it's only being used between the inner-most 2 points Well using 4 points to interpolate the curve that goes between the two inner points should guarantee the absence of discontinuities in the first (and second?) derivative; that should be the purpose. Now if there actually are discontinuities then there must be some trivial error in the equation, no Or am I missing something??? Check this thread: http://lists.puredata.info/pipermail/pd-list/2008-06/062878.html Roman ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
cyrille henry escribió: Matteo Sisti Sette a écrit : By the way tabread4c~ is not in Pd Extended, is it? no. it is there : http://www.chnry.net/ch/?083-Nusmuk-audio Hi, I downloaded the zip file but Windows tells me he can't open it. Is it something different than a normal .zip file? (it says linux but I thought it may include the source code...) The downloaded file size is about 54k (not 57.5 as stated in the page), so I tried re-downloading it (after clearing the browser cahce) but no luck... -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
Miller Puckette escribió: The tabread4~ algorithm is to put a cubic through the 4 points surrounding the input point. However, this cubic curve does not necessarily match the next curve over in first derivative. Oh I see! I thought it did. I confuded that technique with natural cubic splines :$ Now I remember that in order to compute the coefficients for a cspline you have to know in advance all the points of the table (iirc). But the general formula for csplines doesn't assume equally spaced points... So now i dubt is it possible at all to find the piecewise cubic that ensures continuity of the 1st and 2nd derivatives by using 4 points at a time? (at least in the case of equally spaced points) thanks m. -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
The link works and extracts fine here in WinXP SP3. I used the built-in compressed (zipped) folders tool in the explorer shell. On Mon, Mar 29, 2010 at 11:38 AM, Matteo Sisti Sette matteosistise...@gmail.com wrote: cyrille henry escribió: Matteo Sisti Sette a écrit : By the way tabread4c~ is not in Pd Extended, is it? no. it is there : http://www.chnry.net/ch/?083-Nusmuk-audio Hi, I downloaded the zip file but Windows tells me he can't open it. Is it something different than a normal .zip file? (it says linux but I thought it may include the source code...) The downloaded file size is about 54k (not 57.5 as stated in the page), so I tried re-downloading it (after clearing the browser cahce) but no luck... -- 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 -- John http://alumni.media.mit.edu/~harrison/ ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
John Harrison escribió: The link works and extracts fine here in WinXP SP3. I used the built-in compressed (zipped) folders tool in the explorer shell. Crazy. Internet Explorer breaks downloaded files whenever it takes you more than a few seconds to select the folder to download in. I cleared the browser cache and downloaded the file again, which usually fixes the problem (only if I clear the browser cache), but this time even if it actually and fully redownloaded it it was corrupted again and again so I thought it was actually the file. How such bugs in a browser can stay unfixed for years is beyond my understanding... (doesn't Bill Gates use his own broser??) Thanks cyrille for sending the file. Sorry I don't actually plan to compile it (never compiled a Pd external before), I thought I would just have a look at the source code... But if I do I will certainly send you the binaries -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
Mathieu Bouchard escribió: both are truly cubic interpolations. IIRC, one kind of cubic interpolation is designed to go through all four points, and the other kind is designed to be pieced with other cubic interpolations, and Miller confused the two and left the bug there. According to his last message, he intentionally implemented the first one. However I still don't understand why; I can't see in which way the first can be preferrable to the second. -- 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] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
I checked it out (not read the _whole_ thread to the end) but, In what way can the current tabread4~ interpolation, which is discontinuous even in its 1st derivative, be superior to true cubic interpolation? Even at transpositions near to zero, I can't see what's the advantage, nor what it is supposed to minimize. both are truly cubic interpolations. IIRC, one kind of cubic interpolation is designed to go through all four points, and the other kind is designed to be pieced with other cubic interpolations, and Miller confused the two and left the bug there. Miller's is a true implementation of the former -- his is a Lagrange interpolator which goes through all points -- it's algebraically identical to the cubic interpolator in csound, and so it should have a similar sound as any of the table-reading opcodes in csound that also employ cubic interpolation. The latter is an Hermite interpolator which uses the outside points to approximate the first derivative -- the resulting curve only passes through the middle two points, but doesn't go through the outside two; this ensures that as it's pieced together the first derivative will be continuous at the junctions. It's algebraically identical to the cubic interpolator in supercollider. They're two different approaches -- each has its own frequency response, but both are true cubics. If you want to match all four points AND the first derivatives, you have to use a 5th-order polynomial. The formulas are easily derivable using the Gaussian method, and it's easy to implement all these as a library of functions that can be accessed by the relevant objects, where the user can choose which type of interpolation he/she wants to use. Matt ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
Hi Matt Thanks for the detailed explanation. I still have troubles getting the idea of the Lagrange interpolator in the context of [tabread4~]. You say, that it finds the cubic polynomial which hits all four points. But what is the advantage of that? As I understand [tabread4~], if the index is between 5 and 6, it will use the cubic hitting the points at indizes 4, 5, 6 and 7. If the index is between 6 and 7, it will use the cubic going through the points at 5, 6, 7 and 8. So for the former the fact, that the curve hits also the points 4 and 7 seems irrelevant and so does it for the latter for the points 5 and 8, since always only the segment between floor(n) and ceiling(n) appears in the result. Or is it my misunderstanding and this is completely wrong? It seems logical to me, that discontinuities in the first derivative are avoided in order not to add any partials to the signal. What I don't get is why it is good to hit all four points, if the segments outside the middle segment are ignored/not used for the result. I haven't studied those things in school, so please forgive, if I am asking things with completely wrong assumptions. I am just trying to understand why [tabread4~] is good for what it is. Roman On Mon, 2010-03-29 at 16:33 -0400, Matt Barber wrote: Miller's is a true implementation of the former -- his is a Lagrange interpolator which goes through all points -- it's algebraically identical to the cubic interpolator in csound, and so it should have a similar sound as any of the table-reading opcodes in csound that also employ cubic interpolation. The latter is an Hermite interpolator which uses the outside points to approximate the first derivative -- the resulting curve only passes through the middle two points, but doesn't go through the outside two; this ensures that as it's pieced together the first derivative will be continuous at the junctions. It's algebraically identical to the cubic interpolator in supercollider. They're two different approaches -- each has its own frequency response, but both are true cubics. If you want to match all four points AND the first derivatives, you have to use a 5th-order polynomial. The formulas are easily derivable using the Gaussian method, and it's easy to implement all these as a library of functions that can be accessed by the relevant objects, where the user can choose which type of interpolation he/she wants to use. Matt ___ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ broken interpolation algorithm - was Re: Max Smoother Audio than Pd?
LONG, sorry. On Mon, Mar 29, 2010 at 7:03 PM, Roman Haefeli reduzie...@yahoo.de wrote: Hi Matt Thanks for the detailed explanation. I still have troubles getting the idea of the Lagrange interpolator in the context of [tabread4~]. You say, that it finds the cubic polynomial which hits all four points. But what is the advantage of that? As I understand [tabread4~], if the index is between 5 and 6, it will use the cubic hitting the points at indizes 4, 5, 6 and 7. If the index is between 6 and 7, it will use the cubic going through the points at 5, 6, 7 and 8. So for the former the fact, that the curve hits also the points 4 and 7 seems irrelevant and so does it for the latter for the points 5 and 8, since always only the segment between floor(n) and ceiling(n) appears in the result. Or is it my misunderstanding and this is completely wrong? That's right -- they're used in the sense that a cubic interpolator makes use of more of the information of the surrounding samples than, say, a linear interpolator -- but the segments themselves aren't used literally in the output. This would be true, though, of a 6-point Lagrange polynomial interpolator, or a 32-point windowed sinc interpolator -- you don't use the other segments, but just the segment between the two points in question generated by the information granted to you by the other samples. It seems logical to me, that discontinuities in the first derivative are avoided in order not to add any partials to the signal. What I don't get is why it is good to hit all four points, if the segments outside the middle segment are ignored/not used for the result. Here's how I understand it -- the following is as much for me as it is anyone else, and please please correct me if I'm wrong: Both kinds of interpolation add partials via aliasing -- you can think of it as a kind of resampling rather than interpolation per se: By the Shannon-Nyquist theorem, you can regain a continuous signal from a sampled signal EXACTLY by convolving the sampled signal with a normalized sinc function: http://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem#Reconstruction provided that the original continuous signal was bandlimited and that the sample rate was higher than twice the highest frequency in the original (and to within distortions introduced by quantization). This is to say that if you centered a sinc function over every sample and scaled it to that sample (i.e. multiplied the entire function by the sample constant), and added all of those functions up from negative infinity in time to positive infinity in time, you'd have the original continuous signal that was sampled. Another way of thinking of this is that the you've perfectly filtered out all of the aliased images above and below positve and negative nyquist -- convolving with such a sinc function is the same as implementing a perfect brickwall filter whose cutoffs are right at the nyquist. You're then free to sample this continuous signal at a higher sample rate -- this is exactly the same as implementing a perfect interpolator for upsampling; interpolation does all of this in one step (for downsampling you have to do some extra filtering to get rid of partials above the new target Nyquist). Unfortunately, the sinc function extends forever in both directions, so you have to approximate it, and libraries like libsamplerate do. However, you can think of each of these interpolators as impulse responses with convolution as well. Imagine that you had a bunch of samples that you were going to interpolate over, with the following condition -- one of the samples was max amp (an impulse), and all were zero. The impulse response of an interpolator is the continuous domain result of running that interpolator on the impulse in the discrete domain -- you can easily visualize it in Pd by running the attached patch. The impulse response of an interpolator usually approximates something that looks like part of a sinc function. But since none of them are sinc functions, they all filter out the aliased images less than perfectly. This means that if you made a continuous signal using these interpolators, it would leave a little of the aliased copies of the digital signal's frequency domain -- these would be generally pretty high, but still present. Now, if you resample this (up or down), those high frequencies will necessarily be higher than the new Nyquist (since they run to infinity), so they can foldover and cause audible wrong partials. Each also has a non-flat frequency response in the band under the original Nyquist as well. If you're reading over the table periodically, the error will also be periodic and so will exist as harmonics of the fundamental. One really good way to think, then, is in terms of the continuous frequency response of the interpolator. In that long, long discussion a couple years ago, Chuck Henry made the following post where he showed the impulse response of
Re: [PD] tabread4~ and using it varispeed with long soundfiles
David McCarthy wrote: hello Im trying to re-create something like traktor dj program on pd using tabread4~ Coming up against that problem when you use big soundfiles (a kind of bit depth distortion) Wondering has anyone found a solution for this? [tabread4~~] (currently part of zexy, to be part of iemdp (or so)) gamsdr. IOhannes ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~ and using it varispeed with long soundfiles
i posted a workaround the other day. using vline~ and a fast metro. attached again to this mail metro-phasor~.pd Description: Binary data ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Sun, 23 Dec 2007, Chris McCormick wrote: I am definately no expert in this area, but this guy and his ideas always fascinated me as an alternative to Euclidean geometry: http://en.wikipedia.org/wiki/Riemann http://en.wikipedia.org/wiki/Riemannian_manifold http://en.wikipedia.org/wiki/Riemannian_geometry The Riemann curvature tensor is useful for describing curvature of a space. However, the notation is hard to get used to. For 2-D spaces, you can avoid that notation, but for 3-D and 4-D spaces, as used in relativistic physics, you need the full arsenal. I've learned the 1-D and 2-D special case. The amount of info you need to handle depends on whether you are endo or exo, that is, whether you are inside the space and don't care about the outside, or whether you are looking at the space from a greater space that contains it. For a sphere (the surface of a ball), the curvature is the same everywhere. This is a special case of elliptic spaces, in which the curvature is positive everywhere. In this case you can simplify a lot of things, and you don't need the whole theory, so you can actually put a 63-D spherical space in a 64-D euclidean space with relative ease. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Sun, 23 Dec 2007, Charles Henry wrote: To split hairs, we want to constrain the total energy in mixing signals, which means we have to expand the inner product. I mentioned convex spaces possibly because you can deform your space so that you don't have to do it with the inner product. If each of your dimensions' values is an energy level instead of an amplitude, then instead of forcing the inner product to be 1, you can force the simple sum of all components to be 1, and that's a linear equation instead of a quadratic equation. It changes the nature of how you cross-fade between components, but that doesn't mean that it changes it in a bad way. This ensures that we have a solid homotopy, where we're not interpolating outside of our space (I stated this wrongly in the first place!). so, |x|^2=|y|^2=1 and |a*x+b*y|^2=a^2*|x|^2+b^2*|y|^2+a*b*x,y=1 What makes you think that? An inner product is only guaranteed to be sesquilinear; in other words, it's conjugate-commutative: some kind of hybrid between commutative and anti-commutative. You also forgot to multiply a*b*x,y by two because even in the commutative case you have to count it twice. |a*x+b*y|^2 = a^2*|x|^2 + b^2*|y|^2 + a*b*x,y + a*b*y,x = 1 If you don't use complex numbers you probably can say x,y=y,x and then you can write it like: |a*x+b*y|^2 = a^2*|x|^2 + b^2*|y|^2 + 2*a*b*x,y = 1 And then I don't know where you are getting to with your simplifications, but really, if you use flatten it into a convex space, it looks a lot friendlier for interpolation. With a |x|=1 kind of space, the only nice stuff you can do on it is action by an orthogonal matrix space. I wouldn't enjoy to have to mess with square roots on that. OTOH it could be that the convex space thingie is unusable in practice because one would want to work with amplitudes instead, but I haven't really tried... It's not like I plan doing anything with those structures any time soon. I've always been fascinated (obsessed maybe? meh) with convolution operators. I have often said some wrong things about these, but later worked out proofs of general properties that are essential. L1 norms and L2 norms are the most important. Convolution preserves L1 norms (proof on request) in the following way (here | . | represents the L1 norm, |f| = integral( -inf, inf, |f|dt) and * is convolution |x*y| = |x| |y| In that case it might be easier to write slightly more verbose formulas than having to explain the formula... e.g. L1(conv(x,y)) = L1(x)*L1(y), where * is the ordinary product. and in the L2 norm shown here with same notation |f| = sqrt( integral( -inf, inf, f^2dt) ) |x*y| = sqrt( |x| |y| ) BTW, note that the L2 norm in the spherical space is (isomorphic to) the L1 norm in the convex space. (BTW, from now on, I will only use x,y to talk about vectors in the spherical space, and will use different symbols to talk about the convex space, e.g. convex(x) and convex(y)) To me, convolution makes a good operator for consideration in this type of space. Maybe there's a modification to the definition we can make to be sure that |x*y|^2=1 ? Well, you could define the normalised convolution product as being conv(x,y)/L2(conv(x,y)) ? Let's say F(x),F(y) are Fourier transforms of the x,y vectors. Then the convolution of x,y is a componentwise product (representable by diagonal matrices if you prefer that, but i'll call it cp), according to the Convolution Theorem, and F is energy-preserving, according to Parseval's theorem. So F(conv(x,y)/L2(conv(x,y)) = F(cp(x,y))/L2(cp(x,y)). Does this get you further in any way? Actually, note the difference with convex space: in an affine space, you are not restricted to a=0 and b=0. I can only call the latter a convex sum because energy is nonnegative. (Btw, are the values in the vector supposed to be energy values or amplitude values?) The values in the vector should be amplitudes of orthogonal components, right? In the convex space, no, you deal directly with energy... but I suspect that if you want to interpolate between timbres, it's better to linearly interpolate energies instead of amplitudes, as it keeps total energy constant. Then, dissonance arises between pairs of frequencies by a nonlinear function N(X) which takes the dissonance between each pair and creates a vector of all possibilities. diss(X)=N(X)*A*N(x)/2 where A= [0 a1*a2 a1*a3 a1*a4 [a1*a2 0 a2*a3 a2*a4 . [a1*a3 a2*a3 0 a3*a4 . where you see a1*a2, etc... I mean for it to be sqrt(a1*a2) The elements are on the diagonal are zero because a single frequency makes no dissonance with itself. I don't believe this function. I'd expect the diagonal elements to follow the same pattern as everything else. Then I'd expect the amplitudes to be the elements of X and I'd expect the frequencies to be the indices of X. I'm completely lost, but something like sqrt(a1*a2) definitely looks
Re: [PD] tabread4~~
On Sun, 25 Nov 2007, Charles Henry wrote: On the signals level, we could have a non-linear manifold in a Hilbert space. Sets of functions with constant total energy and identical pitch, for example. Then, psychoacoustics represents the map of this space into timbre space (a psychological space). Functions with constant total energy are a convex space. This is like a linear space except it changes one rule: in a vector space, if a,b are scalars and x,y are vectors, then ax+by is a vector. In a convex space, there's the additional restrictions that a+b=1 and a=0 and b=0, so that you can only blend vectors together by various ponderations, without adding any gain. In 2-dimensional space, any base of a convex space generates a convex polygon (polyhedron if 3-dimensional space instead). If you are using the affine space, you can't simply add and you can't simply multiply by a scalar: instead, the fundamental operation is the convex sum of vectors: as a single operation, you add together any number of vectors, weighted, where the total weight has to be 1, so that the amplitude of the fundamental sticks to 1. This makes good sense to me. The operators on this space are still a little fuzzy, though. Actually, note the difference with convex space: in an affine space, you are not restricted to a=0 and b=0. I can only call the latter a convex sum because energy is nonnegative. (Btw, are the values in the vector supposed to be energy values or amplitude values?) suppose f(t) is a complex tone with frequencies of 100, 200, 300, 400, 500 and g(t) has frequencies of 100, 200, 330, 400, 500 Then, when we mix the two tones together there is dissonance between the frequencies of 300 and 330, which wasn't present in either of the two tones. Dissonance is a somewhat complicated operation, imho. How you compute it? It's definitely non-linear. It could be a quadratic form, perhaps. Think of it as a matrix sandwiched between twice the same vector so that the result is a scalar. e.g. diss(x) = x'*A*x, where apostrophe means transpose. What would be a good A ? Forget the matrix syntax, because this vector space is R^R... but matrix ideas can be mapped to functions. What's the dissonance function A(i,j) for two frequencies i,j? Or maybe A(i,j,w) where w is the window size that the dissonance is relative to. I guess that there are many valid and useful dissonance functions, depending on taste. diss(x) = integral of integral of A(i,j)*x(i)*x(j) di dj By infinity, I mean, can we take a harmonic complex tone and change the amplitudes of the partials, to achieve any given sharpness/dullness of the tone? Essentially being able to increase the central moment of spectral denisty without bound. This looks like a job for equalisers... but it requires a signal that has infinitely many partials. Bounded in terms of the dimensions of timbre. For example, dissonance. Can we have a tone which is maximally dissonant? Are there boundaries on the other dimensions of timbre? Apart from A(i,j)=A(j,i) and A(i,i)=0, I don't have much knowledge of what would make a good dissonance function. I can't tell what's maximally dissonant without having a dissonance function first. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Sun, 23 Dec 2007 13:50:04 -0500 (EST) Mathieu Bouchard [EMAIL PROTECTED] wrote: Functions with constant total energy are a convex space. This is like a linear space except it changes one rule: in a vector space, if a,b are scalars and x,y are vectors, then ax+by is a vector. In a convex space, there's the additional restrictions that a+b=1 and a=0 and b=0, Any easy pointers on different spaces for us old Euclidians Matju Cheers, Andy -- Use the source ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Sun, 23 Dec 2007, Andy Farnell wrote: On Sun, 23 Dec 2007 13:50:04 -0500 (EST) Mathieu Bouchard [EMAIL PROTECTED] wrote: Functions with constant total energy are a convex space. This is like a linear space except it changes one rule: in a vector space, if a,b are scalars and x,y are vectors, then ax+by is a vector. In a convex space, there's the additional restrictions that a+b=1 and a=0 and b=0, Any easy pointers on different spaces for us back in 2000-2002 i read a damn lot on MathWorld, but later started reading PlanetMath, and much more recently started using Wikipedia almost to the exclusion of the others. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Sun, Dec 23, 2007 at 10:54:51PM +, Andy Farnell wrote: On Sun, 23 Dec 2007 13:50:04 -0500 (EST) Mathieu Bouchard [EMAIL PROTECTED] wrote: Functions with constant total energy are a convex space. This is like a linear space except it changes one rule: in a vector space, if a,b are scalars and x,y are vectors, then ax+by is a vector. In a convex space, there's the additional restrictions that a+b=1 and a=0 and b=0, Any easy pointers on different spaces for us old Euclidians Matju I am definately no expert in this area, but this guy and his ideas always fascinated me as an alternative to Euclidean geometry: http://en.wikipedia.org/wiki/Riemann http://en.wikipedia.org/wiki/Riemannian_manifold http://en.wikipedia.org/wiki/Riemannian_geometry Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Fri, 23 Nov 2007, Charles Henry wrote: When I look at that previous post, I realize that the notation/concepts were confusing at the least, and abusive at the worst. It's not an easy topic to work with. A more concrete example: we could take a trumpt and violin, two instruments with distinct timbres. We cannot mix them together as signals to produce a new, unified timbre. This is because you have trained yourself to recognise the violin, and you have trained yourself to recognise the trumpet. There is nothing inherent to the timbre that enables you to say that. There is not even something that you can find in one spectrum to tell whether it is a single note or several of them -- you can only guess, and some spectra may look more chordish, but still any spectrum can be considered as a possibly infinite number of sine wave instruments played at once. You would perceive them as a combination of two timbres, that cannot be condensed into a single instrument, because they are so distant from one another in timbre. However, we could deform one instrument to another. Suppose we had a good phase unwrap function, unwrap(G(f)) Example: z(t,a)=ifft(unwrap(X(f))^a*unwrap(Y(f))^(1-a)) Then, we have a way to deform one spectrum into the other. Anyhow, see what you think... There are two definitions of timbre in use: one that is equivalent to spectrum, and one which is everything except amplitude and frequency, the latter of which can include the evolution of the relative spectrum of a note over time, as well as the envelope of the amplitude, etc. This makes a lot more details that you can train yourself with, and makes it easier to distinguish two sounds. There is no way you can play a single note that glides from a timbre (of the latter kind) to another and retain the full characteristics of both. It will only keep the attack of the first timbre, and as the attacks tend to be more special than the rest of the spectra, it's much more difficult to recognise the second timbre (of the latter kind). For plain spectra (timbres of the first kind), I fully understand what you mean, though 0^anything is pretty much nothing at all, and just as much if you multiply it with anything else, and furthermore, Jethro Tull has computed that one white duck divided by 0^10 is also nothing at all. Somehow, you can't ramp decibels linearly (raw amplitudes exponentially) from minus infinity to anything, so, you will have to give up on that and find something else, like ramping raw amplitudes linearly or according to phons or another kind of pseudo-log. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
to my relief, there was something in this thread that i understood :) and they're fun too, the little buzzers. thanks for sharing. cheers, robbert Charles Henry [EMAIL PROTECTED] wrote: when I started using pd, I tried to make some complex tones, where I could shift the partials around while keeping pitch constant. It didn't work. But I messed with it enough to make electronic sicadas (attached) ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Dec 2, 2007 11:52 PM, Charles Henry [EMAIL PROTECTED] wrote: I would consider this function and its translations to be a convenient basis for the set of continuous band-limited compact functions. It is mainly useful because it allows this sampling property. If we sample the function on frequency N, we can re-create the original continuous function, by convolution of g(t) with a series of kronecker-delta functions with coefficients of the samples. That's a mistake in reasoning, there. This is a property of the sinc function. It doesn't work the same for the compact function g(t) mentioned. e.g. with a function that is sin(1.5*x) over [-pi;+pi) and 0 elsewhere, the spectrum has a dirac at frequency 1.5/2pi and is 0 elsewhere, right? The function you mention is not band-limited. It has a discontinuity at x=pi, which means that it has infinite frequency content. There is also a discontinuity at x=-pi. I guess this ones needs to be computed. F( sin(1.5x)*(-pixpi) )= integral(-pi, pi, e^(2*pi*i*f*x)*(1/2i)*(e^(1.5*i*x)-e^(-1.5*i*x)dx ) =integral(-pi, pi, (1/2i)*(e^( (1.5+2*pi*f)*i*x)-e^( (-1.5+2*pi*f)*i*x)dx ) = -1/(2*(1.5+2*pi*f))*(e^( (1.5+2*pi*f)*i*x)+1/(2*(-1.5+2*pi*f))*(e^( (-1.5+2*pi*f)*i*x), evaluated at x=-pi, x=pi = -1/(3+4*pi*f)*(e^(1.5*i*pi+2*pi^2*i*f)-e^(-1.5*i*pi-2*pi^2*i*f)) + 1/(-3+4*pi*f)*(e^(-1.5*i*pi+2*pi^2*i*f)-e^(1.5*i*pi-2*pi^2*i*f)) = i/(3+4*pi*f)*(e^(2*pi^2*i*f)+e^(-2*pi^2*i*f)) + i/(-3+4*pi*f)*(e^(2*pi^2*i*f)+e^(-2*pi^2*i*f)) = i*((-3+4*pi*f)+(3+4*pi*f))/( (4*pi*f)^2 - 9)*2*cos(2*pi^2*f) = i*8*pi*f / ( (4*pi*f)^2 - 9) * cos(2*pi^2*f) The spectrum has two poles at f=+/- 3/(4*pi). The angular frequency is 1.5 rad/sec at the poles, and the spectrum falls off asymptotically to 1/f. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Fri, 23 Nov 2007, Patrice Colet wrote: Symmetric chords has as much tones as it has notes, diminished chords, has four fundamentals, also a minor seven chord might be relative with three major scales, and we have the choice between different chords with the same bunch of notes. eg: A C E G is both Am7, and C6 (C E G A), or Ok, but this is modulo octaves, so, there's no indication of actual frequency: 440*2=440 and 440/2=440 in that little world. And we were not really talking about the traditional music theory vision of a fundamental. I believe that we were using it to refer to a possibly hidden gcd (pgcd in French) frequency-wise, a highest common undertone, that can be applied to any combination of notes, so that for example, in ACEG it is à priori worthwhile to consider the highest common undertone of AC, AE, AG, CE, CG, EG, and then ACE, ACG, AEG, CEG, and then ACEG. Highest common undertone is quite similar to looking at ratios such as 3/2 for a fifth, 5/4 for a major third, ... except it relativises it with the actual pitch, because in practice a treble major chord is a lot more consonant than a bass major chord, for example. (i asked myself the question: why do bassists so seldom play chords?...) FM7 (F A C E G) or G13 (G B D F A C E)... Those two are only chords containing the original chord. They contain all of the same relationships, but they also contain additional relationships. Hardness of understanding increases when window size diminishes, like a blues we could play with only one scale with a little understanding, or all scales with applying knowledge of harmony all along the twelve bars structure. This is vaguely related to Heisenberg-style uncertainty: you have a limited number of hints in order to decode a melody, and if there are too few of them, you can't figure out. But Heisenberg's is only about waves. Originally it's only about wavicles (wavy particles at atomic level), it's been generalised to sampling of all waves, and I guess it could be faithfully generalised to some other transforms than Fourier's, but what I'm saying here about melodies is ultra-loosely-connected to Heisenberg. It's actually closer to reading or hearing words in a language and not knowing which language it is yet: if you read the word «information» it could be either French or English; if you hear the French word «information» it could also be Bokmål's «informasjon» and you wouldn't know unless you can really tell apart Bokmål's accent from all native French accents just by hearing that word. That said, meaning-wise for that word, it's pretty much all the same no matter the language. There are better examples. Within one language, there are homophones and homonyms. The homophones depend on the accent. In my accent and vocabulary, French «bosse», English «boss» and English «bus» all sound the same, and the latter two can occur in my French sentences. If I just say one word, the meaning can't be guessed further than finding a set of several possibilities. Melodies and scales are a lot more regular than the seemingly random associations of phonemes with meanings, but still, they have some of the discrete aspects that are somewhat oblivious to Heisenberg/Fourier. The only thing that is in common there, is what is called under-determination, and also what I'd call progressive determination: each note played can tell you a bit more about the scale in use and the way that the scale is being used and such, or about what could be a change of scales that has occured but has not been confirmed by the listener's interpretation yet (happens more in solo single-note than when extra notes give a much more immediate indication of what's going on). and also, a theory of musical understanding should be resistant to detuning, because many forms of detuning are used in music and yet humans can automatically figure out what the fundamental is _intended_ to be (rather than what it is physically). Dominant chords can contain all the notes that aren't into the fundamental chord, so we know by experience that the moment after this dissonant ambiance, No, we were thinking specifically about close detunings, all those intervals that are confused with a much simpler interval, and usually, which *should* be confused. It's the basis of logarithmic temperaments: 2^(7/12) is over 0.1% off from 3/2, and that's one of the best-matching intervals relative to just temperaments. So, my question is, how do we deal with that? When is a major third played like 2^(1/3) considered to be an approximation of 5/4, and when is it considered to be an approximation of 81/64 or some other? _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
Mathieu Bouchard a écrit : No, we were thinking specifically about close detunings, all those intervals that are confused with a much simpler interval, and usually, which *should* be confused. It's the basis of logarithmic temperaments: 2^(7/12) is over 0.1% off from 3/2, and that's one of the best-matching intervals relative to just temperaments. So, my question is, how do we deal with that? When is a major third played like 2^(1/3) considered to be an approximation of 5/4, and when is it considered to be an approximation of 81/64 or some other? Here we see how rythm and harmony behaves differently for our perception. If all intervals in a chord has the same ratio contained in their harmonics, the chords looses energy by consonnance, and even worst, we couldn't hear a distinction between notes, while in rythms if sounds aren't played accurately together, it would become harder for the listener to make a distinction of the structure. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Fri, 23 Nov 2007, Charles Henry wrote: The theory (dynamical systems/pitch) is actually good for this too. There is a slight pitch shift when the frequency ratios become slightly detuned, but the overall fundamental produced is reliable under detuning. In a nutshell, how does it work? E.g. I have a tone at 200 Hz and another at 301 Hz and we want it to believe that it's a fifth, that the fundamental is 100.16 Hz or so, and perhaps also that the fifth interval is good within 0.33% and that the fundamental is good within 0.16%. Like using the mod 12 arithmetic, or other groups? Or making loops (using finite groups)? I think I can see how it would be useful. The whole idea was confusing to me in the first place... it still is. Yes, but it can also be various things other things: for example it could lack closure, such as the [0;1] interval, or the half line (unless you restrict it to multiplication). You may also decide to work with Q (and in a computer implementation, you may also decide to work with true numerators and denominators instead of floats) Because Q is a field, it can be used to construct true vector spaces, and because it's a suitable enough ring, it can be used to construct some kind of complex numbers: Q[x]/(x^2+1) sounds perfectly reasonable, and btw, so does Z[x]/(x^2+1). Beside the complex numbers themselves, modulos of various kinds can be useful, and not just discrete ones. An especially important example is R/(2*pi*Z), the ring of all distinct angles in radians. Likewise for R/Z. It's useful to make Z act upon both of these too (Group Actions). It may be more convenient to just use the unit circle of the complex plane instead, depends. Overall, I want to say that what's important is to imitate the hearing of sounds, not to imitate what individual neurons do nor what we think they do. Let's say the brain might work only with sigmoid-clipped matrix products with approximate real numbers (they don't, but computer neural networks do). Then it's possible that you are better off using a structure that does more directly what you want (relative to what you know and how you think), rather than whatever contorsion of the same thing a billion years of random mutations has come up with. PacMan :) I would take two variables to parameterize the surface a1 on [0,1) and a2 on [0,1) and use x=cos(2*pi*a1)*(2+cos(2*pi*a2), y=sin(2*pi*a1)*(2+cos(2*pi*a2), z=sin(2*pi*a2) You don't have to embed it in a non-modulo space, especially if computing things in terms of x,y,z is more complicated than in terms of a1,a2. If you already plan to compute directly in the a1,a2 square, then I don't know what x,y,z are for. My reasoning was that we can create 1-1 functions on a subset of the continuous functions to R^N. So, if your subset of continuous functions is isomorphic to R^N, what's the basis of your subset? And more importantly, when you say band-limited, what kind of spectral analysis is it relative to? Does compact in time mean that your function is zero everywhere outside of an interval, or that it is periodic? If it's periodic, then you end up with a finite number of frequencies, but else, you still have an infinite number of possibilities in a compact set of frequencies, because the frequencies in-between the supposed harmonics are not aliased to a specific weighting of harmonics: e.g. with a function that is sin(1.5*x) over [-pi;+pi) and 0 elsewhere, the spectrum has a dirac at frequency 1.5/2pi and is 0 elsewhere, right? Did you get into algebraic psychology yet? That's the first time I've ever read those words put together. I haven't read anything on the topic, only stumbled upon the name at one point, and just the combination of the two words impressed me. I should look it up, in case it can tell me what are the eigenvectors of my thought patterns. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
The problem with my examples, which I thought were bad was that sometimes, I was using x(t) and y(t) as if they were signals, which can be added and subtracted, and sometimes as vectors as functions of time in an abstract timbre space. Some of the presumed dimensions of timbre are things like consonance/dissonance, formant location, which seem to be consistent with the loose definition of timbre. I have to be more careful, so I don't bullshit myself out of existence or make some other bad argument :) I think that you are right that it can't be all done within a linear framework: there needs some slight mangling of a linear space to do the work. On the signals level, we could have a non-linear manifold in a Hilbert space. Sets of functions with constant total energy and identical pitch, for example. Then, psychoacoustics represents the map of this space into timbre space (a psychological space). If we start with the assumtion that timbre space is a linear vector space, the psychoacoustical mapping function has to be pretty wild. On the other hand, we can map a sphere onto a plane with fixed boundaries (not a vector space), without any trouble. Oh, well, you could do most of the work using a linear space, and then at the last possible moment, divide the space by products by a positive real, so that there is one element per possible direction (or by any real, so that there is one element per possible axis). This could be called R[x]/R+ or R[x]/R respectively. Also, this could be called spherical space and projective spherical space, respectively. You could also suppose that the fundamental's amplitude is always 1, which is another way to give you exactly one element for all possible loudnesses of a sound that is otherwise the same. This is also better because then it ensures that it's a unique timbre, as you can't set all odd harmonics to 0 in such a situation (this would have allowed you to pretend a 440 Hz sound is also a 220 Hz sound and such). Also, sometimes affine spaces are easier to work with than quotient spaces even if you use those quotient spaces as little as possible. A neato aspect of R[x]/R+ is that even though vector addition doesn't work on it, vector multiplication by matrix works quite well, and for example R^42/R+ can be acted upon by SO(42,R) and most any other matrix group... although SO(42,R) is the most tightly fitting matrix group in this case: SO matrices preserve the L2-norm of vectors, so what nicer thing can there be for a set of pseudo-vectors in which L2-norm has been made irrelevant? If you are using the affine space, you can't simply add and you can't simply multiply by a scalar: instead, the fundamental operation is the convex sum of vectors: as a single operation, you add together any number of vectors, weighted, where the total weight has to be 1, so that the amplitude of the fundamental sticks to 1. This makes good sense to me. The operators on this space are still a little fuzzy, though. OK, so how about linearity? If we take two timbres x(t) and y(t), then we can construct a timbre z(t,a)=ax(t)+(1-a)y(t) (0=a=1) which interpolates between x and y. This is a special case of the convexity requirement. And let's take a particularly bad example. We'll take x(t) to be a harmonic series. Then, we'll let y(t) be the same harmonic series, with a single mis-tuned partial, while keeping pitch constant. Then z(t) becomes dissonant moving between x(t) and y(t), even though dissonance was not significant in x(t) or y(t). I don't quite understand how this works. Can you make a version of this example with actual figures? suppose f(t) is a complex tone with frequencies of 100, 200, 300, 400, 500 and g(t) has frequencies of 100, 200, 330, 400, 500 Then, when we mix the two tones together there is dissonance between the frequencies of 300 and 330, which wasn't present in either of the two tones. Can we move the central moment of spectral density all the way to infinity while keeping pitch constant? What do you mean to infinity ? Anyway, it depends on how perceptual you are trying to be, supposing that we don't argue on the meaning of to infinity. One kind of dimension of timbre is the sharpness/dullness of a tone, based on the distribution of spectral energy among the components. By infinity, I mean, can we take a harmonic complex tone and change the amplitudes of the partials, to achieve any given sharpness/dullness of the tone? Essentially being able to increase the central moment of spectral denisty without bound. If the space of timbres is bounded, then it cannot be a vector space (because it fails to be closed under scalar multiplication). You mean bounded how? bounded in amplitude or in frequency? if it's bounded in frequencies, it's still linear. but you sound like you mean it'd be bounded in amplitude, which wouldn't be as much linear, but the spherical space above would make this
Re: [PD] tabread4~~
On Tue, 20 Nov 2007, Kyle Klipowicz wrote: I suppose my comment was leakage of some of my thoughts about my own musical production and how ultimately burned-out I've become from over-intellectualized sound design. My main concern is that when people get so far into mathematizing music there is an emotional connection that is severed and everything sounds like it was made by Vulcans. It's not about getting far, it's about getting lost. You can get as far as you want, as long as you keep a string that connects you back outside of the maze, just like Ariadne. I haven't heard Vulcan music before so I can't comment on that. Are you suggesting that Vulcans don't have emotions? Nothing against brainy music, but it just seems that there's sometimes too much head and not enough heart in the computer music scene. Perhaps it's just not enough right ventricle. In that case, it can be because of failure of the tricuspid valve to close properly, which causes an abnormal and inefficient blood flow. Seriously now, I believe that it's not about head vs heart competing for resources, it's more of a matter of effective collaboration between the head and the heart. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Tue, 20 Nov 2007, Chris McCormick wrote: So you're saying that if someone makes good art and they are ignorant, then we should take their lead and try to be more ignorant? Exactly. The more you use your mind, the more you single yourself out. Because everybody always needs more friends and more approval, they should all make the most ordinary and uncontroversial music possible. (yes, this is sarcasm) For me it doesn't follow that if most musicians don't understand mathematics and their music is still good, then we should all aspire to not understand mathematics. I think that people first believe that we should all aspire to not understand mathematics, and then they structure the rest of their lives accordingly... if you ever see if X then we should all aspire to not understand mathematics then this most likely is an after-the-fact justification, a decision in search of reasons. You can get lost in the mathematics and never be able to communicate with an audience of anyone but geeks (self included). Yes, I think that's true. The big problem with conceptual music, is that it gets lost in how the concepts connect back to the actual music. The first principle of making music is that it should sound good in some way according to some people. This is the ultimate measure of all music. If you make music that is not validated by listening, it's not music. There has to be the feedback of does it sound good? at all time. For interactive music and other forms of music that use some source of data, it's even harder, as it has to both sound good and seem related to the source of data. If it doesn't seem related, it means that your patch is garbling the data beyond repair and so you may as well pretend that you are not using that source of data. Sometimes in understanding something more fully and on multiple levels, we can deliver an artistic experience that is understood by our audiences, or makes them dance, or moves them, even more easily and fully than if we had less understanding. Yes, but it also requires the will to have a certain audience taking you in a certain way and the consciousness required to connect that will with the understanding. I'm guilty of sometimes writing esoteric algorithmic maths music, but I like to think that on those often horrible sounding explorations I gain a greater understanding into what it takes to really make a booty shake. :) But in the end, you don't need to make a booty shake: it could be satisfying to make something just sound good in any other way; it could also be your goal to make music where the process of making it is the end product, instead of the actual sound: in that case you can bypass a lot of the sounding good part. People are more forgiving about the actual sound, if there is something else to your performance-or-artwork that they can give some attention to. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Fri, 23 Nov 2007, Charles Henry wrote: First off, we need a loose definition of timbre--timbre is the quality by which two sounds may be distinguished, where pitch, loudness, and onset time are the same. (in terms of signals, we have just described a non-linear space in the first place { s(t) such that |s(t)|^2 = E }... but we're not just talking about signals, we mean the sound experience itself) I think that you are right that it can't be all done within a linear framework: there needs some slight mangling of a linear space to do the work. Oh, well, you could do most of the work using a linear space, and then at the last possible moment, divide the space by products by a positive real, so that there is one element per possible direction (or by any real, so that there is one element per possible axis). This could be called R[x]/R+ or R[x]/R respectively. Also, this could be called spherical space and projective spherical space, respectively. You could also suppose that the fundamental's amplitude is always 1, which is another way to give you exactly one element for all possible loudnesses of a sound that is otherwise the same. This is also better because then it ensures that it's a unique timbre, as you can't set all odd harmonics to 0 in such a situation (this would have allowed you to pretend a 440 Hz sound is also a 220 Hz sound and such). Also, sometimes affine spaces are easier to work with than quotient spaces even if you use those quotient spaces as little as possible. A neato aspect of R[x]/R+ is that even though vector addition doesn't work on it, vector multiplication by matrix works quite well, and for example R^42/R+ can be acted upon by SO(42,R) and most any other matrix group... although SO(42,R) is the most tightly fitting matrix group in this case: SO matrices preserve the L2-norm of vectors, so what nicer thing can there be for a set of pseudo-vectors in which L2-norm has been made irrelevant? As such, it cannot be silence. And if silence is not a timbre in our space, what is the additive identity? The additive identity of x(t) most closely resembles x(t) itself, since loudness is irrelevant. If you are using the affine space, you can't simply add and you can't simply multiply by a scalar: instead, the fundamental operation is the convex sum of vectors: as a single operation, you add together any number of vectors, weighted, where the total weight has to be 1, so that the amplitude of the fundamental sticks to 1. OK, so how about linearity? If we take two timbres x(t) and y(t), then we can construct a timbre z(t,a)=ax(t)+(1-a)y(t) (0=a=1) which interpolates between x and y. This is a special case of the convexity requirement. And let's take a particularly bad example. We'll take x(t) to be a harmonic series. Then, we'll let y(t) be the same harmonic series, with a single mis-tuned partial, while keeping pitch constant. Then z(t) becomes dissonant moving between x(t) and y(t), even though dissonance was not significant in x(t) or y(t). I don't quite understand how this works. Can you make a version of this example with actual figures? Can we move the central moment of spectral density all the way to infinity while keeping pitch constant? What do you mean to infinity ? Anyway, it depends on how perceptual you are trying to be, supposing that we don't argue on the meaning of to infinity. If the space of timbres is bounded, then it cannot be a vector space (because it fails to be closed under scalar multiplication). You mean bounded how? bounded in amplitude or in frequency? if it's bounded in frequencies, it's still linear. but you sound like you mean it'd be bounded in amplitude, which wouldn't be as much linear, but the spherical space above would make this issue moot anyway. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Fri, 23 Nov 2007, Mathieu Bouchard wrote: there is one element per possible axis). This could be called R[x]/R+ or R[x]/R respectively. Also, this could be called spherical space and projective spherical space, respectively. Everywhere where I said R[x], please replace by R^N, which is assumed to be a vector space. R[x] can be used as a vector space, but it's mainly considered as a ring (R^n extended with a vector*vector product), so it can get confusing sometimes. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
Hello, I'd like to add some 0.5 cents experiment... Mathieu Bouchard a écrit : On Tue, 20 Nov 2007, Charles Henry wrote: Yes, but there is evidence for the fundamental bass that occurs between pairs of notes, with a strength dependent on those ratios. Complex harmonies could have multiple fundamentals. It's a mystery to me how harmony/rhythm work at a fundamental level. Well, so far, most of the time you see fundamental, there's only one at a time, for each block of music you want to figure out the fundamental of. Symmetric chords has as much tones as it has notes, diminished chords, has four fundamentals, also a minor seven chord might be relative with three major scales, and we have the choice between different chords with the same bunch of notes. eg: A C E G is both Am7, and C6 (C E G A), or FM7 (F A C E G) or G13 (G B D F A C E)... This is what you are explaining later: But different fundamentals can be extracted for any given interval, and those intervals can be a window sliding through time, looking at any dinote (pair of notes), and there can be multiple windows of different sizes that account for different levels of human memory and of musical understanding... (?) I think that we could analyse music using whole networks of fundamentals... Hardness of understanding increases when window size diminishes, like a blues we could play with only one scale with a little understanding, or all scales with applying knowledge of harmony all along the twelve bars structure. and also, a theory of musical understanding should be resistant to detuning, because many forms of detuning are used in music and yet humans can automatically figure out what the fundamental is _intended_ to be (rather than what it is physically). Dominant chords can contain all the notes that aren't into the fundamental chord, so we know by experience that the moment after this dissonant ambiance, the next sound will be different but nearly the one we've heard before,. From fundamental the dominant chord contains the nearest intervals, the fifth and the fourth are mathematicaly the simpliest non-integer intervals, the seventh is the preceding frequency of the fundamental in tempered major scale (when 9b is used it goes more complicated...). The topology bullshit was plainly bullshit. But I was trying to stretch what I know, and try to see a way for song-structure and rhythm to take on more than one dimension. The fundamental appear in harmony once we know an amount of informations determinded by edges expressed with rythm. Following the dominant == fundamental motion explained just before, odd beats would contain fundamentals and even beats would contain dominants. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Nov 23, 2007 7:15 AM, Mathieu Bouchard [EMAIL PROTECTED] wrote: On Sat, 17 Nov 2007, Uur Güney wrote: An example of sound producing mechanism is plucked and vibrating string (or vibrating membrane) It is a continuum and so has infinite dimensions. It's not because it's a continuum, that it has infinite dimensions. Real numbers form a continuum, but have only 1 dimension. The set of all possible continuous functions over a given finite interval, forms a continuum that has infinitely (countably) many dimensions. This continuum also happens to include some simple (Fourier-compatible) discontinuities as well. (Including all possible discontinuities is another story.) Physical sounds can be understood to have no discontinuities, as several factors tend to low-pass the sound enough to remove discontinuities. # Ok. I got it. Thanks for clarification. # Once I asked to my Non-linear Dynamics teacher. Isn't the shape of a string a 1D function of its length? Why we are calling it as continuum? And she said that: A simple harmonic oscillator makes a 1D motion (in time). It goes back and forth. You can approximate a string as N connected harmonic oscillator lying along a line. if N goes to infinity we'll have a SHO at every point in space, which makes a 1D motion in time. And this is a field, and hence it is a continuum. # This is in accordance with your definition, an ideal string can have any shape, so its possible shapes form the set of all possible continous functions over its length. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
I feel absolutely certain that I can convince you that timbre is *not* a vector space, using only the defining properties of a vector space. Ok, let's do that. How do you prove it? With another little thought experiment. If I can't convince you, I'll eat my words (yum) First off, we need a loose definition of timbre--timbre is the quality by which two sounds may be distinguished, where pitch, loudness, and onset time are the same. (in terms of signals, we have just described a non-linear space in the first place { s(t) such that |s(t)|^2 = E }... but we're not just talking about signals, we mean the sound experience itself) Key properties of a vector space are: a) associative b) commutative c) There exists an additve identity d) There exists an additive inverse e) linearity (the space is closed under addition and scalar multiplication) No prob: we will define x(t) and y(t) as timbres. O(t) is the origin timbre. Already, we run into a little problem as a vector space. It's clear we can define an additive inverse of a timbre x(t) as O(t)-x(t). But what is O(t)? Since O(t) is a point in our space, it must have loudness and pitch. As such, it cannot be silence. And if silence is not a timbre in our space, what is the additive identity? The additive identity of x(t) most closely resembles x(t) itself, since loudness is irrelevant. Now if we include an inner product on our vector space, we can create orthogonal dimensions of timbre, which depends on the location of O(t). We can have a space which is the orthogonal complement of a vector x(t). How can we be certain that O(t) is in the center of our space? If we move O(t), we would also be changing the orthogonal complement of x(t). (this is not such a bad problem) OK, so how about linearity? If we take two timbres x(t) and y(t), then we can construct a timbre z(t,a)=ax(t)+(1-a)y(t) (0=a=1) which interpolates between x and y. And let's take a particularly bad example. We'll take x(t) to be a harmonic series. Then, we'll let y(t) be the same harmonic series, with a single mis-tuned partial, while keeping pitch constant. Then z(t) becomes dissonant moving between x(t) and y(t), even though dissonance was not significant in x(t) or y(t). Lastly, is our space bounded? Can we find a certain maximum dissonance/consonance? Can we move the central moment of spectral density all the way to infinity while keeping pitch constant? If the space of timbres is bounded, then it cannot be a vector space (because it fails to be closed under scalar multiplication). These are just some of the things I have been thinking about when it comes to timbre. My general view of the auditory system is that it is a huge mish-mash of non-linearities. Now, the approach of psychoacoustics has often been to treat those non-linearities one at a time, as if they don't intersect with each other. That's fine for proving an effect occurs (in fact it's preferrable to having umpteen million variables to consider), but when you start putting them all together from experiments that weren't designed as such, you're bound to miss the ways the non-linearities interact with each other. However, getting from A to B, and showing this is true would take an exquisitely designed experiment, a real work of art :P That's a detail :-P Especially as I believe that timbre is a vector space. This is as long as we agree that timbre is a reduced form of the spectrum of a periodic sound, and not the more complicated things that happen with attacks, nor the whole range of an instrument. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Nov 22, 2007 11:55 PM, Mathieu Bouchard [EMAIL PROTECTED] wrote: On Tue, 20 Nov 2007, Charles Henry wrote: Yes, but there is evidence for the fundamental bass that occurs between pairs of notes, with a strength dependent on those ratios. Complex harmonies could have multiple fundamentals. It's a mystery to me how harmony/rhythm work at a fundamental level. Well, so far, most of the time you see fundamental, there's only one at a time, for each block of music you want to figure out the fundamental of. But different fundamentals can be extracted for any given interval, and those intervals can be a window sliding through time, looking at any dinote (pair of notes), and there can be multiple windows of different sizes that account for different levels of human memory and of musical understanding... (?) I think that we could analyse music using whole networks of fundamentals... Actually what I'm referring to is the dynamical systems perspective on pitch perception that I keep harping on about (work by Julyan Cartwright and colleagues, and articles from Chialvo). It's the only analysis I've seen that gives some kind of outside support for the perception of a fundamental bass. For example, Schenker analysis is a well-developed music analysis technique, but I haven't personally read any support for it, outside of music theory. and also, a theory of musical understanding should be resistant to detuning, because many forms of detuning are used in music and yet humans can automatically figure out what the fundamental is _intended_ to be (rather than what it is physically). The theory (dynamical systems/pitch) is actually good for this too. There is a slight pitch shift when the frequency ratios become slightly detuned, but the overall fundamental produced is reliable under detuning. The topology bullshit was plainly bullshit. But I was trying to stretch what I know, and try to see a way for song-structure and rhythm to take on more than one dimension. There are many discrete or semi-discrete phenomena in construction of music, so using the Reals, an uncountable noncompact continuum, is pretty counterproductive. Instead of trying to use cartesian powers of the Reals in some form, try cartesian products of different algebraic structures that you will not use as (math) vectors. Like using the mod 12 arithmetic, or other groups? Or making loops (using finite groups)? I think I can see how it would be useful. The whole idea was confusing to me in the first place... it still is. I have started working on a patch lately to simulate the trajectory of a particle as it flies across the surface of a torus Are you doing it in terms of a particular embedding with a particular curvature of the space, or do you use a modulo-Euclidean space in the style of PacMan ? PacMan :) I would take two variables to parameterize the surface a1 on [0,1) and a2 on [0,1) and use x=cos(2*pi*a1)*(2+cos(2*pi*a2), y=sin(2*pi*a1)*(2+cos(2*pi*a2), z=sin(2*pi*a2) or using cylindrical coordinates theta=2*pi*a1, r=2+cos(2*pi*a2), z=sin(2*pi*a2) That's just the thing I was getting at. We have music as a function from 1-D into the space of all possible sounds. Assuming the space of sounds is band-limited and compact in time, it is actually a finite dimension (a gigantically huge finite dimension). Not necessarily... if you fit all sounds in one master period, yes, but if you are using a continuum of frequencies, you have a continuum of possible dimensions. The finite dimensions of the FFT (and of other discrete interval transforms) are because there is a master fundamental frequency (that is not zero). My reasoning was that we can create 1-1 functions on a subset of the continuous functions to R^N. If we have a function on a finite interval which is also band-limited, we can map this space onto the coefficients of a finite fourier series. All of the non-integer frequencies on the continuum still exist, but the spectrum can be sampled. When we have a real-valued continuous function on the interval [0,T), we can sample the spectrum on 1/T without losing any information. Just like when we have a complex function (a spectrum) on the interval [-fs/2,fs/2) or any other half-open inteval, we can sample in the time domain on 1/fs seconds, without losing information, as long as we know the interval of the spectrum. But then, there's the psychological space, which has drastically fewer dimensions, and they're not linear. Did you get into algebraic psychology yet? That's the first time I've ever read those words put together. That sounds interesting. I can see that A Functional Theory of Cognition by Norman H. Anderson deals with this topic.. Chuck ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Fri, 23 Nov 2007, Uur Güney wrote: And she said that: A simple harmonic oscillator makes a 1D motion (in time). It goes back and forth. You can approximate a string as N connected harmonic oscillator lying along a line. if N goes to infinity we'll have a SHO at every point in space, which makes a 1D motion in time. And this is a field, and hence it is a continuum. # This is in accordance with your definition, an ideal string can have any shape, so its possible shapes form the set of all possible continous functions over its length. If she means Field as in Corps (fr) or Körper (de), then that's not necessarily a continuum. There are many finite fields, which are fields because they have regular +-*/, but still don't have fractions, because they work modulo-style. Infinite fields that contain all integers (Z) also contain all rationals (Q). Q is a field already. You can extend Q quite a lot without ever getting to a continuum: add various square roots, cube roots, other roots, ... if you add all possible results of root operations, you get to the Algebraic Numbers, which are still not a continuum. You need to also add all limits of sequences before you get to a continuum. Depending on your mathematical religion, the continuum is either non-countable, or non-countability does not exist (i'm of the latter belief nowadays). The idealness of a string depends on whether you base your ideas on classical physics or quantum physics. In the former, each harmonic has a real amplitude, whereas in the latter, you have a energy step proportional to the frequency and the amplitude is integer when expressed in units of the energy step. The latter theory is known to be more accurate, but when your string is not microscopic, you have no chance of noticing the difference, as steps are very small. Still, the total energy of a string can always be expressed as an integer multiple of the energy step of the fundamental frequency of the string. Making an infinite number of integer dimensions may get you to non-countability of possible states (if you believe in it), but it still doesn't get you to a continuum. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Nov 23, 2007 10:16 AM, Charles Henry [EMAIL PROTECTED] wrote: I feel absolutely certain that I can convince you that timbre is *not* a vector space, using only the defining properties of a vector space. Ok, let's do that. How do you prove it? With another little thought experiment. If I can't convince you, I'll eat my words (yum) When I look at that previous post, I realize that the notation/concepts were confusing at the least, and abusive at the worst. It's not an easy topic to work with. A more concrete example: we could take a trumpt and violin, two instruments with distinct timbres. We cannot mix them together as signals to produce a new, unified timbre. You would perceive them as a combination of two timbres, that cannot be condensed into a single instrument, because they are so distant from one another in timbre. However, we could deform one instrument to another. Suppose we had a good phase unwrap function, unwrap(G(f)) Example: z(t,a)=ifft(unwrap(X(f))^a*unwrap(Y(f))^(1-a)) Then, we have a way to deform one spectrum into the other. Anyhow, see what you think... Chuck ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Sat, 17 Nov 2007, Uur Güney wrote: But the musical data of composition (in the mind of the composer), or the sound producing mechanisms are not one dimensional. The composer builds its ideas not on one dimensional space but she has structures which may have certain hiyerarchies or orderings. For example, if there is harmony, there are more than one voice. Two voice works are two dimensional vector functions of one variable (time) (if we are at the abstraction layer of notes) An example of sound producing mechanism is plucked and vibrating string (or vibrating membrane) It is a continuum and so has infinite dimensions. It's not because it's a continuum, that it has infinite dimensions. Real numbers form a continuum, but have only 1 dimension. The set of all possible continuous functions over a given finite interval, forms a continuum that has infinitely (countably) many dimensions. This continuum also happens to include some simple (Fourier-compatible) discontinuities as well. (Including all possible discontinuities is another story.) Physical sounds can be understood to have no discontinuities, as several factors tend to low-pass the sound enough to remove discontinuities. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Tue, 20 Nov 2007, Charles Henry wrote: Yes, but there is evidence for the fundamental bass that occurs between pairs of notes, with a strength dependent on those ratios. Complex harmonies could have multiple fundamentals. It's a mystery to me how harmony/rhythm work at a fundamental level. Well, so far, most of the time you see fundamental, there's only one at a time, for each block of music you want to figure out the fundamental of. But different fundamentals can be extracted for any given interval, and those intervals can be a window sliding through time, looking at any dinote (pair of notes), and there can be multiple windows of different sizes that account for different levels of human memory and of musical understanding... (?) I think that we could analyse music using whole networks of fundamentals... and also, a theory of musical understanding should be resistant to detuning, because many forms of detuning are used in music and yet humans can automatically figure out what the fundamental is _intended_ to be (rather than what it is physically). The topology bullshit was plainly bullshit. But I was trying to stretch what I know, and try to see a way for song-structure and rhythm to take on more than one dimension. There are many discrete or semi-discrete phenomena in construction of music, so using the Reals, an uncountable noncompact continuum, is pretty counterproductive. Instead of trying to use cartesian powers of the Reals in some form, try cartesian products of different algebraic structures that you will not use as (math) vectors. I have started working on a patch lately to simulate the trajectory of a particle as it flies across the surface of a torus Are you doing it in terms of a particular embedding with a particular curvature of the space, or do you use a modulo-Euclidean space in the style of PacMan ? That's just the thing I was getting at. We have music as a function from 1-D into the space of all possible sounds. Assuming the space of sounds is band-limited and compact in time, it is actually a finite dimension (a gigantically huge finite dimension). Not necessarily... if you fit all sounds in one master period, yes, but if you are using a continuum of frequencies, you have a continuum of possible dimensions. The finite dimensions of the FFT (and of other discrete interval transforms) are because there is a master fundamental frequency (that is not zero). But then, there's the psychological space, which has drastically fewer dimensions, and they're not linear. Did you get into algebraic psychology yet? I feel absolutely certain that I can convince you that timbre is *not* a vector space, using only the defining properties of a vector space. Ok, let's do that. How do you prove it? However, getting from A to B, and showing this is true would take an exquisitely designed experiment, a real work of art :P That's a detail :-P Especially as I believe that timbre is a vector space. This is as long as we agree that timbre is a reduced form of the spectrum of a periodic sound, and not the more complicated things that happen with attacks, nor the whole range of an instrument. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Tue, 20 Nov 2007, Kyle Klipowicz wrote: Uhm, just the fact that the majority of musicians don't even know what topology is, yet their music still sounds great, is enough for me to believe your conjecture. Most musicians don't use pd. What does that mean about the usefulness of pd? You can get lost in the mathematics and never be able to communicate with an audience of anyone but geeks (self included). That's not necessarily a problem, but one has to choose an audience that goes with the music that has been composed, or compose music that goes with the chosen audience. Of course, if you want to be bitter and elitist and feel that the audience needs to take a complex analysis class to 'get' your music...but the ladies still dance more to a hard hitting beat or a good ol' melody. Dancing in clubs is not all what ladies do with music, and it's not all that music is for, even according to ladies. (Do you want to reopen the thread on sexism too?) _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On 21 Nov 2007, at 3:47 AM, Kyle Klipowicz wrote: You can get lost in the mathematics and never be able to communicate with an audience of anyone but geeks (self included). Music is communication, so as musicians we have a responsibility to communicate in a language that is understood by our audiences. Of course, if you want to be bitter and elitist and feel that the audience needs to take a complex analysis class to 'get' your music...but the ladies still dance more to a hard hitting beat or a good ol' melody. The structures that that underlie a good piece of work don't need to be understood on a direct analytical level by an audience member, formal structures - mathematical or otherwise - can often help create a work that is more whole and reads better regardless of whether that structure is read directly (if an individual audience member also understands the structure this can add another kind of interest to the work for them). On the other hand it is very important for the artist using formal structures in their work to understand what they are doing. It certainly isn't the only way to make art, but if you are going to go that way then understanding the structures you could use is crucial. And work that is more purely formal, intended only for an audience with a knowledge of and interest in the structures being used, isn't only for the 'bitter and elitist' artist - it is also part of the way artists can share and build techniques, a way to 'talk about' structure and form in a more practical way, perhaps in parallel with formal analysis, perhaps not. This feeds into work for a broader audience and helps the artist and others understand what is going on in their practice. simon ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
Uhm, just the fact that the majority of musicians don't even know what topology is, yet their music still sounds great, is enough for me to believe your conjecture. All this maths talk reminds me about why I've started playing a lot more guitar and focusing on content/lyrics/melody in music. You can get lost in the mathematics and never be able to communicate with an audience of anyone but geeks (self included). Music is communication, so as musicians we have a responsibility to communicate in a language that is understood by our audiences. Of course, if you want to be bitter and elitist and feel that the audience needs to take a complex analysis class to 'get' your music...but the ladies still dance more to a hard hitting beat or a good ol' melody. ~Kyle On Nov 19, 2007 11:06 PM, Mathieu Bouchard [EMAIL PROTECTED] wrote: I don't have the impression that we need topology in order to access all that we need to do what we have to do. So far, I think that the interest of using topology in music is just so that we have topology and music -- - - - -- http://perhapsidid.wordpress.com http://myspace.com/kyleklipowicz ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Sun, 18 Nov 2007, Chris McCormick wrote: On Sun, Nov 18, 2007 at 01:02:16PM -0500, Mathieu Bouchard wrote: Anyway: I don't quite approve of the use of a double-tilde, which was my reason for the joke in the first place. In your opinion, what is a better way of textually representing a [tabread4~] that uses two signals to index a sample table? It's the best name for a [tabread4] that uses two floats to index a sample table, and then you add a single ~. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Tue, Nov 20, 2007 at 10:47:06AM -0600, Kyle Klipowicz wrote: Uhm, just the fact that the majority of musicians don't even know what topology is, yet their music still sounds great, is enough for me to believe your conjecture. All this maths talk reminds me about why I've started playing a lot more guitar and focusing on content/lyrics/melody in music. So you're saying that if someone makes good art and they are ignorant, then we should take their lead and try to be more ignorant? For me it doesn't follow that if most musicians don't understand mathematics and their music is still good, then we should all aspire to not understand mathematics. You can get lost in the mathematics and never be able to communicate with an audience of anyone but geeks (self included). Yes, I think that's true. Music is communication, so as musicians we have a responsibility to communicate in a language that is understood by our audiences. Sometimes in understanding something more fully and on multiple levels, we can deliver an artistic experience that is understood by our audiences, or makes them dance, or moves them, even more easily and fully than if we had less understanding. I'm guilty of sometimes writing esoteric algorithmic maths music, but I like to think that on those often horrible sounding explorations I gain a greater understanding into what it takes to really make a booty shake. :) Of course, if you want to be bitter and elitist and feel that the audience needs to take a complex analysis class to 'get' your music... Just because you are not interested in the conversation, or don't understand it, doesn't mean that other people aren't interested, or that those speaking are trying to be 'elitist'. I really think you are imposing your own feelings onto a discussion between two other people. I think that what Matju and Chuck were discussing was very much on topic, and was quite interesting. Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
I can see how what I said may have been interpreted as being against the discussion, which I'm not. This list is a place for all sorts of dorkiness and that's fine. I suppose my comment was leakage of some of my thoughts about my own musical production and how ultimately burned-out I've become from over-intellectualized sound design. My main concern is that when people get so far into mathematizing music there is an emotional connection that is severed and everything sounds like it was made by Vulcans. Nothing against brainy music, but it just seems that there's sometimes too much head and not enough heart in the computer music scene. Carry on, ~Kyle On Nov 20, 2007 7:33 PM, Chris McCormick [EMAIL PROTECTED] wrote: Of course, if you want to be bitter and elitist and feel that the audience needs to take a complex analysis class to 'get' your music... Just because you are not interested in the conversation, or don't understand it, doesn't mean that other people aren't interested, or that those speaking are trying to be 'elitist'. I really think you are imposing your own feelings onto a discussion between two other people. I think that what Matju and Chuck were discussing was very much on topic, and was quite interesting. -- - - - -- http://perhapsidid.wordpress.com http://myspace.com/kyleklipowicz ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
Hello again, here's the -help file, as i promised. (My apologies to Miller Puckette for stealing the -help files style.. :-)) *** #N canvas 354 145 966 694 12; #X obj 12 615 output~; #X obj 12 432 phasor~ 1; #X obj 12 357 vradio 30 1 0 2 tabread4~~test tabread4~~test empty 0 -8 0 10 -262144 -1 -1 0; #X text 51 362 -- tabread4~; #X text 51 392 -- tabread4~~; #X obj 12 13 tabread4~~; #X text 30 60 The tabread4~~ object takes two audio signals to specify the read position in an array \ which makes it way more precise in longer arrays than the simple tabread4~.; #X text 30 117 BEWARE!!!; #N canvas 466 186 745 640 crossfader 0; #X obj 12 424 +~; #X obj 154 403 *~; #X obj 12 398 *~; #X obj 297 382 line~; #X obj 57 377 line~; #X obj 57 324 == 0; #X obj 12 477 outlet~; #X obj 12 21 inlet~; #X obj 154 21 inlet~; #X obj 297 281 r tabread4~~test; #X msg 57 351 \$1 50; #X msg 297 356 \$1 50; #X obj 257 99 metro 500; #X obj 257 155 tabwrite~ tabread4~_tab; #X obj 258 190 tabwrite~ tabread4~~_tab; #X obj 257 41 loadbang; #X obj 257 71 1; #X connect 0 0 6 0; #X connect 1 0 0 1; #X connect 2 0 0 0; #X connect 3 0 1 1; #X connect 4 0 2 1; #X connect 5 0 10 0; #X connect 7 0 2 0; #X connect 7 0 13 0; #X connect 8 0 1 0; #X connect 8 0 14 0; #X connect 9 0 5 0; #X connect 9 0 11 0; #X connect 10 0 4 0; #X connect 11 0 3 0; #X connect 12 0 13 0; #X connect 12 0 14 0; #X connect 15 0 16 0; #X connect 16 0 12 0; #X restore 12 581 pd crossfader; #X obj 12 456 *~ 44100; #X obj 12 500 +~; #X obj 12 524 +~ 1; #X obj 273 479 sig~; #X obj 273 454 * 44100; #X floatatom 273 432 4 0 1799 0 - - -; #X text 114 13 high precision array lookup; #X obj 161 548 tabread4~~ testone; #X obj 12 548 tabread4~ testone; #N canvas 0 0 450 300 (subpatch) 0; #X array tabread4~_tab 512 float 0; #X coords 0 1 511 -1 400 280 1; #X restore 540 78 graph; #N canvas 0 0 450 300 (subpatch) 0; #X array tabread4~~_tab 512 float 0; #X coords 0 1 511 -1 400 280 1; #X restore 540 390 graph; #X msg 273 406 0; #X msg 273 366 381; #X msg 273 386 1522; #X text 30 131 You can't use this help file as it is unless there is at least 350-400 MB of RAM available to your system.; #X text 29 169 To initialize do the following:; #X text 30 191 1) Create a sine audio file (80-100 Hz \, 32bit mono \, 1800 sec) somewhere on your HDD (needs about 300 MB).; #X obj 401 228 bng 20 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 30 226 2) Click here to locate and load the file --; #X text 74 288 Now play with the following...; #N canvas 579 489 386 207 load 0; #X obj -66 121 soundfiler; #X floatatom -66 159 0 0 0 0 - - -; #X obj 149 16 table testone; #X obj -66 19 inlet; #X obj -66 67 openpanel; #X msg -66 94 read -resize -maxsize 8e+007 \$1 testone; #X connect 0 0 1 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 0 0; #X restore 401 253 pd load; #X text 270 338 jump to different positions..; #X text 11 333 listen to..; #X obj 273 524 +~ 1; #X text 321 431 -- current position (sec); #X connect 1 0 9 0; #X connect 8 0 0 0; #X connect 8 0 0 1; #X connect 9 0 10 0; #X connect 9 0 16 0; #X connect 10 0 11 0; #X connect 11 0 17 0; #X connect 12 0 10 1; #X connect 12 0 32 0; #X connect 13 0 12 0; #X connect 14 0 13 0; #X connect 16 0 8 1; #X connect 17 0 8 0; #X connect 20 0 14 0; #X connect 21 0 14 0; #X connect 22 0 14 0; #X connect 26 0 29 0; #X connect 32 0 16 1; p.s. 1: [tabread4~~] lies in the latest zexy lib. p.s. 2: I tried to find a way to create a 30min sine array on the fly but I ran into the same 32bit resolution problem (array index specification)... Sorry p.s. 3: Music is for me the way to control time and matter, even if it's only in my imagination. But isn't imagination (or the observers location and speed..) the only thing that matters? -- Ypatios. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Fri, 16 Nov 2007, Charles Henry wrote: You won't be able to find those low frequencies like 4 Hz, unless one of your instruments contains them, like drums for example. I don't mean frequencies of sine waves, I mean frequency of any kind of periodicity that is found. Percussion instruments can have those low frequencies. And the result of adding up the fourier contributions from periodic sequences has an effect like a comb filter on the spectrum of the orignal instrument, which makes the peaks. If you have an instrument in a higher frequency range, you probably won't find those low e.g. 4 Hz frequencies, but you could find them in the envelope following signal of the original. Notes of many instruments have a percussive/click sound in the attack, which tend to have a wider spectrum than the main part of the note, so there could be a 4 Hz component anyway, but this is not what I mean anyway. What I mean could include the fact that the comb effect is at 4 Hz, but it's more abstract than that: playing any melody, you can simply count the time between attacks or between changes of note, and see it as a set of periodic patterns. It could get as far as taking any interval and turning it into the corresponding frequency, even though there may be a complete absence of actual periodicity. but that's just nitpicking..haha I find it interesting to consider how a song structure could have more than one dimension... On FidoNet in the mid-nineties, I was getting acquainted with the theory that rational intervals between notes (e.g. 5/4, 3/2) could correspond to rhythmic patterns as far as they could be expressed with a similar notation: thus you can see a major chord as being similar to a pattern involving a superposition of 4/4, 4/5 and 4/6 beats. Needless to say that in normal music, normal chords don't match the ratios of normal beats, except in extremely simple cases such as power chords. But a loop is a path. So, we start from point A, we go to point B and come back. So, if we have a measure of 8/8, we can represent it as the path in the plane which follows e^(2*pi*i*t/8) or many other paths. Still we have a clearly defined topology (btw, I'm just learning topology, so I'm feeling my way through this). A function maps points in time onto the loop. Again we have just one dimension. We can extend our loop into a sphere. or a torus or any other surface in more than two dimensions with holes in it. I don't have the impression that we need topology in order to access all that we need to do what we have to do. So far, I think that the interest of using topology in music is just so that we have topology and music together... just an alternate way of expressing the already expressible. (Please convince me that some things in music are easier to think about using topology...) but still it breaks down... we can only have the paths as functions of time. So, no matter how complicated the song structure gets, you can flatten it into a single function. Any thoughts? And yet, to express this function, you'll probably want to break it down into several functions, for modularity. The advantage of putting everything in one big function is somewhat overrated. Already, any abstraction mechanism in math is a way to modularise and outsource meaning so that it doesn't have to be specified in the main function(s) themselves. Some current rhythm perception research focuses on dynamical systems, which can have those long-range correlation properties. (again the action of perception is still a function of 1-D time) The dynamical system can have a non-integer dimension (a fractal), so you might be on to something to speculate additional dimensions in sound. The Hausdorff dimension of a set that is a subset of some space can't be bigger than that of that space. If anything, you get above the 1-D of the time dimension, but never above the number of dimensions of the space that the trajectory lives in. Even then, you are approximating a phenomenon using a fractal, which does not mean that the phenomenon is fractal any more than real numbers are real and that infinity is infinite: there's a lot of theoretical gimmickry there. Many phenomena look fractal only within a precise range of orders of magnitude. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Nov 19, 2007 11:06 PM, Mathieu Bouchard [EMAIL PROTECTED] wrote: On Fri, 16 Nov 2007, Charles Henry wrote: I don't mean frequencies of sine waves, I mean frequency of any kind of periodicity that is found. Yes, I was sure you knew what you were talking about. I just had to jump on it, and add some parts that I felt you could have included. Also, you got some good info here: Notes of many instruments have a percussive/click sound in the attack, which tend to have a wider spectrum than the main part of the note, so there could be a 4 Hz component anyway, but this is not what I mean anyway. What I mean could include the fact that the comb effect is at 4 Hz, but it's more abstract than that: playing any melody, you can simply count the time between attacks or between changes of note, and see it as a set of periodic patterns. It could get as far as taking any interval and turning it into the corresponding frequency, even though there may be a complete absence of actual periodicity. On FidoNet in the mid-nineties, I was getting acquainted with the theory that rational intervals between notes (e.g. 5/4, 3/2) could correspond to rhythmic patterns as far as they could be expressed with a similar notation: thus you can see a major chord as being similar to a pattern involving a superposition of 4/4, 4/5 and 4/6 beats. Needless to say that in normal music, normal chords don't match the ratios of normal beats, except in extremely simple cases such as power chords. Yes, but there is evidence for the fundamental bass that occurs between pairs of notes, with a strength dependent on those ratios. Complex harmonies could have multiple fundamentals. It's a mystery to me how harmony/rhythm work at a fundamental level. I'm planning to apply for grad school at FAU this month. My plans are not sure now, but I will eventually work on this. I don't have the impression that we need topology in order to access all that we need to do what we have to do. So far, I think that the interest of using topology in music is just so that we have topology and music together... just an alternate way of expressing the already expressible. (Please convince me that some things in music are easier to think about using topology...) The topology bullshit was plainly bullshit. But I was trying to stretch what I know, and try to see a way for song-structure and rhythm to take on more than one dimension. I have started working on a patch lately to simulate the trajectory of a particle as it flies across the surface of a torus (it's remarkable simple, so far--a couple of phasors and boom, there it is). Next thing is to add functions that will map the particle's trajectory onto sounds (the tough part). Some current rhythm perception research focuses on dynamical systems, which can have those long-range correlation properties. (again the action of perception is still a function of 1-D time) The dynamical system can have a non-integer dimension (a fractal), so you might be on to something to speculate additional dimensions in sound. The Hausdorff dimension of a set that is a subset of some space can't be bigger than that of that space. If anything, you get above the 1-D of the time dimension, but never above the number of dimensions of the space that the trajectory lives in. Even then, you are approximating a phenomenon using a fractal, which does not mean that the phenomenon is fractal any more than real numbers are real and that infinity is infinite: there's a lot of theoretical gimmickry there. Many phenomena look fractal only within a precise range of orders of magnitude. That's just the thing I was getting at. We have music as a function from 1-D into the space of all possible sounds. Assuming the space of sounds is band-limited and compact in time, it is actually a finite dimension (a gigantically huge finite dimension). But then, there's the psychological space, which has drastically fewer dimensions, and they're not linear. I conjecture that timbre perception may be better explained through topology. A common figure in analyzing instrumental timbre is a multi-dimensional scaling technique. Similarity between timbres is visualized in a linear space with a metric, corresponding to the straight-line distance. If it were possible for timbre space to be a non-linear manifold, similarities would correspond to distances along a path in the presumably curved space. I feel absolutely certain that I can convince you that timbre is *not* a vector space, using only the defining properties of a vector space. However, getting from A to B, and showing this is true would take an exquisitely designed experiment, a real work of art :P Chuck ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Thu, 15 Nov 2007, Steffen Juul wrote: ~~ What does appending a tilde mean? From the first post i thought is was just slang for 'this is really a tilde object that does it's thing right' as in underlining. After that the thread took a direction into discussion about time and space/ dimensions. The space-time thread was a joke of mine because of the way float-objects and signal-objects relate to each other. It was a thought experiment on what would be the most legitimate use of a second tilde in a way that is most like adding the first tilde in the first place. I tried to be as theoretically right as I could while knowing that in practice it's nonsense. I am not being a pure mathematician here, because pure mathematicians don't see the problem with having multiple time dimensions. (they wouldn't even mind working with infinitely many time dimensions and making a theory about it) Anyway: I don't quite approve of the use of a double-tilde, which was my reason for the joke in the first place. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Sun, Nov 18, 2007 at 01:02:16PM -0500, Mathieu Bouchard wrote: Anyway: I don't quite approve of the use of a double-tilde, which was my reason for the joke in the first place. In your opinion, what is a better way of textually representing a [tabread4~] that uses two signals to index a sample table? Best, Chris. --- http://mccormick.cx ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Thu, 15 Nov 2007, Ypatios Grigoriadis wrote: If i may now borrow the theory and terminus Arrow of time by Arthur Eddington, according to which time is the fourth dimension in space, Afaik, Arthur Eddington made the first English translation of Einstein. This is probably what got him in that 4th dimension thing, or perhaps it was the other way around (that he had thought of a 4th dimension concept and sought in Einstein's work a confirmation of it). I don't really know. Anyway: in some way, the past is equally hard to postdict as the future is hard to predict, but it depends on what one looks for. We are used to think of the past using what remains from it, but almost every event of the past is virtually unreachable due to having been blurred beyond repair. For any set of things you observe, everything else is left unobserved. The attention span of observers is tiny compared to what could become relevant to the observers later. (One could wonder: Exactly how straight is this axis? Could it bend and go back? Of course! In music this is called a reprise.) reprise, beat and such, are just larger scale splittings of the time dimension in the same way that frequency separates from time. Reprises and beats and rhythms are full of periodic patterns, just like the sound waves themselves, but at a different scale, which doesn't make the physical ear resonate anymore, but appeal to the brain's taste for sequencing. Thus a beat may have frequencies like 4 Hz and 2 Hz and 0.333 Hz in it (whatever is roughly in that range), whereas larger-scale song structures may have frequencies like 0.1 and 0.01 Hz. You could call rhythm and song structure a third dimension of music. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
Mathieu Bouchard a écrit : On Thu, 15 Nov 2007, Ypatios Grigoriadis wrote: If i may now borrow the theory and terminus Arrow of time by Arthur Eddington, according to which time is the fourth dimension in space, Afaik, Arthur Eddington made the first English translation of Einstein. This is probably what got him in that 4th dimension thing, or perhaps it was the other way around (that he had thought of a 4th dimension concept and sought in Einstein's work a confirmation of it). I don't really know. Anyway: in some way, the past is equally hard to postdict as the future is hard to predict, but it depends on what one looks for. We are used to think of the past using what remains from it, but almost every event of the past is virtually unreachable due to having been blurred beyond repair. For any set of things you observe, everything else is left unobserved. The attention span of observers is tiny compared to what could become relevant to the observers later. I'm very happy to read anything else than space-time gibbering, thanks. (One could wonder: Exactly how straight is this axis? Could it bend and go back? Of course! In music this is called a reprise.) reprise, beat and such, are just larger scale splittings of the time dimension in the same way that frequency separates from time. Reprises and beats and rhythms are full of periodic patterns, just like the sound waves themselves, but at a different scale, which doesn't make the physical ear resonate anymore, but appeal to the brain's taste for sequencing. Thus a beat may have frequencies like 4 Hz and 2 Hz and 0.333 Hz in it (whatever is roughly in that range), whereas larger-scale song structures may have frequencies like 0.1 and 0.01 Hz. You could call rhythm and song structure a third dimension of music. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
Patrice Colet a écrit : Mathieu Bouchard a écrit : On Thu, 15 Nov 2007, Ypatios Grigoriadis wrote: If i may now borrow the theory and terminus Arrow of time by Arthur Eddington, according to which time is the fourth dimension in space, Afaik, Arthur Eddington made the first English translation of Einstein. This is probably what got him in that 4th dimension thing, or perhaps it was the other way around (that he had thought of a 4th dimension concept and sought in Einstein's work a confirmation of it). I don't really know. Anyway: in some way, the past is equally hard to postdict as the future is hard to predict, but it depends on what one looks for. We are used to think of the past using what remains from it, but almost every event of the past is virtually unreachable due to having been blurred beyond repair. For any set of things you observe, everything else is left unobserved. The attention span of observers is tiny compared to what could become relevant to the observers later. I'm very happy to read anything else than space-time gibbering, thanks. gibbering = drivel, sorry for bad translation. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
reprise, beat and such, are just larger scale splittings of the time dimension in the same way that frequency separates from time. Reprises and beats and rhythms are full of periodic patterns, just like the sound waves themselves, but at a different scale, which doesn't make the physical ear resonate anymore, but appeal to the brain's taste for sequencing. Thus a beat may have frequencies like 4 Hz and 2 Hz and 0.333 Hz in it (whatever is roughly in that range), whereas larger-scale song structures may have frequencies like 0.1 and 0.01 Hz. You could call rhythm and song structure a third dimension of music. You won't be able to find those low frequencies like 4 Hz, unless one of your instruments contains them, like drums for example. Percussion instruments can have those low frequencies. And the result of adding up the fourier contributions from periodic sequences has an effect like a comb filter on the spectrum of the orignal instrument, which makes the peaks. If you have an instrument in a higher frequency range, you probably won't find those low e.g. 4 Hz frequencies, but you could find them in the envelope following signal of the original. but that's just nitpicking..haha I find it interesting to consider how a song structure could have more than one dimension... Consider the familiar time-points analysis. We structure events in music as a function of time. f: R (time) - (set of possible sound events) The topology in this case is clear. It's a line, and music is a function mapping 1-D into the space of all possible sounds. But a loop is a path. So, we start from point A, we go to point B and come back. So, if we have a measure of 8/8, we can represent it as the path in the plane which follows e^(2*pi*i*t/8) or many other paths. Still we have a clearly defined topology (btw, I'm just learning topology, so I'm feeling my way through this). A function maps points in time onto the loop. Again we have just one dimension. We can extend our loop into a sphere. or a torus or any other surface in more than two dimensions with holes in it Then, you could have an infinite variety of paths, representing different ways of looping, different periods, etc... but still it breaks down... we can only have the paths as functions of time. So, no matter how complicated the song structure gets, you can flatten it into a single function. Any thoughts? Some current rhythm perception research focuses on dynamical systems, which can have those long-range correlation properties. (again the action of perception is still a function of 1-D time) The dynamical system can have a non-integer dimension (a fractal), so you might be on to something to speculate additional dimensions in sound. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Nov 17, 2007 3:16 AM, Charles Henry [EMAIL PROTECTED] wrote: We structure events in music as a function of time. f: R (time) - (set of possible sound events) The topology in this case is clear. It's a line, and music is a function mapping 1-D into the space of all possible sounds. we can only have the paths as functions of time. So, no matter how complicated the song structure gets, you can flatten it into a single function. Any thoughts? # Here is my conceptualization of sound as a 1-D function. # Musical data is one-dimensional if it is recorded on a medium or is transmitted through some fluids. It is an array of number in digital media, changing voltage through cables and changing excess pressure of air when transmitting through air. All of these are simple functions of time. # But the musical data of composition (in the mind of the composer), or the sound producing mechanisms are not one dimensional. The composer builds its ideas not on one dimensional space but she has structures which may have certain hiyerarchies or orderings. For example, if there is harmony, there are more than one voice. Two voice works are two dimensional vector functions of one variable (time) (if we are at the abstraction layer of notes) An example of sound producing mechanism is plucked and vibrating string (or vibrating membrane) It is a continuum and so has infinite dimensions. # What we hear is the projection of all these data (different instruments, song structure etc.) onto 1 dimension. (This parts can be called bases of the space of all possible sounds as mathematical metaphor in linear algebra.) This projection is done by mixing different tracks or listening to an ensemble, so by simply taking the superposition of different audio signals. And our perception system has full of analysers which guess/try to understand/estimate/visualize etc. the original data from this reduced 1 dimensional data, namely sound. # If find it very interesing that we receive a one dimensional sound signal and perceive which instruments are there, who is talking, where the foot steps coming from, water in the pod is boiling etc... We extract the projected/compressed information as much as we can. -uğur güney- ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On 15/11/2007, Mathieu Bouchard [EMAIL PROTECTED] wrote: On Wed, 14 Nov 2007, Charles Henry wrote: Zen master Dogen tells us that we say time is passing because we live in time. In fact, we are passing in time, and time stays exactly where it is. time seen as the 4th space dimension is also a result of Einstein-Minkowski theory. It wasn't the only step in that direction, not the first step, but it was a major shift. There's a version of Pythagoras' theorem for that space-time, in which the only difference between space and time is that they have a different sign. Thus time is a kind of space with a scale factor equal to square root of -1. (You may also get to this scale factor by fiddling with the wave equation.) Whether time moves or stays exactly where it is is a metaphysical question: you can't make an experiment that distinguishes the two possibilities. Thus it's just a matter of how we explain things to ourselves. Maybe we can find 2-D time through transcendance. hmmm an external for that? I think that there is hope in reversing the roles of time and space in equations, such that you have 1-D space and 3-D time. I don't think that we'd be able to get to exactly 2-D time. Thus I believe that there is more hope in [line~~~] than in [line~~]. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list As far as I am concerned, time is just one of the two main dimensions in music, the one that allows the other one(pitch/frequency) to exist, or at least to be realisable by my ears and brain. If i may now borrow the theory and terminus Arrow of time by Arthur Eddington, according to which time is the fourth dimension in space, it has a direction and moves only to this direction, making everything in the past clear and stable, but leaving the future uncertain. (One could wonder: Exactly how straight is this axis? Could it bend and go back? Of course! In music this is called a reprise.) So, is there ever going to be a [line~~]? Only time can tell. -- Ypatios. p.s.: Oh, glorious Wikipedia, you saved me once more! (I really should donate...) ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
~~ What does appending a tilde mean? From the first post i thought is was just slang for 'this is really a tilde object that does it's thing right' as in underlining. After that the thread took a direction into discussion about time and space/ dimensions. Btw. Late (as in not younger) Wittgenstein says: Forget about this, Patrick, and do some patching. ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
What they are doing is increasing the accuracy of reading samples from a large table, using 2 32-bit floats, instead of just one. This [line~~] is a function of time, mapping time onto a 1-D path in the plane. Tabread4~ works by pointer arithmetic. My guess what happens is, you add the first outlet of line~~ to the beginning of the array. Then you add the second one. And because you're doing it in two separate steps, there's no loss in accuracy. Or do you take a double, break it up into two floats, pass them, and put them back together? Chuck On Nov 15, 2007 6:02 AM, Steffen Juul [EMAIL PROTECTED] wrote: ~~ What does appending a tilde mean? From the first post i thought is was just slang for 'this is really a tilde object that does it's thing right' as in underlining. After that the thread took a direction into discussion about time and space/ dimensions. Btw. Late (as in not younger) Wittgenstein says: Forget about this, Patrick, and do some patching. ___ 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] tabread4~~
On Thu, 15 Nov 2007, Ed Kelly wrote: matju wrote: Whether time moves or stays exactly where it is is a metaphysical question: you can't make an experiment that distinguishes the two possibilities. Thus it's just a matter of how we explain things to ourselves. There is some evidence of time's asymmetry, and hence the arrow of time in particle physics. I believe you, but I expected you to reply this to the paragraph about equivalence of time and space. Instead, you replied to the part about the lack of a common referential of time, which doesn't really have to do with backward time imho. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Tue, 13 Nov 2007, IOhannes m zmoelnig wrote: no problem at all. [line~~] and [vline~~] will all come when the time is ripe. and probably they will move from zexy into iem~~ :-) [line~~] will come when the time becomes two-dimensional. Even in a Many-Worlds Interpretation of (meta)physics, you can't find a plane embedded in the structure of time: time is shaped like a tree. _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] tabread4~~
On Nov 14, 2007 1:25 PM, Mathieu Bouchard [EMAIL PROTECTED] wrote: On Tue, 13 Nov 2007, IOhannes m zmoelnig wrote: no problem at all. [line~~] and [vline~~] will all come when the time is ripe. and probably they will move from zexy into iem~~ :-) [line~~] will come when the time becomes two-dimensional. Even in a Many-Worlds Interpretation of (meta)physics, you can't find a plane embedded in the structure of time: time is shaped like a tree. Zen master Dogen tells us that we say time is passing because we live in time. In fact, we are passing in time, and time stays exactly where it is. Maybe we can find 2-D time through transcendance. hmmm an external for that? _ _ __ ___ _ _ _ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal QC Canada ___ 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] tabread4~ interpolation formula (was: a little pitchshifter)
by the way, can anyone provide some insight as to how/why the tabread4~ interpolation scheme was chosen in the first place? (I have a pretty good notion from looking at Taylor series expansions of G(w), but I'm still not sure what we would use for design criteria, if we wanted to extend tabread4~) Chuck ___ PD-list@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list