SynthMaker

1 sample delay for double stream?

Archive · 2008 9 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

Noj ·

In order to make my filter work, I just need a 1 sample delay function on double streams. Is this possible or do I have to wait for 64bits instructions?

Jean

stefan ·

Noj wrote: In order to make my filter work, I just need a 1 sample delay function on double streams. Is this possible or do I have to wait for 64bits instructions?

Jean

If it's for feeding back the signal then you always get a one sample delay. If it's for feeding the signal forward I don't think it's doable atm.

TheAudiophileDutchman ·

Noj wrote: In order to make my filter work, I just need a 1 sample delay function on double streams. Is this possible or do I have to wait for 64bits instructions?

Jean

This dirty trick actually works (hold CTRL+SHIFT to make connections); Been there, done that 🙂

...but I wonder about poly-streams (which I think Stefan is referring to).

TAD

rl ·

I think Jean is referring to a "1 sample delay" module with double precision.

Currently there is only limited support for doubles (+,-,*, round) - just enough for the higher precision index calculation for the wave player module. Having a double precision "1 sample delay" at least biquad structures could be built with better precision. For example the famous vowel formant filter from the archives at musicdsp.org needs double precision math. Using floats the filter is unstable. Should be a topic for the "ideas and requests" area.

Noj ·

stefan wrote: If it's for feeding back the signal then you always get a one sample delay. If it's for feeding the signal forward I don't think it's doable atm.

Yeah, I forgot that SM used single sample feedback. My filter is kind of simple IIR filtering, so you need previous outputs, but also previous inputs.

Do you thing it would be possible to get previous input by cascading a (+), followed by a (-) with a feedback loop in the middle? The idea is to get the previous sample with the feedback loop and to add and subtract current sample. I will try later this evening.

stefan ·

Noj wrote: stefan wrote: If it's for feeding back the signal then you always get a one sample delay. If it's for feeding the signal forward I don't think it's doable atm.

Yeah, I forgot that SM used single sample feedback. My filter is kind of simple IIR filtering, so you need previous outputs, but also previous inputs.

Do you thing it would be possible to get previous input by cascading a (+), followed by a (-) with a feedback loop in the middle? The idea is to get the previous sample with the feedback loop and to add and subtract current sample. I will try later this evening.

I would venture a guess at a "no". I don't see how it could work, but maybe I'm suffering from some kind of brain blockage? 🙂

Noj ·

Yeah Stefan,

I guess you're right. The feedback value never appears (only inside the primitives when needed) and I can't think of any integration form (feedback) that leads to pure delay.

Jean

stefan ·

Noj wrote: Yeah Stefan,

I guess you're right. The feedback value never appears (only inside the primitives when needed) and I can't think of any integration form (feedback) that leads to pure delay.

Jean

Does it not work to use the regular 1 sample delay primitive with a forced connection? Ugly, I know, but sometimes a hack is what one has to resort to 🙂

Noj ·

Hmm... looks like the forced connection is ok (even with mono4), the filter seems to work well. I need to verify if it keeps double precision and does not truncate signals...

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.