Here's another approach to the problem:
I'm assuming its fed by a buffer amp with a very low output impedance.
Detect the peaks by the reversal of the current through a capacitor, and use that to trigger a sample & hold circuit to hold the output till the next peak. On a waveform with alternating positive and negative peaks that will give you a squarewave that follows the envelope. However on more complex waveforms it gets a bit messy.
The devil is however in the details - to cover the whole audio frequency range (say 50Hz to 20Khz) you need an analog switch with a very high ratio of off resistance to on resistance.
Ltspice sim attached. Change the .param freq to change the frequency as it alters the simulation length to match. You'll need
74hct.lib and the
74HCT symbols, specifically the quad XOR
74HCT86, from the LTwiki files area.
A practical implementation would either run everything at 5V single supply using rail to rail CMOS OPAMPs and 74HC logic, or use 4000 series CMOS logic to avoid the need for a 5V logic supply. If using logic with symmetrical thresholds, omit R4 and readjust the R3*C3 time constant (which controls the sampling gate time) to suit. Also the peak detector comparator will need a trace of hysteresis added to reduce chatter due to noise. Too much compromises its ability to follow small signals and skews the sampling point away from the peak.