Author Topic: Simple Digital Delay  (Read 2654 times)

nickbungus

Simple Digital Delay
« on: June 28, 2019, 06:17:57 AM »
Hi Guys.  This is my first post on the darkside although I'm a regular on the 'Building Your Own Stomp' side of things

Anyway, I'm a big Brian May fan and have many pedal builds in that area and was thinking about building a digital delay to do the Brighton Rock thing.  For those not aware, its Brian Mays concert showpiece where he uses a delay effect with 2 repeats (one at 800ms and the other at 1600ms) to build layers and harmonise etc.

So I'm thinking of trying to make a digital pedal with just that, 2 repeats 800ms apart. 

The thing is, even though I am a software developer by trade, I've never done any DSP and dont know where to start with processors, loaders etc?

I've googled a little bit and got lost but I trust the guys on this forum.  So a point in the right direction would be great.

So can anyone advise on what processor I should be using and what other equipment do I need to get up and running?

Thanks
To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.

Blackaddr

Re: Simple Digital Delay
« Reply #1 on: June 28, 2019, 07:19:04 AM »
Hi Guys.  This is my first post on the darkside although I'm a regular on the 'Building Your Own Stomp' side of things

Anyway, I'm a big Brian May fan and have many pedal builds in that area and was thinking about building a digital delay to do the Brighton Rock thing.  For those not aware, its Brian Mays concert showpiece where he uses a delay effect with 2 repeats (one at 800ms and the other at 1600ms) to build layers and harmonise etc.

So I'm thinking of trying to make a digital pedal with just that, 2 repeats 800ms apart. 

The thing is, even though I am a software developer by trade, I've never done any DSP and dont know where to start with processors, loaders etc?

I've googled a little bit and got lost but I trust the guys on this forum.  So a point in the right direction would be great.

So can anyone advise on what processor I should be using and what other equipment do I need to get up and running?

Thanks

If you're a DIYer and like to make your own enclosures, you can check out my TGA Pro audio shield for the Arduino Teensy. You can see some custom enclosure projects with it here at the bottom of the page.

The Arduino Teensy boards provide a great audio library to handle all the hard stuff around realtime audio letting you focus on the DSP stuff. The code examples in my software library include a few delay based demos for digital delay, analog delay and sound-on-sound. Of course you can make your own from scratch.

If you're looking for something already in an enclosure Mark Seel (a member here) makes the C99.

Starting to get a little pricey but you could also search for the Owl pedal.

Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com

potul

Re: Simple Digital Delay
« Reply #2 on: July 02, 2019, 04:19:06 AM »
A good option to start DSP is any platform using FV-1. But for your specific project it's not the best fit due to the long delay you need.

nickbungus

Re: Simple Digital Delay
« Reply #3 on: July 03, 2019, 02:54:33 AM »
Thanks.

I have looked at the Fv1.Is it not capable of the 800, 1600ms delay times?

To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.

potul

Re: Simple Digital Delay
« Reply #4 on: July 03, 2019, 06:18:09 AM »
Thanks.

I have looked at the Fv1.Is it not capable of the 800, 1600ms delay times?



Due to the available RAM, by default it gets to 1 second. If you need more, you need to compromise bandwidth. If you lower the sampling rate you can get to longer delays. Some commercial pedals are using an external tweakable clock to drive the FV1 and achieve longer delays.

Mat

Digital Larry

Re: Simple Digital Delay
« Reply #5 on: July 03, 2019, 09:21:40 AM »
There's also an "8 second delay" patch floating around for the FV-1 that does sub sampling in the algorithm.  This could probably be adapted to give a 2 second delay and then you could add some low pass filtering ahead of it to suppress any aliasing if it's a problem.
Digital Larry
DSP tinkerer and former transistor twister

potul

Re: Simple Digital Delay
« Reply #6 on: July 03, 2019, 10:02:23 AM »
I have a 2 seconds version of the 8 seconds algorithm, if someone is interested

nickbungus

Re: Simple Digital Delay
« Reply #7 on: July 03, 2019, 10:39:01 AM »
Brilliant

Thanks guys.  I'll try the FV-1 then!!!
To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.

cloudscapes

Re: Simple Digital Delay
« Reply #8 on: July 03, 2019, 11:16:02 AM »
You will be further limited in delay time if you need stereo, or high-ish fidelity. Just a heads up.

The FV-1 is definitely best bang for buck. But unfortunately you can't really expand apon the limitations of the chip. Sacrifices (sound quality for delay time) have to be made one way or another. It's also in assembly, so not the most straightforward of programming languages. There's a visual tool out there that may help in developing algorithms, SpinCad it's called.

The other way is using a dedicated microcontroller like ARM or PIC, which is the way I like to use. It's more work to get the chip up and running, it's not audio-centric so you have to build a program foundation to configure the chip's peripherals before you can think of passing audio through. But has much more flexibility in delay time by adding external memory, more control inputs, displays, that sort of stuff.

An in-between would be teensy, which is Arduino-based. Easier to get started with the excellent visual editor and large community. Only downside is you have to use their stamps or their bootloader chip, which slows you down a little if you like making custom PCBs. Still a great product!
« Last Edit: July 03, 2019, 11:23:17 AM by cloudscapes »
~~~~~~~~~~~~~~~~~~~~~~
{DIY blog}
{www.dronecloud.org}

Ice-9

Re: Simple Digital Delay
« Reply #9 on: July 03, 2019, 04:13:12 PM »
Well you could always use 2 X FV-1 chips to get both delays with up to 2 seconds on high quality delay. I would consider using two chips in series with a delay of 800ms on the first FV-1 for the first delay which feeds into the second FV-1 for the longer 1.6 second delay.

You could even use the FV-1's in this setup to generate the Harmonies.
ie. You can have 800ms of delay on the first FV-1 going to the left DAC feeding the second FV-1 and the output of the right DAC having the 800ms plus whatever harmony you need. The second FV-1 can have another 800ms delay (1.6S total) plus the second harmony added.

Maybe a little more info on what exactly Brian May is doing for this effect would help my work out how to do it properly

I was doing a similar thing for the Steve Vai song 'Ballerina 12/24 which can be done on a single FV-1 as the delays are much shorter.
major sixth 9 semitones up delay 180ms, and a perfect fourth 5 semitones up delay set at 360ms.if I remember correctly.

I hope I am making sense here.


EDIT- Ok so ignore my harmonies idea above as after listening to  Brian Mays solo the harmoines are not part of the effect they are accumulated through the overlapping delays, which I had not realized before, so this is easier to do than I thought.
« Last Edit: July 03, 2019, 04:25:22 PM by Ice-9 »
It's fairly straight forward, if you want to start it , press start. You can work out the rest of the controls for yourself !
Do me a lemon, that a poor IQ for a glass of water.

nickbungus

Re: Simple Digital Delay
« Reply #10 on: July 04, 2019, 08:52:38 AM »
Ice-9, you're in Newcastle!!  I live in Birtley

I'm struggling to find a supplier of the FV-1 chips.  Cant find them from the recommended distributors. 
« Last Edit: July 04, 2019, 09:52:59 AM by nickbungus »
To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.

nickbungus

Re: Simple Digital Delay
« Reply #11 on: July 04, 2019, 10:09:11 AM »
Also, would it be cheaper/easier to add ram rather than use 2 FV-1s? 
To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.

bluebunny

Re: Simple Digital Delay
« Reply #12 on: July 04, 2019, 10:26:04 AM »
I'm struggling to find a supplier of the FV-1 chips.  Cant find them from the recommended distributors.

I found them here: https://www.profusionplc.com/parts/spn1001-fv1
Ohm's Law - much like Coles Law, but with less cabbage...

Digital Larry

Re: Simple Digital Delay
« Reply #13 on: July 04, 2019, 10:26:52 AM »
Also, would it be cheaper/easier to add ram rather than use 2 FV-1s?
Be great if you could but they are not expandable.
Digital Larry
DSP tinkerer and former transistor twister

Ice-9

Re: Simple Digital Delay
« Reply #14 on: July 04, 2019, 10:57:38 AM »
Ice-9, you're in Newcastle!!  I live in Birtley

I'm struggling to find a supplier of the FV-1 chips.  Cant find them from the recommended distributors.

Birtley Eh ! I'm just along the road at Leam lane. 
As Bluebunny posted above the UK supplier is Profusion PLC and they have quick delivery. I usually get a delivery every week but I only order as many as I need for the week

You can't add ram to the FV-1.
« Last Edit: July 04, 2019, 10:59:26 AM by Ice-9 »
It's fairly straight forward, if you want to start it , press start. You can work out the rest of the controls for yourself !
Do me a lemon, that a poor IQ for a glass of water.

nickbungus

Re: Simple Digital Delay
« Reply #15 on: July 04, 2019, 11:39:47 AM »
Quote
Birtley Eh !

Posh end mind, Northside!!  Also, if you see the band DirtMonkey advertised - thats us!

Right - chips are ordered.  My degree is in Computing for Industry and I've done a bit of pIC.  Do I need anything to order anything to program and load or can I knock something up myself?
« Last Edit: July 04, 2019, 11:43:16 AM by nickbungus »
To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.

Ice-9

Re: Simple Digital Delay
« Reply #16 on: July 04, 2019, 04:02:06 PM »
Quote
Birtley Eh !

Posh end mind, Northside!!  Also, if you see the band DirtMonkey advertised - thats us!

Right - chips are ordered.  My degree is in Computing for Industry and I've done a bit of pIC.  Do I need anything to order anything to program and load or can I knock something up myself?

I checked oot the band and I see you will be playing the 'Three Tons' in a bit (November?), see if I can get there for that as it's one of my locals.

For writing your own programs you will need to have an EEPROM programmer, My choice is the Pickit2 but you could build your own cheaper. If you go for a Pickit programmer note that you need the Version2 not the Version 3.

If you need any help regarding working a schematic for a 2 chip FV-1 I can chip in   ;D
It's fairly straight forward, if you want to start it , press start. You can work out the rest of the controls for yourself !
Do me a lemon, that a poor IQ for a glass of water.

nickbungus

Re: Simple Digital Delay
« Reply #17 on: July 05, 2019, 02:36:09 AM »
Excellent.  I've ordered one of these https://www.ebay.co.uk/itm/Microcontrollers-PICkit2-PIC-KIT2-Debugger-Programmer-For-PIC-DsPIC-PIC32-PIC24/192905065375?hash=item2cea09b39f:g:3zEAAOSw6y5cjX2R

I need all the help I can get as I'm flying pretty blind here and I cant seem to find the info to get me up and running.

I'll mock up a pseudo schematic/diagram of what I am trying to achieve.

Thanks again
To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.

nickbungus

Re: Simple Digital Delay
« Reply #18 on: July 05, 2019, 04:31:44 AM »
Quote
If you need any help regarding working a schematic for a 2 chip FV-1 I can chip in

 :icon_rolleyes:
To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.

nickbungus

Re: Simple Digital Delay
« Reply #19 on: July 05, 2019, 06:09:52 AM »


Ok, its very crude and I've omitted a few bits that I hope are implicit.  The image below May (intentional pun) help!  I think the main thing to note is the three outputs.  I will also make the outputs switched so that when there isnt a jack inserted on the left and/or right channel the signal is routed to the Main Output.   So I will need some splitting/buffering circuitry somewhere in the line.

The footswitch is there to indicate that the effect is switched and when not engaged each output still receives signal.

I suppose having up to One second delay I may as well add a pot for delay time.  At a low setting this could probably produce a nice doubling (tripling) effect.  Would I need a dual gang pot?

To the extreme, I rock a mic like a vandal.
Light up a stage and wax a chump like a candle.