ΣSigmaStudio Ask AI Русский Log in

Fractional Delay Buffer Splitting Problem

SigmaDSP & SigmaStudio SebastianLatka Sep 30, 2025 00:00 6 replies Original on forum ↗
Subscribe
SebastianLatka Question
Sep 30, 2025 00:00

When I create a project and use two fractional delay blocks that sample the same signal, the compiler shows that buffer space is reserved only once—which seems logical.

I want to use 48 fractional delay blocks that sample from a single signal, but each block I add reduces the number of delay samples to choose from. I need 1440 delay samples.

If there's only one 1440-sample buffer, I don't understand why SigmaStudio limits the use of multiple output channels to using data from a single shared buffer.

Audio Signal Processors

dsp

software

sigmaStudio 4.7

fractional

sigmastudio

delaybuffer

SigmaDSP Audio Processors

delay

adau1466

Show More

DaveThib Reply
Sep 30, 2025 00:00

Hello Sebastian,

I am not understanding what you want to do? You mention wanting to use 48 fractional delay blocks yet do not know why each one needs its own memory? Because it is a separate block.

Can you draw a block diagram of what you want to do with the audio and delays?

Do all 48 blocks need to be 1440 long?

Here is a program I had put together to show how to use an AUXADC to control the delay time. I just now added four more outputs to make it nine outputs and added DC blocks for delay time control and it did not add to the number of samples reserved for the block in the compiled program.

I could add a LOT more outputs.

Dave T

pastedimage1759252720002v1.png
pastedimage1759252720002v1.png
SebastianLatka Reply
Sep 30, 2025 00:00

The idea is to connect like this. Each block has the same signal source, so it uses a single buffer in memory,
thus saving memory consumption.

The next photo shows each connected to a different signal, and shows the increased memory footprint.

I wonder why I can't use 48 fractional delay blocks, each with 1440 samples,
since all the blocks use the same signal source and therefore operate on a single delay buffer.

Frac_delay.png
Frac_delay.png
Frac_delay_2.png
Frac_delay_2.png
DaveThib Reply
Sep 30, 2025 00:00

Hello,

How will they be used? Will the delay be exactly the same? I do not expect that because you would just "Y" the signal.

How do you want to adjust the delay time? Only during development or during run time?

Dave T

SebastianLatka Reply
Sep 30, 2025 00:00

My application has an external MCU that overrides the values. Each delay will be slightly different, but within a fixed range of 1440 samples.

DaveThib Reply
Sep 30, 2025 00:00

OK, Then use the multitap delay like I did in my example and use DC cells like I did. Your MCU only needs to write to the DC cell for each output.

The value coming in is easy to workout. A 1.0 in 8.24 format gives you the full delay time. So a value of 0.1 is ten percent of the full value.

Here is my quick example file you saw in the schreenshot.

Dave T

ADAU1452 AUXADC Controlled Fractional Multitap delay-and DC cell control.dspproj

SebastianLatka Reply
Sep 30, 2025 00:00

Thank you Dave! That really helped.
Sebastian Ł