diyAudio (
-   Analog Line Level (
-   -   Volume Equilizer (

gkhnoisgtht 4th March 2011 12:35 AM

Volume Equilizer
I have a project that I'm more than lost on where to start.

My end goal is this:

I want to make a circuit that will take different audio inputs (DVD, CD, PS3, etc) and output them all at the same audio level. Basically what I want is to have a audio level of 50db to be my midline audio output and 100db to be my maximum output.

Some things I don't know:

voltage peak to peak from different audio inputs

correlation between voltage level and audio level

Some Ideas I originally had:

initially I was going to make a peak detection circuit that would find the max voltage (and therefore audio) level, read in the voltage with a ADC, then set a DS1802 for the appropriate volume level output. But I'm not sure if this idea is sound.

It was also suggested that I could do the same above in analog only by having a peak detector circuit whose output would then be monitored by two threshold detector circuits, one for above and one for below, that would keep the maximum audio level at roughly 100db.

Another person suggested I use an AGC to take the differing audio inputs and produce an equal audio output.

Lastly it was suggested to use an audio compressor.

Ideally I would like to make everything in analog, or mostly analog so that its fast enough to normalize audio when the device turns on.

DF96 4th March 2011 10:14 AM

You are describing an audio compressor, which works by using AGC.

Mooly 4th March 2011 10:29 AM

Lets be sure what you want !

Do you really want to "compress" the audio such that there are limited dynamics or just to equalise levels between different inputs.

Can be as simple or complex as you want,

gkhnoisgtht 4th March 2011 01:42 PM

I guess what I would want is to equalize the levels between all the different inputs so that I wont have to mess with the volume on the tv when I switch devices. I would like the maximum audio output to be roughly 100db in strength from the device, or at least make all the signals have the same strength as they exit the device to go to the tv.

also simple would be nice

linuxworks 4th March 2011 04:06 PM

my volume control will do that, as do others. a few ways to approach it, but often, its as simple as having a 'last used volume value' array element for each of the inputs (or even outputs!). then as the user selects an input, it restores that last-used value.

my software also has a min/max clip window that won't let the user exceed a range (or window), to try to account for 'sensitivity' diffs on inputs.

that seems to be what you want, I think.

mine is not automatic, its 'just' an LCD/IR/analog-pot volume control and it lets you set values for these things but there's no 'auto mode' in there. not sure that's a great idea, to be honest. you 'calibrate' your inputs once and you are done, in theory.

(hoping to get my software finished in the next few weeks; then I will publish a link for people to try/play with. its arduino based with support for relay attens, initially, then pga chips to follow).

gkhnoisgtht 4th March 2011 04:32 PM

to a degree yes thats what I want. I would like the to be able to take the different inputs and either amplify or attenuate them so that my output remains at a constant level.

I'm thinking of this as kindof a halfway box that conditions the signal before the final device outputs the actual audio to the speakers. Such as a laptop has a very small audio range that would get amplified while a DVD player might get attenuated. This way the final device that outputs the audio receives the same signal, at least volume wise, no matter the input. Its hard to describe what i'm looking for but I hope that helps.

Also if you have any previous examples that would also be great.

Thanks for your help

Mooly 4th March 2011 05:20 PM

Unless I'm missing the plot here ;) it seems all you need is a simple amp (opamp say) and each switched source input to have it's own gain preset to a level by you.

If the source of lowest output is sufficient then it gets even easier as all you do is attenuate each input accordingly.

gkhnoisgtht 4th March 2011 05:31 PM

... actually yes I think thats what i want, just never thought of it that way....

so I would just compress the signal to the lowest input and have that level saved to a micro? or would it be easier to do it all in analog?

Thanks alot for your help

Mooly 4th March 2011 05:52 PM

Look at this circuit here,
Music Device Circuit: Mixer op-amp

By using a switch (input selector) in front of V2 V3 and V4 and choosing appropriate values for R2/3/4 you have a preamp that has adjustable gain for each input. It doesn't get any simpler really. You can have as many inputs as you like.

linuxworks 4th March 2011 07:45 PM

yes, it does get simpler.

you switch the gain as you switch inputs. you have ONE gain stage, one attenuator stage and you vary the atten based on which input you have selected.

to create an op-amp gain stage for each input is extreme overkill for this problem.

All times are GMT. The time now is 07:35 PM.

Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 18.75%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Copyright ©1999-2017 diyAudio