The circuit giving out the voltages should have a detection slope of -25 mV / dB.
And like I said, the Arduino doesn't have a DAC so you can't (easily) control the volume digitally.
The Arduino can't directly drive speakers or headphones without an amplifier or driver circuit. (It can drive a piezo transducer.) The minimum resistance/impedance is 125 Ohms (40mA at 5V). You can add a resistor in series with the speakers/headphones and that will reduce the volume, but with headphones it still may he loud enough. And yes, you should also have a capacitor to block the DC. But the DC voltage also gets knocked-down but the resistor so there will be no damage.