Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

BBD Delay

DSP related issues, mathematics, processing and techniques

BBD Delay

Postby Tepeix » Tue Feb 15, 2022 1:23 am

Hi,

Here's a sort of BBD Delay.
Based on some (maybe false ?) assumptions i made on them.

It's mono or the same delay for all channel for now.
(But the code must be really different to support different delays)

The BBD (in my assumptions) is a clock then a read write memory.
I don't even know if there's some interpolation between sample ?
But the clock change speed and the sample rate of the delay.

So this code use a ramp osc that skip the read write process until it reach max.
(Could be maybe better with a loop 2 or up-sampled)
The more the delay is long the more it will be un-sampled.

Here's the code :
Code: Select all
streamin in;
streamin speed;
streamout out;
float mem[4096];
float saw=0;
int index=0; int step=-16;
int max=65535;
//osc//
movaps xmm0,saw;
addps xmm0,speed;
cvtps2dq xmm1,xmm0;
cvtdq2ps xmm1,xmm1;
subps xmm0,xmm1;
movaps saw,xmm0;
movd eax,xmm1;
cmp eax,0;
jz go;
movaps xmm0,index;
paddd xmm0,step;
andps xmm0,max;
movaps index,xmm0;
movd eax,xmm0;
movaps xmm0,mem[eax];
movaps out,xmm0;
movaps xmm0,in;
movaps mem[eax],xmm0;
go:


What do you think about this BBD concept ?
Attachments
BBD concept v2.fsm
Little edit : comment in code to change delay max time.
(58.28 KiB) Downloaded 469 times
Tepeix
 
Posts: 350
Joined: Sat Oct 16, 2021 3:11 pm

Return to DSP

Who is online

Users browsing this forum: No registered users and 25 guests