Post Go back to editing

Delay problems 1701 DAKB4100

Category: Software
Product Number: ADAU1701
Software Version: Sigma Studio 4.7

Hi guys. Im new to using the SigmaDSP and I am using with the Dayton Audio KABD 4100 board which uses the 1701 DSP. And i am having huge trouble with the delay function. I understand that the only way the DSP knows time is by counting samples and that adding a delay uses some words of data memory. However i am not even able to make a simple delay of 0.1ms without exceding the limit of 2000 words of data memory with a total of 59876 words used. It seems like other people are able to get at least 1-2ms delays to work. I would even like a delay of around 70ms to properly time allign a horn mid with the rest of the system. I am using the dayton-audio-kabd-sigmastudio-example-projects-pack-v1 downloaded from the Dayton webside using the Stereo 3-Way Speaker via cascaded KABD-4100 (main LEFT CHANNEL).

I also experience other trouble with the delay feature such as the "max" delay value changing, i guess this is from a calculation of what the max value is "allowed" to be without exceding the RAM limit. 
All of this happens in a fresh save without any PEQ and only the 3 way crossover modified

I welcome any tips and tricks.
Best Regards - Simon Seest

  •      Hello Simon,

         Exactly as you said, the highest available value for the Max setting changes with the available data memory.   The compiler allocates a block of memory for the selected Max value of each Delay Block.  This allows adjusting each delay between zero and Max with the project running, without stopping to recompile.  However, setting a much higher Max than a particular Delay Block will ever need takes memory from other uses.

         I haven't seen the millisecond choice for setting Delay Blocks before; it must be a relatively new feature.  My first tip is to ditch it and set your delays directly in samples as was always done.  It gets you conceptually closer to what the DSP does.  It's easy to convert mS to samples -- simply multiply by the sample rate in KHz. 1 mS = 48 samples.  Divide to go the other way -- 1 sample = 0.0208 mS.   I'm also surprised by the Out of memory dialog.  Since the Delay Blocks automatically limit their Max values, I've never seen this dialog before.

        The screenshot's resolution prevents me from reading your project settings, yet I do see the strange error where the Max Delay numbers disappeared -- leaving just a long, empty yellow box.  I downloaded Dayton Audio's Three-Way Speaker sample project and played with one of its Delay Blocks until getting the same error.  I've never seen this bug with the old delay blocks -- another reason to set them in samples not milliseconds.

         I'd expect the tweeter to be electromechanically the "fastest" driver -- thus the one needing the most delay.  I don't understand why the sample project placed a delay in its woofer.  This would rather make sense in an add-on powered subwoofer -- where a phase control such as the one shown here might be useful.  Also, are you sure that your midrange horn needs 70 mS of delay?  That's like locating the horn about 70 feet away from the listening area.  2000 delay words only allows for 43 mS at 48K.

         Finally, I suggest attaching your project -- this always helps us to provide useful assistance.

         Best regards,


  • Hi Bob

    Thanks a lot for your response. 

    Yes the delay block is quite weird, and the location of the delay on the woofer compared to the tweeter obviously makes zero sense and i would move it if i could get it to work. Dont know why they put it there.

    I will try to change the delay from ms to samples or try to implement your phase solution.

    And yes, my calculations of the delay were wrong, the correct delay i am looking for is 0.72ms, which i will try to implement now as 0.72*48=34samples.

    Thanks again for your response! I will continue the build and upload my project if I encounter any other weird bugs.

    Thanks alot!

    - Simon