dale116dot7
Well-known member
I moved this here because we were talking too much shop in the brewery.
My latest project:
The fine-pitched chip you see (well, they're almost all fine-pitched) is a DSPB56366 which is a 120 MHz digital signal processor with a host interface, multiple audio serial ports, and a bunch of internal memory. The two memory chips make up a 512k by 24 bit audio delay memory. The host processor (which you can see in the background) connects to the LCD/VFD, keypad, MIDI ports, level display. I originally started with an MC9S08AC128 but I thought the code was going to be too big and complicated so I changed to a MCF51AC256 which is a 'Coldfire' series part. If you're not familiar with that series, it is a stripped-down version of the 68000. I've seen this family used by Alesis (HD24, ION Q01), so it's not unusual to see it in a musical environment.
[quote author="nickt"]Dumb question Dale - why would you do this with hardware when you could do it in software? No disrespect intended just want to understand the motivation.[/quote]
Practically speaking, it is a software project. The hardware is actually a very minor part. The rest of my studio is basically a hardware/analogue setup but with one 24-track HD recorder and two DA88's. But the other thing about a 'hardware' solution is that I can use 100% of the processor's capabilities for reverb, I don't have to share.
If you look at the computing power of high-end reverbs, it is quite formidable. I don't know how many DSP's the Bricasti uses, but it's quite easy to get 2000 MIPS or even more by hooking up several in parallel. In theory, a PC can do it, but memory bandwidth is an issue. One of the limitations of a PC-style memory system which relies on caching heavily is that long delay lines need to be computed in long bursts. SDRAM prefers to be written to or retrieved by-the-page (usually 256 or 512 samples), where one approach to reverberation - the one I prefer due to simpler algorithms - needs to read and write essentially randomly throughout the memory. In that mode, SDRAM is exceptionally slow. If you are designing your own hardware, you can design a memory system that works quickly and efficiently for your own application. In my case, I use fast SRAM for the reverbs, with an option of SDRAM for bulk delay lines (predelay, echoes).
Also, my day job includes hardware design - I've been designing embedded controllers for almost 20 years (oh my, I'm getting too old) so I think I'm pretty good at it by now; to me it's no big deal.
-Dale
My latest project:
The fine-pitched chip you see (well, they're almost all fine-pitched) is a DSPB56366 which is a 120 MHz digital signal processor with a host interface, multiple audio serial ports, and a bunch of internal memory. The two memory chips make up a 512k by 24 bit audio delay memory. The host processor (which you can see in the background) connects to the LCD/VFD, keypad, MIDI ports, level display. I originally started with an MC9S08AC128 but I thought the code was going to be too big and complicated so I changed to a MCF51AC256 which is a 'Coldfire' series part. If you're not familiar with that series, it is a stripped-down version of the 68000. I've seen this family used by Alesis (HD24, ION Q01), so it's not unusual to see it in a musical environment.
[quote author="nickt"]Dumb question Dale - why would you do this with hardware when you could do it in software? No disrespect intended just want to understand the motivation.[/quote]
Practically speaking, it is a software project. The hardware is actually a very minor part. The rest of my studio is basically a hardware/analogue setup but with one 24-track HD recorder and two DA88's. But the other thing about a 'hardware' solution is that I can use 100% of the processor's capabilities for reverb, I don't have to share.
If you look at the computing power of high-end reverbs, it is quite formidable. I don't know how many DSP's the Bricasti uses, but it's quite easy to get 2000 MIPS or even more by hooking up several in parallel. In theory, a PC can do it, but memory bandwidth is an issue. One of the limitations of a PC-style memory system which relies on caching heavily is that long delay lines need to be computed in long bursts. SDRAM prefers to be written to or retrieved by-the-page (usually 256 or 512 samples), where one approach to reverberation - the one I prefer due to simpler algorithms - needs to read and write essentially randomly throughout the memory. In that mode, SDRAM is exceptionally slow. If you are designing your own hardware, you can design a memory system that works quickly and efficiently for your own application. In my case, I use fast SRAM for the reverbs, with an option of SDRAM for bulk delay lines (predelay, echoes).
Also, my day job includes hardware design - I've been designing embedded controllers for almost 20 years (oh my, I'm getting too old) so I think I'm pretty good at it by now; to me it's no big deal.
-Dale