I am trying to compute Delta coefficients for real-time audio analysis. As far as I know, a valid formula is:

$$d_t= \frac{\displaystyle\sum_{n=1}^{N}n\left(c_{t+n}-c_{t-n}\right)}{2\displaystyle\sum_{n=1}^{N}n^2}$$

It seems that I need $n$ future frames at each time step $t$ to compute both delta and delta-delta. However in real-time, I don't have future frames for several $\textrm{ms}$ (depending on my window segmentation). My methodology would be to compute, for timestep $t$, delta and delta-delta with an offset (i.e. compute the values from the previous frame or the one before). But then, these coefficients would correspond to one of the previous frames, bringing an offset to the feature vectors.

Is there any other way to get around this issue ? (maybe using a slightly different formula ?)


As long as you train and evaluate the same features then you will be perfectly fine with this delay.

In practice first two frames of the feature vector for both $\Delta$ and $\Delta\Delta$'s are zeros. So in fact the coefficients are delayed by two frames. These can be calculated according to the formulas:

$$\Delta[t] = c[t]-c[t-2]$$ $$\Delta\Delta[t] = c[t-2]-2c[t-1] + c[t]$$

Notice that the scaling factors are omitted intentionally. It's only a linear scaling of the feature space and should not change the results. For example in the case of GMM's the Mahalanobis distance takes care of differences in variance across dimensions.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.