To find a peak, differentiate the input signal using a high-pass analogue filter. Then zero-crossings of this filter output correspond to local extrema of the signal. A + to - crossing corresponds to a positive peak. Remember to allow for the delay through the high pass filter, and remember also the delay will vary with frequency.
You will need to apply some low pass filtering as well, to reduce the effect of noise, but this will not be enough by itself. The best way is to ‘mute’ the comparator digital output when the input signal is low. You can do this with another comparator, comparing the input signal with an adjustable threshold. You need some digital logic to allow an output (e.g. to trigger a monostable) only when the signal is ‘high’ and the zero crossing is in the ’right’ direction. This depends on your needs, but mostly you might want to detect maxima of a positive signal and/or minima of a negative signal. Note that if you need both, you will need two level comparators, with two different thresholds (positive & negative)
The logic can take the form of chips or of software, whichever you choose, as can the monostable.