4 second digital delay project

Started by ElectricDruid, December 29, 2016, 03:01:04 PM

Previous topic - Next topic

imaradiostar

Half off topic, but I'm totally game for a forum based teensy guitar/music audio board with the ak4556 on it. Mark graciously offered to design the board. Let's start a new thread and talk specifics.

It would be a really fun development platform! The newest teensy has a 180MHz processor with a true floating point unit and it supports the  cmsis instructions. It could be a powerful little board.

Jamie
Hi! I like to build stuff. Sometimes, when life slows down a little bit, I even get to build stuff for myself and others rather than just for work.

ElectricDruid

I'm game too, but I don't think I'm typical. I've been writing assembly language for 35 years and this stuff doesn't scare me. I've learned a pile of computer languages. I'd like to see this digital stuff get a wider audience. I thought what Digital Larry was doing with his SpinCAD Designer was great. That's the sort of stuff we need.

I'd like to try and attract people who thought they could only build a basic fuzz pedal, and people who don't even know that a basic fuzz pedal is easier than (for example) a digital harmoniser.

The intent of my DigiDelay was in this direction - a 4 second digital delay with features beyond the typical, but that you could build without having to learn surface-mount soldering or programming or even install some new software package where the instructions say something like "Open a Xgip window and type extract -S 407  /home /bingo".

Not that I'm trying to dissuade anyone - far from it. As you said, get a thread going and let's go for it. I just want to throw in a reminder to think of the non-digital amongst us ;)

T.

lmkv15

Hi Tom,
One should also have integrated filters in the input and output of type LT1063 (order of eight)

regards Uwe

spgjmf

hi all,
Been a forum reader for years. After being away from DIY for a while I came back for this project. I'm glad I did. wow I really like this delay. its got great personality. big thank you to Tom!

I have it working on the bench, its quite  and works very well with line level stuff, synths and modular stuff. I am having trouble with the drill template :o  It seems the distance between the 3 upper knobs and the 2 filter knobs is not big enough. Has any had this problem. Also tthe fit in 1590BB box is really tight. I may just go we a bigger box, ha.  any suggestion on using the drill template? I always free handed it in the pass and used big boxes for lots of room :-)

the delay is very different than the current crop of delays, which to me all try to sound "produced". this guy is like an ingredient to a larger mix, you can build with it. the feed back within the DSP is a neat thing to...lots of feedback, if you want

take care,
Jeff

bsoncini

It is a bit of a tight squeeze. I never use the drill templates so I had no problem. For me the hardest part was the DC jack. Used one of the low profile ones that the nut is on the outside of the box.

Philthy

Would the various "made for PT2399" modulation daughter boards (eg: 1776, Grind Customs etc) work with this delay?

Ideally I'd love to see the ED TAPLFO integrated into the 4-sec DD design, but I'm gassing to build it as is with modulation tacked on.

cheers

bean

Quote from: Philthy on February 20, 2017, 08:49:37 PM
Would the various "made for PT2399" modulation daughter boards (eg: 1776, Grind Customs etc) work with this delay?

Ideally I'd love to see the ED TAPLFO integrated into the 4-sec DD design, but I'm gassing to build it as is with modulation tacked on.

cheers

I tagged an optical modulation board onto it (lug2 of the delay pot) and it worked okay. My particular modulation wasn't perfect for this delay but yeah, you should be able to do it.

ElectricDruid

Quote from: spgjmf on February 15, 2017, 03:17:15 PM
hi all,
Been a forum reader for years. After being away from DIY for a while I came back for this project. I'm glad I did. wow I really like this delay. its got great personality. big thank you to Tom!

Thank you, Jeff! Glad you like it!

Quote
I have it working on the bench, its quite  and works very well with line level stuff, synths and modular stuff. I am having trouble with the drill template :o  It seems the distance between the 3 upper knobs and the 2 filter knobs is not big enough. Has any had this problem. Also tthe fit in 1590BB box is really tight. I may just go we a bigger box, ha.  any suggestion on using the drill template? I always free handed it in the pass and used big boxes for lots of room :-)

It sounds like I'd better check that template. I had a nightmare with it, so I'm not really surprised. You know that feeling when things just don't go right? It was one of those...

Quote
the delay is very different than the current crop of delays, which to me all try to sound "produced". this guy is like an ingredient to a larger mix, you can build with it. the feed back within the DSP is a neat thing to...lots of feedback, if you want

Yeah, I wanted it to be able to do runaway echoes if it could. As it stands, it will do runaway feedback, but only if you open the filters up a bit. I was pleased with the overall "sound" of it - it has some character without being "lo-fi" or "dirty", but it's not by any means "sterile" or "digital" either. It makes me want to do more digital delays.

Tom

cloudscapes

Quote from: ElectricDruid on February 22, 2017, 04:11:23 PM
Yeah, I wanted it to be able to do runaway echoes if it could. As it stands, it will do runaway feedback, but only if you open the filters up a bit. I was pleased with the overall "sound" of it - it has some character without being "lo-fi" or "dirty", but it's not by any means "sterile" or "digital" either. It makes me want to do more digital delays.

If you do more (I hope you will!) try analog feedback path too! Even at low bitdepths and rates (12/22) I was surprised at the amount of "analog delay" character I could get.

I love runaway feedback that is on the brink of howling but not quite there yet.
~~~~~~~~~~~~~~~~~~~~~~
{DIY blog}
{www.dronecloud.org}

ElectricDruid

Quote from: spgjmf on February 15, 2017, 03:17:15 PM
Also the fit in 1590BB box is really tight.

This is true! I had quite a job laying out the PCB to make it all fit, since I didn't want the PCB to be horribly cramped. Still, I'd want to say "fairly tight" not "really tight" ;) It could be much worse!!

The PCB is 109x69mm, and the 1590BB is 122.6x87mm at its smallest (the sides are slightly flared). So there's at least a couple of mm play at the sides. Here's a link to the datasheet:

http://www.hammondmfg.com/pdf/1590BB.pdf

Some of the clones vary a few mm, so it's possible that some are really tight. I've used Eddystone branded Hammond boxes and some other clones I got god-knows-where without problems.

Where I definitely agree that it's tight is above the PCB. The board-mounted pots raise the board off the surface of the box quite a bit (can't remember exactly - 13mm or something) and that doesn't leave much room above. The inside height is only 29.75mm. This is particularly an issue for the DC socket, which needs to be carefully positioned, and I've found that I needed to bend the solder tabs out of the way to more easily get the PCB fitted. With the board-mounted pots, it needs to go in pretty vertically, and you don't get as much wiggle room as you would with pots on wires.

I hope these notes help save other builders some heartache.

Tom

ElectricDruid

Quote from: cloudscapes on February 22, 2017, 06:24:25 PM
Quote from: ElectricDruid on February 22, 2017, 04:11:23 PM
Yeah, I wanted it to be able to do runaway echoes if it could. As it stands, it will do runaway feedback, but only if you open the filters up a bit. I was pleased with the overall "sound" of it - it has some character without being "lo-fi" or "dirty", but it's not by any means "sterile" or "digital" either. It makes me want to do more digital delays.

If you do more (I hope you will!) try analog feedback path too! Even at low bitdepths and rates (12/22) I was surprised at the amount of "analog delay" character I could get.

I love runaway feedback that is on the brink of howling but not quite there yet.

Yes, I'd like to do more. I've been studying the Ibanez DM2000 which (if those that don't know it) is an 80's era 12-bit rack delay with modulation. It uses transistor filtering and a 571 compander to get the best noise level, and also uses a analog feedback path. Borrowing the analog design from this old unit and adding my digital delay part would give a pretty cool delay. This isn't immediately straightforward though, since it uses a variable sample rate (32KHz to 128KHz) and my current code is a fixed sample rate. The dsPIC could do a variable rate, but the DAC won't output samples faster than 100KHz, so the modulation depth might not be quite as extreme.

Another possibility would be to use this as an opportunity to move to an external DAC and design a little "Delay module" PCB which would include a dsPIC, a codec and a 4 seconds of RAM all surface-mount on a little daughter board. People would then have access to a general-purpose good-quality digital delay that they could design into whatever effects they wanted. That throws up all sorts of other issues though - I haven't had to deal with SMD design or manufacturing, so there's some learning to do to make that happen.

Trouble is, there's lots of ideas for 2017 and it's almost 1/6th gone already!

Tom




spgjmf

I like the idea of a SMD delay board. then one could build whatever feed back path they wanted. as far as enclosues, Im going to get a bigger box!
Im a table top guy, so size is not a real concern....

keep you the good work and thanks ED for all the hard work!

JEff

Jamforthelamb

I recently got my Digidelay all wired up, and it appears to have a problem. I get the dry signal but no delay, just an occasional click/pop/white noise. I checked my voltages before and after installing the chips and everything was in spec. The only thing I did different is not have the indicating LEDs wired in initially as I didn't think that would matter. I wired them in, no change in my issue, and they don't light up either. Did the usual checks for solder bridges etc. Thanks for any help you can provide!
-Kevin

ElectricDruid

Send me a message, either a PM from here, or from the Druid website, and we'll get you debugged.

If the LEDs aren't lighting up, that means the dsPIC isn't running correctly. Power would be the first place to look. Are both 3.3V power supplies ok?

HTH,
Tom

Transmogrifox

Quote from: ElectricDruid on February 23, 2017, 07:49:38 AM
This isn't immediately straightforward though, since it uses a variable sample rate (32KHz to 128KHz) and my current code is a fixed sample rate. The dsPIC could do a variable rate, but the DAC won't output samples faster than 100KHz, so the modulation depth might not be quite as extreme.

My delay line code (for bela) sounds pretty good as a variable samplerate emulator.  The thing to keep in mind is this is simply a resampling application that can be done with biquad filters emulating the typical BBD delay filters, and a linear interpolated delay line arguably as well as a real externally variable sample rate. 

The main observation that led me here is that the 3rd order butterworth filters before and after a BBD chip limit the bandwidth on the audio signal that the higher variable samplerate has very little effect on the end audio quality (maybe gets a little more lo-fi on the lower end).  The output filter is functionally a delay line interpolator.  At the frequencies of interest, if you put the fixed rate delay line through a 6th or 8th order biquad, then you will have very little error in linear interpolating the delay line.

The main things you get from a variable samplerate are this:
a) LFO shape distortion (delay time proportional to 1/Fsample)
b) In the case of a BBD, some subtle amplitude modulation

Tom, on your site you have already worked out the formula for delay change vs modulation input.  For lower CPU usage perhaps this could be reasonably approximated with a polynomial series.

Just food for thought -- I don't think the variable samplerate injects any real "magic"...but then maybe you don't have enough spare cycles to handle this in real-time.
trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.

Digital Larry

Quote from: Transmogrifox on April 17, 2017, 12:32:06 PM
Just food for thought -- I don't think the variable samplerate injects any real "magic"...but then maybe you don't have enough spare cycles to handle this in real-time.

Well, conceivably you could get LFO controlled aliasing into the mix for longer delay times... not that I personally think it's anything to aspire to.

Back in the old days we'd say "man I wish these BBDs didn't have all these crappy qualities" and now we think "if only we can figure out how to emulate those crappy qualities"...
Digital Larry
Want to quickly design your own effects patches for the Spin FV-1 DSP chip?
https://github.com/HolyCityAudio/SpinCAD-Designer

ElectricDruid

Definitely food for thought. I'm not wedded to the idea of a variable sample rate.

That said, it has some benefits for simplicity. The uP can simply be clocked at a different speed and bingo - everything else falls into place. Although I'd have to kick out my shelving filters on the delayed signal; filters that move about with delay time would be a bit weird. Or would they? Is that just more character? Like Larry said, maybe in twenty years someone will be trying to emulate those weird filters that used to move about when you changed the delay time!

Doing it the "pretend you've got a variable rate" way does use up more cycles. Whether that makes it unrealistic or not is a question of technical detail that I can't answer for certain currently.

I'm sure this is problem I'm going to be returning to. Just can't say when exactly.

Tom