Skip to main content


Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Recent Posts
Scientific Discussion / Re: What is the pre-amp input window range for dynamic microphone voltages
Last post by fooball -
You seem to be shifting the goal posts.

First you claim there is some initial current required to prime the amplifier input, then when I say there isn't you shift your argument onto quantization noise.

If you're talking about the fundamental physics, then at the very lowest levels you could be dealing with individual electrons and what's known as "shot noise"... but no real-life application is anywhere near that low a level and you would need specialist "instrumentation" amplifiers.

Microphones are essentially mechanical.  You will find specifications for their minimum sound pressure level sensitivity, and that is effectively a hysteresis.  Note this is nothing to do with the amplifier.  "Consumer grade" microphones will have a high minimum sound pressure level, and only be suitable for relatively high volumes, but studio microphones (expensive!), eg ribbon mics, are to all intents and purposes linear.  Once the microphone transfer function irregularities are below the background noise SPL it makes no difference.  The problem is not the minimum SPL, but the dynamic range.  It is practically impossible to build a microphone sensitive enough to collect the tiniest sound above the noise floor but not clip the loudest sounds.

Now: are you discussing a real-life problem you have with amplifying low level sounds, or is this just blue sky stuff?  If this is a real problem with low-level sounds, you just have to get hold of the most sensitive microphone you can afford, and use a proper studio microphone pre-amp.  Ordinary consumer electronics is not fitted with proper microphone inputs (even if it is marked as such).

To answer one of your basic questions, an unamplified microphone signal output is of the order 10mV, but it very much depends what technology the microphone is based on.  Signals of that level require very good noise management – screening, no hum loops, balanced lines etc, hence consumer equipment uses high-output microphones (ceramic) and/or amplification at the microphone end (batteries, or sometimes phantom power).  Only well-designed dedicated studios are suitable for the very best unamplified microphones.

What you call "kludges" are engineering out the imperfections of real-world components when trying to get more linearity and more output power.  Getting the best performance from things we can actually make in practice and within cost is the difference between engineering and science.  You might think of it as a compromise, but the alternative is nothing.  Engineers have been doing this stuff, very successfully, ever since the vacuum tube was invented – if you think you have a better idea, put your money where your mouth is and see if it flies in practice.

And as for not wanting to deal in dB – sorry, but that's what sound engineers work in.  Human aural perception is logarithmic, and by using a logarithmic scale we can deal with numbers in the range 1-100 (or so) instead of 0.00001 to 10.  Learn it and get used to it.
foobar2000 mobile / 1.4 can't find music on Pixel 7
Last post by srode1 -
Foosbar2000 1.4 can't find my music on my Pixel 7 which is in the internal shared storage music folder.   Worked fine before the update.   I can go select a file from that location and have foosbar2000 play if I pick it from the file folder but nothing shows when I open FB2K first.   Help?
3rd Party Plugins - (fb2k) / Re: JScript Panel script discussion/help
Last post by marc2k3 -
For these modded text display scripts which always display album art not as the background, this function needs updating....

Code: [Select]
function on_playback_dynamic_info_track(type) {
if (type == 0) text.metadb_changed();
else if (type == 1 && albumart.metadb_changed();

should now be...

Code: [Select]
function on_playback_dynamic_info_track(type) {
if (type == 0) text.metadb_changed();
else if (type == 1) albumart.metadb_changed();

But it only matters for online streams which supply album art. It can be ignored for local file playback.