Let's do some calculations on the Sparkfun microphone.
Wikipedia (http://en.wikipedia.org/wiki/Sound_pressure) lists "Normal Conversation @ 1m" at 40-60 dB
SPL, which translates to a sound pressure level of 2-20 mPa (millipascals).
The Sparkfun microphone's datasheet lists its sensitivity as "- 46 ± 2.0, ( 0 dB = 1V / Pa ) at 1K Hz." This translates to a voltage output of about 5 mV per pascal. I have little experience with microphones and have no idea if this is typical or not.
Multiply 5 mV/Pa by 2-20 mPa and you get 10-100 uV raw output from the microphone. The Sparkfun mic breakout has a gain of 100 built in, so that's 1-10 mV
RMS output for normal speech volume.
This is far,
far too low to be picked up by the Arduino's 10-bit ADC, and will likely need to be multiplied by up to 100 times more. But by doing that you risk swamping the output with louder sounds.
The lm386 is default around 20? Gain unless you set it externally via resistors/caps the lm386 is weird to me as most opamps use a resistor divider to set the gain, yet the 386 a capacitor can adjust the gain.. I'll have to look into that sometime
The 386 is a class AB audio power amplifier, not an op amp. Totally different class of device.