Compressor with micro-based side chain designing?

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

mr coffee

Well-known member
GDIY Supporter
Joined
Aug 1, 2005
Messages
170
Location
North Carolina, USA
It seems that Mark McQuilken's (FMR) RNC (Real Nice Compressor) design using an analog VCA and a general-purpose microprocessor with code to generate a control voltage has been around for decades now, and it seems to have been VERY successful (How many products are still going strong with the same design, right?).

So, I just got to wondering why, on this Sunday afternoon, I haven't seen much discussion of software strategies to create a great-sounding compressor for various special purposes with  a software-based calculating engine running in one of these cheap microprocessors?  Or at least my searches haven't turned up a thing based on the various key words I've been able to think up so far.

Or has all that seeming fertile ground been passed over as everyone stumbles over themselves to write the newest software-based compressor "plug-in" for digital recording software, which, by definition, can only act on audio after it is already digitized?


Sure, Mark is clearly an exceptional guy who came up with what I'm guessing is a truly original concept (a side chain using a digital microcomputer for deriving the VCA control voltage), and developing a truly great implementation into his product, which seems to serve quite well in the typical roles for a compressor in recording (drum tracks, vocals, bass), and it is especially appreciated in the non-megabuck studios.  But there are clearly some other really brilliant engineering-type people around these here parts - many of whom seem to hang out around here quite a bit - and yet I haven't see any discussions of the merits of various computations tweaks, strategies, software switches, etc., to use in DIY software-based designs for compressor side chains.

Seems to me that the analog VCA-based compressor still has an edge over the software gain-varying variety with respect to noise in many instances, and you can adjust it by ear.  8)

There are clearly lots of people around here who love to build and tweak compressor designs, to add side chain insert circuits to serve special purposes (witness the "thrust" filter, various bass cut filters, loudness-based filters, inverse 3db/octave filter, etc.), discussions of multiple time-constant auto-release circuits, EL panel 'afterglow' emulation, using this particular rms detector circuit in some old unit somebody one had vs. the compressors they have access to now, etc., etc.. So wouldn't this be of interest around here?

Or does the divide between analog-circuitry-savvy people and microprocessor-programming-guru people just not have enough overlap for stuff like this to get any traction?

Perhaps I am the only one pondering such issues and wondering what other heights of compressor design greatness might be crammed into a $1 PIC - enhanced side chain. Or are there other proprietary designs around or going on (that I'm just oblivious to) that people need to keep mum about?

Is this fertile ground for a DIY discussion, and maybe even a crowd-source compressor project?

Ciao,
mr coffee
 
> a side chain using a digital microcomputer

Logic-systems are far-far older than the RNC. CBS used logic in a broadcast level controller to gate the decay when signal level dropped very low. I have seen similar things using vacuum diodes. BBC Monograph 70 from 1967 shows a logic-controlled triple time-constant circuit. Innovonics 260 pre-1985 does a lot of logic in its side-chain, albeit with opamps and diodes. (A later Innovonics product just dumps the signal to a DSP.) Barry Blesser's 1969 paper "Audio Dynamic Range Compression For Minimum Perceived Distortion" sketches his thoughts in the design of the EMT 156 which does logic.

All which has changed is that logic has come down from $5 per function to $2 for thousands of functions. I wonder how much "new logic" is practical, and how much of the programming just duplicates analog functions (rectification, filtering) cheaper.

> why,...., I haven't seen much discussion of software strategies

In general, it is heavy brain-work. You don't do that without a Product. Having found an effective strategy, you don't discuss it in public or somebody will copy your algorithms and sell for $10 cheaper, stealing your sales and profit.

> and you can adjust it by ear.

Yeah, well, that was half the problem with the EMT 156. It had SO many user adjustable parameters that nobody knew how to use it. (The other problem was a very complicated construction which resisted necessary maintenance.)

> maybe even a crowd-source

I have the feeling that no two engineers want the same features, most heavy engineers are not also heavy programmers, so it won't "gell". I could be wrong. But it would help if there was a basic hardware platform (VCA+PIC). But everybody has their own ideas on VCAs. One likes PWM, dBx-like chips have fans, I like photo-resistors (which are going out of style), and I know a guy lusting for a HOT tube job.
 
I have thought and written a great deal about this over the years.

Depending upon how far back you want to go the economics influencing  various design decisions have ebbed and flowed back and forth.

The cost of a premium A/D and back is probably still more expensive than a decent VCA but not by much.

Back 15-20 years ago I was working on a product definition where one inexpensive microprocessor was tasked with controlling  4 or so VCA channels with common controls. This would be way cheaper than making 4 analog compressors with other benefits.

I fear the window is closing (or closed) with future compressors being software layered on top of a digital mixer/console platform.

JR

PS. FWIW on one mixed technology (digital controlled analog) project I found that Digital Pots made very serviceable gain elements. That said if you can stay completely in the digital domain, gain control is a trivial data multiplication with no extra cost or linearity consequences.

 
mr coffee said:
Or does the divide between analog-circuitry-savvy people and microprocessor-programming-guru people just not have enough overlap for stuff like this to get any traction?

I think there's quite a few of us with audio analog and microcontroller/FPGA/digital-design skills here!

Perhaps I am the only one pondering such issues and wondering what other heights of compressor design greatness might be crammed into a $1 PIC - enhanced side chain. Or are there other proprietary designs around or going on (that I'm just oblivious to) that people need to keep mum about?

Once I heard about the RNC, my first thought was literally "Oh, yeah, that's easy."

I think that the Empirical Labs Distressor also uses a processor to drive a VCA control voltage.

The interesting part is determine what sort of control you'd like to have. Simple RMS, or peak detector with adjustable attack and decay, and perhaps emulation of the classic compressors. It's just the small matter of writing firmware.

Oh, and FWIW, I wouldn't do it in a PIC. I hate those things.

Is this fertile ground for a DIY discussion, and maybe even a crowd-source compressor project?

Discussion? Sure.

Grounds for discussion: are the 12-bit ADCs and DACs that are on many micro controllers adequate or do you have to go with external parts?

Build one? I thought about it but then I realized that I sold off all of my analog outboard gear and I do all of my mixing in the box. Even live shows: I get digital consoles pretty much all the time now. So in my case, it's something I wouldn't use.

-a
 
http://www.proaudiodesignforum.com/forum/php/viewtopic.php?f=6&t=143

Here is a link to a thread I started on another forum 7 years ago.

I think my mental stopping point is an effective control interface.  The conundrum for making an incredibly adjustable dynamics processor is where do you put all the knobs?  The cost of the knobs and encoders could swamp the cost of the processor.  (Thus my old product definition with N comps sharing one set of controls- each channel had it's own level and gain reduction meter, but all the other controls were shared)

My blue sky definition uses a computer or smart phone interface probably menu driven to allow drilling down to adjust "everything" with an elegant memory interface so you can recall presets (mimics) of industry standard comps as a starting (or end) point.  However carrying this blue sky to the next level we don't have a digitally controlled analog path and take the final remaining step to digitally controlled digital.. Now we revert to the already known format of a plug-in. This comes full circle to how many customers really want, or are willing to learn how to use a fully adjustable dynamics engine. My suspicion is very few, especially when you look at what modern products are successful (KISS).

When I was doing some design work at Peavey I always tried to make it hard to adjust a product such that it could make bad sounds. Making every aspect variable in a dynamics processor is inviting lots of opportunity to make stuff sound bad.  My mimic presets was throwing a bone to the lazy users who just want to sound like some legacy box.

YMMV

JR
 
Andy Peters said:
Oh, and FWIW, I wouldn't do it in a PIC. I hate those things.

;D ;D ;D  Yup, we know...  I have a love hate relationship with microchip,,, but find the hardware serviceable.

Build one? I thought about it but then I realized that I sold off all of my analog outboard gear and I do all of my mixing in the box. Even live shows: I get digital consoles pretty much all the time now. So in my case, it's something I wouldn't use.

-a

While not 1:1 I worked on a design to make a digitally controlled analog "Automatic mixer". For those not familiar with the concept,  automatic mixers automatically share gain between multiple channels so require precise level detection and comparison  of the per channel level to a sum of all for per channel gain control calculations. So lots of math but right in the sweet spot for a modern micro.. The 12 bit A/Ds 70 dB dynamic range were adequate to perform AM math (and most dynamics too). Back in the day I've designed completely analog AM with one VCA per channel and precision log conversion to do the dB gain math.

I breadboarded both  uC to DAC to VCA for channel gain control, and  uC to DPOT. I was pleasantly surprised by how well the DPOTs sounded for this application, so abandoned the VCA approach.  I still have a proto board laying around with the glue to drive a half dozen VCAs from a micro, but haven't touched it in years.

In the course of this design development I kept thinking to myself that the marginal cost  to add decent A/D/A and just do this completely in the digital domain was not very much, and if willing to accept consumer grade codecs probably cheaper than the DPOTs when you consider the glue circuitry. But an all digital solution was not acceptable to the analog mixer company, that I was trying to drag kicking and screaming into the digital age...

Unfortunately their analog console business took a hit due to the new generation of digital consoles available for less than a few $k, that don't suck, and their new product development program got axed (at least the one I was involved with)

These days I do not see digitally controlled analog compressors as more than a niche product.  Back decades ago I wanted to mimic other legacy comps, but today I would use all DSP instead of digitally controlled analog, but today I still don't want to do one...

Maybe a good project for a plug-in app developer.

JR

 
Sorry I started this topic and promptly disappeared - but I'm back now.  Minor catastrophe. <eye roll>

Thanks for all the great responses.Thanks for bringing me up to date on some of the (historical) intelligient sidechain efforts I wasn't aware of (PRR and Andy).

And John, you obviously spent a lot of thought on how ultra-programmable a design could become (and thanks for the link to your old thread - much appreciated). And I readily follow the logic of, "but then who would actually want to spend the time developing the chops to use the thing to it's potential?  And how much would the front panel controls cost to make it user friendly? THEN you'd need presets for classic compressor sounds to attract buyers who don't fancy the learning curve, so THEN maybe you add in a USB interface, a sophisticated PC software interface program, and suddenly you have made a computer plug-in and who needs VCAs in hardware after all that!" Gawd, we can all get together and dream up some amazing stuff when we all put our minds to it that will never go commercial. <sigh>

Andy Peters said
Once I heard about the RNC, my first thought was literally "Oh, yeah, that's easy."

I  disagree. A blend of multiple attack-release circuits generating a more complex control voltage, and doing it WELL, isn't so easy. Just doing an attack decay, mathematical rms, or even multiple release times, may well be pretty straightforward. Doing multiple release rates WELL for a particular "program source" purpose, takes skill and ears.

And Andy, what do you have against PICs? What do you prefer instead? Was that remark because  you believe it takes a DSP and 24-bit A\D converter to generate a decent side-chain CV? An 8-pin IC looked attractive to me to do most of a side-chain circuit - especially if it only costs a dollar.

I was hoping that some other folks around here were interested in envelope detection circuits for compressor side-chains that aren't software implementations of easy-to-do-in-hardware side-chains. The Hoover envelope follower using  round-robin peak-detection comes to my mind as something a small micro could be tasked with, as well as various sophisticated ripple-reduction strategies.  So does side-chain filtering tricks like the thrust filter, HPF, or inverse pink noise filtering. Perhaps, as PRR suggested,
In general, it is heavy brain-work. You don't do that without a Product. Having found an effective strategy, you don't discuss it in public or somebody will copy your algorithms and sell for $10 cheaper, stealing your sales and profit.
.  I'm not doing this for a living, so I guess I'm in a different boat.

The discussion I was hoping to start was more about what different and interesting side-chain stuff could go in an inexpensive PIC for a "niche" use? I was thinking of things like electric guitar sustain devices in particular, where large amounts of gain change are required as an "effect", but large-gain-change artifacts, ripple, and such can make most circuits sound less than artistically pleasing.

And BTW, PRR,  I'm fond of photocell curves for(some) compression purposes, too.  And they can be forced into service as a "smoothing filter" for a control voltage to control a  VCA instead of the usual storage capacitor approach. It does have some unique sound qualities that seem hard to get any other way. Yeah, I know, that's adding in an expensive part to do a "simple" job, and it probably wouldn't fly as a commercial product. <sigh>

But what if we could program a cheap side-chain micro to mimic the positive qualities of that photocell response? The (relatively) fast attack AND the "rms-like" qualities of the unfiltered light source hitting a photocell, with it's quirky, but ear-pleasing, recovery curve. And without the aging and production spread quirks of the real deal. Hmmm, get the idea of what I'm thinking about here?

And Andy, if that sounds easy to do to you, PLEASE share!  8)

Thanks,

mr coffee

 
mr coffee said:
Sorry I started this topic and promptly disappeared - but I'm back now.  Minor catastrophe. <eye roll>

Thanks for all the great responses.Thanks for bringing me up to date on some of the (historical) intelligient sidechain efforts I wasn't aware of (PRR and Andy).

And John, you obviously spent a lot of thought on how ultra-programmable a design could become (and thanks for the link to your old thread - much appreciated). And I readily follow the logic of, "but then who would actually want to spend the time developing the chops to use the thing to it's potential?  And how much would the front panel controls cost to make it user friendly? THEN you'd need presets for classic compressor sounds to attract buyers who don't fancy the learning curve, so THEN maybe you add in a USB interface, a sophisticated PC software interface program, and suddenly you have made a computer plug-in and who needs VCAs in hardware after all that!" Gawd, we can all get together and dream up some amazing stuff when we all put our minds to it that will never go commercial. <sigh>

Andy Peters said
Once I heard about the RNC, my first thought was literally "Oh, yeah, that's easy."

I  disagree. A blend of multiple attack-release circuits generating a more complex control voltage, and doing it WELL, isn't so easy. Just doing an attack decay, mathematical rms, or even multiple release times, may well be pretty straightforward. Doing multiple release rates WELL for a particular "program source" purpose, takes skill and ears.
I think Andy is talking about the coding, I'm not sure where ears get involved if we make these parameters adjustable.

I've written about all (most) of this before..

Att and release is relatively simple math to mimic a one pole response.  One subtraction, a multiply of that difference, then an add per time interval... Some advanced DSP combine some of that into a single instruction (one clock tick. )...  The side-chain does not need to be very fast (in micro terms where stuff happens on a microsecond time scale.

RMS conversion is a little harder, I had to write a several step routine to perform the square root calculation (roughly one tick per bit of resolution).  My initial trials was that there was not a huge difference between RMS and simple AVE when using identical time constants.
And Andy, what do you have against PICs? What do you prefer instead? Was that remark because  you believe it takes a DSP and 24-bit A\D converter to generate a decent side-chain CV? An 8-pin IC looked attractive to me to do most of a side-chain circuit - especially if it only costs a dollar.
It is typical to stick with the micro family you learned on, most experienced engineers started on non-PIC processors because they didn't exist back then (I wasn't as lucky).

I have had decent success developing an 8 ch automatic mixer using a 12 bit side chain.  The one pole response of the attack/release circuit can reduce the noise floor slightly but I didn't explore how much.

You only need full dynamic range for the audio path but side chain can be much relaxed.  (Of course a really noisy side chain will corrupt the primary path.)
I was hoping that some other folks around here were interested in envelope detection circuits for compressor side-chains that aren't software implementations of easy-to-do-in-hardware side-chains. The Hoover envelope follower using  round-robin peak-detection comes to my mind as something a small micro could be tasked with, as well as various sophisticated ripple-reduction strategies.  So does side-chain filtering tricks like the thrust filter, HPF, or inverse pink noise filtering. Perhaps, as PRR suggested,
In general, it is heavy brain-work. You don't do that without a Product. Having found an effective strategy, you don't discuss it in public or somebody will copy your algorithms and sell for $10 cheaper, stealing your sales and profit.
.  I'm not doing this for a living, so I guess I'm in a different boat.
I never did that stuff for analog dynamic processors.

The best digital advantage is to look ahead... If you can anticipate a dynamic level change you can very gently adjust the gain change to conceal the man behind the curtain. But once again this points us to operating completely in the digital domain (plug-ins). If you really want to get crazy and can tolerate non-real time processing, crunch the audio file while playing it backwards... (that makes a bunch easier).
The discussion I was hoping to start was more about what different and interesting side-chain stuff could go in an inexpensive PIC for a "niche" use? I was thinking of things like electric guitar sustain devices in particular, where large amounts of gain change are required as an "effect", but large-gain-change artifacts, ripple, and such can make most circuits sound less than artistically pleasing.
Guitar pedals are pretty mature and I don't immediately see much advantage from a micro based solution.  (I have a friend with a pedal company "amptweaker" I guess I can ask him.)
And BTW, PRR,  I'm fond of photocell curves for(some) compression purposes, too.  And they can be forced into service as a "smoothing filter" for a control voltage to control a  VCA instead of the usual storage capacitor approach. It does have some unique sound qualities that seem hard to get any other way. Yeah, I know, that's adding in an expensive part to do a "simple" job, and it probably wouldn't fly as a commercial product. <sigh>

But what if we could program a cheap side-chain micro to mimic the positive qualities of that photocell response? The (relatively) fast attack AND the "rms-like" qualities of the unfiltered light source hitting a photocell, with it's quirky, but ear-pleasing, recovery curve. And without the aging and production spread quirks of the real deal. Hmmm, get the idea of what I'm thinking about here?
I wanted to make a programable comp that could mimic classic comps back in the '80s. using the technology of the day, I wanted to save the settings used onto the leader of the tape using FSK while mixing in the studio. Anyone remember tape?  ;D ;D
And Andy, if that sounds easy to do to you, PLEASE share!  8)

Thanks,

mr coffee

To defend Andy this isn't very hard..  I suspect if he thought it was a good idea he already would have done one.

I carried the mental exercise all the way to the end game, and didn't like where it ended up (plug-in)..

JR
 
I've designed a commercial de-esser using a digital side-chain. Note that you might want to replace the VCA with an MDAC. Also for fast attack times you will run into latency issues. High sampling rates (multiples of 100 kHz) and a fast DSP cures this.

Samuel
 
Samuel Groner said:
I've designed a commercial de-esser using a digital side-chain. Note that you might want to replace the VCA with an MDAC. Also for fast attack times you will run into latency issues. High sampling rates (multiples of 100 kHz) and a fast DSP cures this.

Samuel

Hi Sam... I'm curious about what you used for a MDAC... I haven't seen too many around. I remember them more from decades ago. (with googles help I found a 14b MDAC part AD5453  not cheap tho).

I had good audio results using DPOTs (digital pots)...  I guess a DPOT can be a MDAC, while MDACs may not cover all DPOT applications. The modern DPOTs are much better than the early DPOTs that had glitch issues during  major code transitions.

JR
 
Samuel Groner said:
That was an AD5543.

Samuel

Sweet,  a 16 bit MDAC...  probably too expensive for my tastes (I'm cheap). My go-to parts vendor doesn't even list it, just the 14b version and that is already a few times the cost of a VCA.

With a 16b gain control, side chain may need to be better than 12b to not step on the noise floor, but you can smooth the side chain data some with LP filtering.

Thanks for the info...

JR
 
Sam,
What did you prefer about the MDAC approach with the AD5433  over the old Blackmer VCA circuits?

Were you able to get better s/n ratios?

John,

My references to needing "ears" and programming chops is for the purpose of developing a non-conventional side-chain design that does one or two compressor-as-an-effect things particularly well. The point of the micro-based side-chain here is to be able to implement a complex algorithm cheaply, not to make it into a mega-adjustable "silver-hammer" that can do a zillion things (if you can figure out how to work it). Or just find the preset you are looking for!

I understand that modeling rc time constants is pretty straightforward micro programming for the digital folks. But creating and tweaking a different side-chain to sound right in demanding compressor-as-an-effect applications wouldn't be "easy" for ME by any means. I guess it's my idea, and maybe I'm the only one who is thinking about going there, But I thought I'd see if there were other folks around here that had been playing with such an idea.

Andy,

if this is stuff you can just pull out of your hat, I'm really impressed, and I hope you'll choose to share your thoughts here. That's the kind of discussion I hoped this thread might generate. And I really would like to hear what you prefer over PICs and why.  I'm just getting started at micro programming, so I don't have any established investment in any particular architecture because I already know this-or-that assembler and programming tricks.

Thanks!
 
Mr Coffee, don't make it too complicated. Start simple.
Get a fast MCU with an A/D to detect input level (you'll need to scale the analog V down and rectify, smooth, and buffer).
Forget about fancy computations, start by just getting the average voltage (Microchip A/D's have a feature to easily average n samples) as a faux RMS level.
Then use digital outputs of the MCU to shift out the control voltage to an R2R ladder (a cheap and easy D/A), buffer the output voltage, and use that as the control voltage for your VCA.

You can use 1K pots connected to V and 0V, and the wiper going to the input of other A/D input pins for your Threshold/Ratio/Attack/Release controls.  IIRC Microchip A/Ds are ok being driven from <4.7k...but double check the datasheet on that.

Once you've got that set up, have fun coding obscure time-constants for attack/release.
I played with this idea a loooong time ago when I actually had the time and I was just getting started with MCUs. Time is in short supply these days. :(
 
mr coffee said:
John,

My references to needing "ears" and programming chops is for the purpose of developing a non-conventional side-chain design that does one or two compressor-as-an-effect things particularly well. The point of the micro-based side-chain here is to be able to implement a complex algorithm cheaply, not to make it into a mega-adjustable "silver-hammer" that can do a zillion things (if you can figure out how to work it). Or just find the preset you are looking for!
"Effects" design is much more subjective undertaking.  I haven't designed an effect since the late '70s/early '80s with a studio delay line/flanger, and even then I spent a lot of time in a friends studio to share my efforts with other recording professionals.  Not that I don't trust my own ears, but opinions about effects are a very individual thing. I think I got that one right (LOFT 440-450) since they are still being used in some studios, more than 3 decades later, if they can keep them working (some parts are in short supply)..
I understand that modeling rc time constants is pretty straightforward micro programming for the digital folks. But creating and tweaking a different side-chain to sound right in demanding compressor-as-an-effect applications wouldn't be "easy" for ME by any means. I guess it's my idea, and maybe I'm the only one who is thinking about going there, But I thought I'd see if there were other folks around here that had been playing with such an idea.

Over the decades I have done a lot of work with dynamics processors, but in 99.9% of the time my goal was to make the gain manipulations transparent. Even that old delay line had companding noise reduction to deal with the limited dynamic range of BBD ASRs. If course it is impossible to make compression and expansion completely transparent, we can make it pretty damn good. A digital side-chain opens up new possibilities for marginal improvement over analog side-chains, but quantum improvement requires non-real time crunching. Some advanced hybrid processors add a digital delay in front of an analog dynamic path to buy a few mSec of anticipation.  While there is benefit from even more advance information, at some point the latency becomes an issue. 

JR

PS:  A bench tool that I found very useful for dialing in dynamics processors was a "burst synthesizer". Effectively a smart noise gate, that instead of completely turning the audio path on/off would command a variable amount of attenuation.  Further this smart gate would coordinate the gain step with zero crossings, such that it did not click or inject DC (or LF content) by switching on/off at odd zero crossings. Most dynamics designers will gravitate to some familiar hot tracks to test their design but when parsing out undesirable artifacts it can be difficult to test all possibilities using recordings.  With my burst box I could punch up the crest factor of any track to make it more dynamic to exercise my compressor/expander  designs.

I don't know if anybody wants to buy a compressor that sounds like it isn't doing anything.  8)
 
Sorry for the late reply ... we took the kid to see a couple of big holes in the ground in Northern Arizona.

mr coffee said:
Andy Peters said
Once I heard about the RNC, my first thought was literally "Oh, yeah, that's easy."

I  disagree. A blend of multiple attack-release circuits generating a more complex control voltage, and doing it WELL, isn't so easy. Just doing an attack decay, mathematical rms, or even multiple release times, may well be pretty straightforward. Doing multiple release rates WELL for a particular "program source" purpose, takes skill and ears.

I meant that the hardware design is easy: input buffer, gain-control element, output buffer for the audio path, and some sort of microcontroller with built-in ADC and DAC for the side-chain. Throw in the user interface (knobs and lights).

Then it's all a small matter of firmware.

And Andy, what do you have against PICs? What do you prefer instead? Was that remark because  you believe it takes a DSP and 24-bit A\D converter to generate a decent side-chain CV? An 8-pin IC looked attractive to me to do most of a side-chain circuit - especially if it only costs a dollar.

What do I have against PICs. Hmmm. The shitty instruction set, the shitty development tools, etc etc.  Maybe if you're doing production runs where the parts cost is paramount and you can afford longer development cycles, sure, the PIC might make sense. But for a hobby project?

And yeah, it's personal preference. I started out with the 8051, and once Silicon Labs (way back when they were still Cygnal) came out with their fast flash-based parts with decent 12-bit ADCs and DACs and all of that, plus on-board debug capability (no more Nohau bond-out pod emulator crap) AND they basically gave you the JTAG programming dongle for $40, I stayed with them. 

Now they give you the Keil tools for free, too.  I don't do assembly code. There is no need to write anything in assembler.

OK, so the parts aren't 8 pins. 24 or 32, depending. But remember: you still need to scan knobs and buttons and drive LEDs, so those extra pins come in handy. 

Most SiLabs parts are 25 MHz. Some are 50 MHz and the F120 family runs at 100 MHz. With a hardware multiplier. Which makes doing some of the more interesting calculations you'd like to do somewhat easier.

Of course you might want to look into an ARM if your math gets hairy. And Cortex-M0 ARMs are cheap these days. Not a dollar. But close.

What I mean is that you have ideas about side-chain detection which seem to be non-trivial, so doing them in C rather than assembler makes your development and debug easier, and extra CPU horsepower for not much more money may actually make it possible to do what you want.

-a
 
Ethan said:
Then use digital outputs of the MCU to shift out the control voltage to an R2R ladder (a cheap and easy D/A), buffer the output voltage, and use that as the control voltage for your VCA.

Or use a PWM with appropriate smoothing. One pin!

-a
 
Ethan,
I figured I hadn't come up with all that new and original an idea.  Thanks much for sharing some of your ideas and wisdom gained from your investigations into digital side-chain land.

You mentioned
getting the average voltage (Microchip A/D's have a feature to easily average n samples) as a faux RMS level.

Can you point me to what you are referring to here? I've been looking around in datasheets for several PICs and didn't see anything that sounded like an A\D sample average feature, at least not in the ones I've looked at so far. That and\or a particular micro recommendation would be great!

John,
The "burst synthesizer" sounds like a good tool for exercising stuff like this. I've been using digital audio recordings of guitar playing chords, single note soloing throughout the instrument's range, etc., accompanied by the periodic strap-on-the-guitar-and-see-if-it-sounds-good when I play through it,  including less than perfect playing technique, which I am quite expert at.  ;D

I LOVED the closing quote
Code:
I don't know if anybody wants to buy a compressor that sounds like it isn't doing anything.  8)

Probably not in this instance!! LOL

Andy,

Thanks for clearing that up. I also enjoyed the
Then it's all a small matter of firmware.

Thanks also for your remarks about choice of micros. I like the idea of 12-bit a\d and d\a on chip... I'm going to check out Sil Labs offerings. I have heard people knock Microchip and their debugging environment before, but that's been a long time - over a decade at least. Not that I've heard different since - LOL- I guess I have always been on the periphery of the micro programming  stuff, and the Microchip advertising talks about on-chip debugging, free integrated development environment, cheap programmers, and I know of people using the little 8-pin guys to do some pretty cool stuff, so I guess I assumed they got their act together better. What do I really know?  That's why I'm asking.

I've never looked at ARM, and I've heard other people talking about AVR and some other brands that they liked better than Microchip, but I was not getting jazzed enough about actually doing some programming for something like this to really look into it until now. Maybe that's another thread - maybe even in another forum, or maybe I just need to spend some more time getting a feel for the capabilities of various offerings...boy that sounds like that could be a major undertaking!!

Thanks for the PWM output remark - the cheap 8-pin PIC I was eyeing has 16-bit PWM out, and I was thinking I could pull that off for the side-chain cv output, and that sounds simpler and easier than a  r2r network.

Or other folks that would like to share their suggestions for a side-chain micro?

Thanks all
 
mr coffee said:
Thanks for the PWM output remark - the cheap 8-pin PIC I was eyeing has 16-bit PWM out, and I was thinking I could pull that off for the side-chain cv output, and that sounds simpler and easier than a  r2r network.

Or other folks that would like to share their suggestions for a side-chain micro?

Thanks all

The last hybrid (digital controlled analog) project I worked on I used DACs to interface between the micro and analog VCA (I think I used 10 or 12 bit DACs). I don't recall my thought process (it was a few years ago) but I suspect the DACs were easier to multiplex than using a dedicate PWM line per channel. I am not allergic to using PWM outputs, I use PWM to make the sine waves for my current product (Drum tuner).

JR

PS: I use PICs but I am mostly agnostic about that decision... There probably isn't that much difference between brands, and even microchip is licensing the next gen big stuff from ARM holdings. I am not a fan of Microchip's customer service (I don't think they have figured out that I am the customer), but I like the silicon. They have a family of DSPics I have played with that have several 12b  a/d's and a stereo 16b DAC on board.

 
Andy Peters said:
Ethan said:
Then use digital outputs of the MCU to shift out the control voltage to an R2R ladder (a cheap and easy D/A), buffer the output voltage, and use that as the control voltage for your VCA.

Or use a PWM with appropriate smoothing. One pin!

-a
That's a more elegant solution but might be tough for a beginner to setup, compared to incrementing/decrementing a group of output pins.

[quote author=mr coffee]Can you point me to what you are referring to here? I've been looking around in datasheets for several PICs and didn't see anything that sounded like an A\D sample average feature, at least not in the ones I've looked at so far. That and\or a particular micro recommendation would be great! [/quote]
Well, the first thing you may want to decide is what family of MCU you want to use.  I would probably start with Microchip's PIC24.
Then decide what peripherals you need (A/D, PWM, etc).
Then figure out how many general purpose inputs and outputs your design will need (for switches, pots, encoders, etc...) allowing for a few extra pins will save you some headache--having a few left over is better than being a few short at the 11th hour. Use microchip's website to filter results based on your needs to select the MCU you want.
If you choose to use the PIC24 family, look at the A/D section of the FAMILY datasheet:
http://www.microchip.com.tw/Data_CD/Reference%20Manuals/16-Bits%20Family%20Reference%20Manual/PIC24F%20FRM%20Section%2017.%2010-Bit%20AD%20Converter%20(DS39705A).pdf

There you will find conversion sequence examples with sample code.
 

Latest posts

Back
Top