[sdiy] Virtual Analog ICs was Re: Designing Analog ICs

Tom Wiltshire tom at electricdruid.net
Wed Sep 7 20:14:08 CEST 2011


On 7 Sep 2011, at 17:46, Scott Nordlund wrote:

>> 
>> This is essentially what I was trying to do with my PIC projects some years ago. Take a digital chip with analog I/O and hide all the digital stuff inside the chip, so that from a users point of view, it acts just like an analog chip. I was reasonably successful for low-speed modulation stuff, even using only a $1.50 PIC.
>> 
>> What technology would I be looking at to do the same for audio? At 96KHz? At 192KHz/24-bit? FPGA?
> The Spin Semiconductor FV-1 has an onboard stereo codec. I think it's 48 kHz, 128 instructions per sample. The Alesis Ion/Micron use a Wavefront AL3101 (DSP-1K) per voice, and another (9 total) for effects. It's 48 kHz, 1024 instructions per sample, but no codec.  They all have onboard RAM/ROM and instruction sets geared for synthesis/effects. For comparison,  I think the DSP chip in the Yamaha SPX90 (YM3804) is 31.25 kHz, 64 instructions per sample, with no onboard codec or RAM, just a small control store that's modified by an external chip for modulation.

The Spin chip is pretty much what I'm after, it's true, but I was wanting a bit more horsepower than it offers. It's one of those "just good enough" DSPs - built for budget effects, since that's the mass market. The use of floating point storage internally is clever though, and gets the best out of a small chip.

If there was a "FV-1000", with more RAM/ROM, and a 96KHz/192KHz sample rate, I'd be on it like shot!

>> It seems to me that digital stuff has got good enough now that you *can* build something which is functionally identical. People always go "Ah, but what about the interesting non-linearities that analog introduces? Digital is always too clean..." but that argument doesn't really hold water any more, since you can accurately model whatever non-linearities you want too. It's a lot more work than building a clean design, but it's possible - the history of the digital Moog filter emulation is essentially that process.
> I think mostly what's held back digital synths is the necessity for compromise. Engineers got a surprising amount of performance out of modest hardware, but it came at the cost of sub-optimal sound quality- low sample rates, slow modulation, cheap interpolation, compressed sample data, etc. We're in a much better position now to implement algorithms that offer really good quality without cutting corners.

I absolutely agree. Which is why the Spin chip isn't quite enough. If I want to do <boring example alert!> a Moog filter emulation, I need to have some space for those nice sigmoid distortion functions between each stage that we discussed a few weeks back. I won't be able to get that sort of thing in the Spin chip. And the reason for the high sample rates is not because I'm some audiophile nutter who thinks he can hear up to 100KHz but rather because many filter algorithms start to show problems when you get up close to nyquist, and running at double-rate or better is a simple solution to those problems. I suppose I could always interpolate on the way in, process at the higher rate, and then filter and downsample on the way out - but's that'd be even more work, and even more processing.

> BUT I think software still offers a lot more flexibility here, since you can scale and reconfigure things arbitrarily, and render offline at obscene sample rates. And some of the advantages of analog (feedback especially) aren't really compatible with a DSP/analog hybrid format, due to latency. For me, I think Pure Data (or Max/MSP or Reaktor or whatever) still comes out on top as a geek-enthusiast DSP platform.

But hang on! - This *IS* software, isn't it? At least, I can put whatever code I like in this processor and make it do whatever I like. Ok, it's realtime, and that means there's a time limit per sample, but real time is the name of the game if I'm trying to copy analog ICs. As the sample rates get higher, the latency can go down - to one sample in theory, and that's how I'd want it in pratice. I agree that PD/Max/Etc are great for testing weird geek-out DSP ideas, but for me it's still not a synth until it's dedicated hardware - although these days, that mostly means the interface rather than the guts (Nord stuff being one example).

Regards,
Tom



 




More information about the Synth-diy mailing list