wolframore:
It's not the mic... a more sensitive mic will just pick up more ambient noise as well:
In a recording studio the most sensitive mics pick up sound from across the sound stage like it was next to you... but pickup pattern is different (polar pattern) and it's also prone to picking up noise like someone smoothing their clothes and other annoying sounds... But you can't use this mic with these kinds of amplification in other settings... too much noise!...
If conversational speech is what you're after it's about 70dB... super quiet room may be 40-50dB.... this is probably very rare... more like 50-65dB is normal with some activity.
You are looking at 5-15dB difference you're trying to capture.... except your source 70dB gets lower with distance (see below).... when you amplify this you are going to get a lot of noise...
Perhaps a hypercardoid mic would help if you could point it exactly where you want to pick up sound... it has a narrow angle of pickup. Therefore you can boost gain more to pickup more of what you want and less of what you don't want.
As sound travels it radiates out and loses pressure. At some point it will be at the level of your background noise... except for out in space there is always some noise (since sound can't travel in a vacuum) ... studios control this noise and get better recording through better signal to noise ratio.
A sound that is twice as far spreads out 4 times the area so it becomes 1/4 the intensity. (inverse square law of sound)
You have to control the noise and the signal... we used to always say it's not the instrument it's the musician while recording... don't blame the mic or the preamp... it does what it's suppose to do and does it very well... what you're trying to do might not be possible without some sort of noise cancelling... (which is near impossible to determine from what is noise) or hyper focused pickup if you know exactly where this sound is picked up from.
Thank you, you are fully right, including logarithmic perception of sound by human air. You also right about capturing of "low volume sound". BUT- my setup works only if sound source is very close- detects load whistles, claps or speaker , if it is in close distance to microphone. Also in my case sound capturing quality is not so important, as,in fact, I am reducing sound to 3 frequency bands -low, medium and high for showing result in RGB strip (by using Fourier transformation). Here is alot of approaches how to do it. NP here. But as I have 2 problems - very little range of input signal and much "technical" noise, what, in fact, replaces detection of sound, I even cannot detect is the room silent or not, for example, TV box is switched on. So, this is not a question of sound quality, this is more question about noise reduction.
This might not be pure microphone issue, I think, noise is coming from power supply, most likely is from arduino uno as such. My understanding- signal (analogRead() )should be close to bias and stay relatively stable, if no sound at all. But it is not so. Serial monitor shows it is "jumping" a lot. If I cannot resolve this, microphone sensitivity - detection of low sound becomes irrelevant. This is why I have suspected hw. I think, if microphone circuit would produce good output signal in range 0..5v, then Arduino should be able to do good tranfer it to digital representation. But, I assume, mentioned circuits produces output in 0..3 volts or even less, and therefore noise "eats up" valid signal. Changing transfer ratio (analogReference()) does not help, as this changes "stairs" length, not amount of steps in it. In other words - I would be able to do a lot, if I have valid input signal. Theoretically good ADC & preamp would help, I ordered such and will be back to experiments as soon I receive it
I also might be bad quality of UNO, not tried much manufactures to compare.