Awful sound to noise ratio with Mini USB Microphone

I recently started using Adafruit’s mini USB microphone with my two Raspberry Pi 3 B+ models. Test recordings resulted in almost pure noise (using arecord and aplay). Here’s the tests I’ve done so far:

  • I played the recorded file back on my computer to the same result.
  • I recorded with the microphone connected to my PC. Resulted in clean audio with incredibly low gain. Massively boosting the gain resulted in decent, slightly noisy audio.
  • I recorded on the Pi using a Blue Yeti, which resulted in decent, kinda noisy audio.

Seems the microphone has really low gain and there is some noise being added through the Pi’s USB ports. I tried using alsamixer to adjust the gain, but it stated that the microphone has no settings associated with it.

Both Pis are powered using the supplied Pi power adapters. I spoke on the phone with support and was told to, in addition to creating this thread, try using an alternate power supply such as an iPhone wall charger with USB cable. Will need to grab one from home to do that, though in the mean time, any suggestions would be most welcome.

Cheers

EDIT: Think I’ve figured out the noise now. arecord was using a default of 44.1 kHz 8-bit audio. The microphone seems to need 48 kHz with 16-bit (given by “-f dat” with arecord/aplay). The gain is still horribly low, but I’m sure I can see about raising that somewhere in the software.

Hi Michael,

I’ve been looking into this a bit more since we spoke on the phone. I’ve found a couple solutions out there that might fix this, but ultimately it looks like this is just a pretty simple microphone with a short sensing range.

Here is what I found, this is a guide for setting up on the RPi including gain adjust:
http://wiki.sunfounder.cc/index.php?title=To_use_USB_mini_microphone_on_Raspbian

This provides instructions on creating a software pre-amp in linux:
https://www.linuxquestions.org/questions/slackware-14/alsa-with-pre-amp-4175527907/

This is a forum where people explore options to fix this same limitation. I don’t believe they reach a conclusion but there is some good stuff to try along the way.
https://www.raspberrypi.org/forums/viewtopic.php?t=204398

Let me know how it goes!