minblep phase modulation

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

I have some problems with understanding phase modulation of 2 minblep oscillators. How to do this correctly?

Say A modulates B.

When A resets, the same reset point should be applied to B, but
1. I don't always know the exact A value jump in sub sample position
2. A contains blep ripples that modulate B phase as well
3. A and B bless may interfere.

Maybe I see the things more complicated that they are
giq

Post

When designing a blep system it's always best (IMO) to think in the continuous time domain. Which particulary means:
1. You know the exact subsample position and the exact value jump at any time (you need to figure this out analytically, or numerically somehow)
2. Blep ripples do not exist in the continuous time and thus do not modulate anything.
3. Hence, no interference.

Then you apply blep corrections to all discontinuities of the signal (and its derivatives, if possible), thus obtaining the bandlimited continuous-time signal, which can be sampled naively.

Oh, and personally, I don't think minBlep is a good idea. It doesn't solve the latency problem completely, and the phase artifacts it produces are rather weird. I'd suggest using a linear phase blep.

Regards,
{Z}

Post

By linear phase you mean a linear phase sinc pulse that is symmetrical?

btw. In my case phase artefacts are above 8khz.. Does this really matter? I'm not sure.. I don't hear it, aliasing is ultra-minimum :) Could you elaborate a bit?
giq

Post

itoa wrote:By linear phase you mean a linear phase sinc pulse that is symmetrical?

btw. In my case phase artefacts are above 8khz.. Does this really matter? I'm not sure.. I don't hear it, aliasing is ultra-minimum :) Could you elaborate a bit?
But linear phase blep I mean the original blep without the minium-phase correction (minblep). Essentially it is the so called Si(x) ("sine integral") function, which in turn is the integral of the sinc(x) ("cardinal sine").

Whether the artifacts are critical or not can be a highly subjective thing (unless they are very audible :wink: )

Post

But it brings an additional problem, it's symmetrical so needs a lookahead processing.
I'm not sure whether its worth...
giq

Post

itoa wrote:But it brings an additional problem, it's symmetrical so needs a lookahead processing.
So does minBlep. As I mentioned earlier, it doesn't fully solve the latency problem. Although, of course, ignoring this problem will cause less artifacts in case of minBlep.
itoa wrote:BI'm not sure whether its worth...
What you get in turn is more natural phase distribution, which, under certain conditions will also affect the sound. Anyway, what I wrote earlier more or less applies to the minBlep as well (although I think there is no continous time-domain counterpart of that).

Post

Linear phase BLEP: predictable latency that is "naturally" integer samples and the same at all frequencies so easy to compensate.

Minimum phase BLEP: latency is lower, but harder to control, varies by frequency and isn't really integer except for some specific frequencies (where the delay happens to cross an integer value), so practically impossible to compensate properly.

The original idea with MinBLEPs was that you could ignore the latency. Sadly that isn't really true in practice and once you accept that compensation is necessary, linear phase makes everything much easier.

Post

well, but how does it affect the sound?
giq

Post Reply

Return to “DSP and Plugin Development”