RBJ, I had a look at your theory, and compared it to my approach (dare not call it a theory, as it was not as rigorously derived). The following is how I imagine we thought things out.
Both of us wanted to preserve some aspect(s) of the known-to-be-good constant-voltage crossfade envelopes, and to generalize from those the envelope functions for arbitrary values of the correlation coefficient. You saw that the odd component o(t) determined the shape of the constant-voltage envelopes. For those, the even component had to be e(t) = 1/2 to satisfy the symmetry a(t) + a(-t) = 1 required in constant-voltage crossfades. So apparently o(t) was capturing the essential aspects of the crossfade envelope. You showed how to recalculate e(t) for different values of the correlation coefficient in such a way that o(t) was preserved. I, on the other hand, chose that the ratio a(t)/a(-t) (using your notation) should be preserved for each value of t. To accomplish this, one could first do the crossfade using constant-voltage envelopes and then apply to the resulting signal a volume envelope to adjust for any deviation from perfect positive correlation. Or equivalently, the compensation could be incorporated into a(t), which I showed how to do in the case of a linear constant-voltage crossfade. Other constant-voltage crossfade envelopes than linear could be handled by a time deformation function u(t) which gives the time at which the linear constant-voltage envelope function reaches the value of the desired constant-voltage envelope function at time t. u(t) would then used instead of t in the formula for a(t) derived for generalization of the linear crossfade for arbitrary r. I believe your requirement for r >= 0 could be relaxed. For example, if one is creating a drum-loop, then it would probably make most sense to put the loop points in the more quiet areas between the transients. And there you might only have noise that is independent between the two loop points, thus giving values of the correlation coefficient slightly positive or slightly negative. Because the length of a drum loop is fixed, there might not be so much choice in placement of the loop points, and a spot giving a slightly negative r might actually be the most natural choice. I do not think your formulas will fall apart just as long as -1 < r <= 1. -olli -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp