So I've recently become very interested in electronics and all the gadgets you can put together, but I'm still very new to it. Since most of you are far more experienced than me, I was hoping to pluck your brain.
Essentially what I want is to use sound channels as input, such as 7.1 surround sound and based on the channel output power. Additionally if possible vary the power output based on the intensity of the sound.
Generally I just want any direction on if this is possible, if ARDUINO can do this and any links to helpful information that can guide me. I'm an engineering student, so I'm not afraid to dive right in to technical information
Any guidance on this would be really appreciated
thanks in advance.
and based on the channel output power.
Do what? How do you intend to measure power?
I suggest you pass the inputs to your surround sound amplifier through logarithmic digital potentiometer integrated circuits which are controlled by your Arduino.
At least initially, I would pass the signal from one channel through a precision rectifier. It's also possible to get full-wave rectification. You could sample the output from the rectifier using an analogue input to your Arduino (making sure the voltage cannot exceed the Arduino chip's Vcc supply voltage). Alternatively smooth the voltage with a resistor/capacitor network (preferably avoiding any significant load on the rectifier circuit) before sampling with your Arduino. However if you smooth the voltage you will lose the opportunity to calculate the short-term "power".
Of course you can monitor more than one channel with your Arduino if you wish (but note how many analogue inputs your Arduino has). You could use operational amplifiers to sum the rectified signals of two or more channels if you wish.
Dealing with sound sources requires external circuitry, for all AC processing, including source switching or volume adjustment. The Arduino can only process somewhat static (slowly changing) analog voltages, not waveforms.
Your first circuitry converts the averaged (envelope?) "power" levels into 0-5V signals, for input with analogRead(pin#).
Next comes the tweaking of the output channels, where the Arduino can provide an attenuation factor to an external amplifier (e.g. an DAC).
Please note that all levels are treated as linear (0-100%), not in a logarithmic scale (dB). While it's possible to convert linear inputs into dB values, for further processing, the conversions between linear and logarithmic values results in big jumps at the lower dB scale end, and in tiny jumps at the upper end. Depending on your needs, you may have to add lin/log converters in hardware, eventually using existing solutions (IC, digital logarithmic pots...) for sound processing.