Record from 4 microphones USB/Bluetooth/3,5mm

I want to record from 4 different microphones. All connected to my laptop. The 4 Microphones are.

  1. USB Microphone
  2. Bluetooth Microphone
  3. A headset connected to the 3,5 mm plug
  4. the builtin microphone
  • Latencies doesn’t matter.
  • I have the problem that I can’t record over the built-in microphone and over the headset at the same time.
  • I tried to use AV Linux with Ardour but I can see only two input sources under system, capture_1 and capture_2 but in system audiomixer I see the inputlevel of three mics USB/Bluetooth/built in or Headset.
  • And for me it doesn’t matter how I record it, but I don’t know where else to ask.

Well not just 4 different microphones but 3 different audio devices at different sample rates (even if set the same)… That is the first problem which would normally be solved with Sample rate conversion, for jack this means either alsa_in or zita _a2j.

The second problem is that two of the mics are on the internal audio device which tends to do switching when things are plugged in rather than mixing.

The third problem is blue tooth is not accessible from alsa, only pulseaudio… and besides would have rather high latency compared to every other input.

The best solution is to get an audio interface with 4 inputs and then use 4 microphones plugged into that audio device.

The system audiomixer (aka pavucontrol or some other pulse controller) shows the four inputs… It expects them to be used one at a time. The only application I know that can mix them all together would be OBS studio.

1 Like

Thanks very much for all the info! My purpose is to compare quality of this devices which are typically used for online-communication-services. This should be a test for my study project.
I try to have for example, one audio source (singer/speaker) 4 mics and 4 recorded streams which I can later compare about quality. But now I think the easiest would be to use three different PCs. But it is possible to record almost exactly the same quality with the same mic and totally different (processor,soundcard,audiochip…) PCs ?

You might be able to use three different recording applications to each record one of these mics at the same time. I haven’t tested this but in theory it should be possible.

Since you only need the audio to study the differences in the sound, you may just use one application to record one mic at a time and just repeat the spoken words / singing exactly the same three times.

The soundcard (and everything on the analog side) matters a great deal, but once the data in the digital domain it’s all the same.

The PC and OS are irrelevant (assuming it can record audio without dropouts).

There may be differences due to fan-noise (built-in mic) and perhaps power-supply noise, but those are also in the analog domain, and I expect in your case with non-professional mics not signficant at all.

In any case, I’d just launch 4 different recording processes on a single PC. on GNU/Linux perhaps just arecord, or ffmpeg (the latter also works nicely on macOS and despite the name can also write uncompressed .wav).

If recording one voice to four mics simultaneously, keep in mind that the position of the microphones affect the sound of the microphones as well compared to the source. So just by the physics of not having them all in the same place, the sound will change some, even if it was four identical mics and equipment.

In fact for modern telecommunication and video communication, I would hazard a guess that position has more to do with sound quality for many users than even quality of equipment. A mic built into the laptop, is going to sound very different from a mic near the source for instance, and even if all four are placed as close to the source as possible one might get more mouth noise etc. but that might be even more detailed than it sounds like you are really looking for.

       Seablade

This is not an option, because I want to use “natural” produced sound and to repeat something so reproducibly that it is comparable is not possible in my opinion.

Thanks very much for help and Information. To record with arecord or ffmpeg I have the problem to grab the input streams of the mics. For example when i put in an analog headset I can’t see the builtin mic.

That is a very good point and I will try to cover the distance and direction to the mic also in my tests. Thanks very much!

My main problem is to use built in and analog headset at the same time. And how to record bluetooth mic (pulsaudio device) together with ffmpeg or arecord.

Which OS are you using macOS? GNU/Linux ? Windows?

How so? Is there only one ADC?

Perhaps check the device mixer, if there is an option to unmute both inputs.

Assuming you’re running Linux, configure pulseaudio to use the bluetooth device, then launch e.g. 3 commands (records 30 second):

ffmpeg -f alsa -i hw:1 -t 30 /tmp/out-alsa-device1.wav
ffmpeg -f alsa -i hw:2 -t 30 /tmp/out-alsa-device2.wav
ffmpeg -f pulse -i default -t 30 /tmp/out-pulse-bt.wav

To list ALSA devices arecord -l, and pulse: pacmd list-sources.

In theory in can use ffmpeg -f pulse -i <pulse-input> <output-file> with PA for all devices. use the “name” as reported by pacmd list-sources for the input.

I can tell you right away that any of these microphones won’t get you a good sounding vocal recording. If you are working on a low budget then these devices will be ok, but if you have some money to spend you get 10x better vocal sound quality when using a large diaphragm budget microphone like Rode NT1 or NT2 and a budget USB sound card.

It all depends what you are planning to use these mics for. If you are going to do music, then with a couple of hundred (dollar/pounds/euros) investment you can get very very good sound quality.

If you are just going to record one person talking (podcast) then a portable budget mic/recorder combo might be ideal for the job.

I have one beyerdynamic FOX USB microphone as the good one to compare against it. My tests are for a studying project.

At the moment I found out that I still have a behringer UCA222 USB soundcard. I think that will solve my problem with the built in mic and analog headset. Now I can use the headset with the UCA222.

I already knew the commands for record alsa devices with ffmpeg. I didn’t know that I only have to change pulse for alsa in the command. Thank you very much!

There is totally no difference in the audio qualitiy if I use arecord or ffmpeg with the same settings. right? Up to know I used for all my media purposes ffmpeg in command line.

At all together I really appreciate your help! Thank you so much!

For what it’s worth. Evaluating microphones is a lot more involved and does not require concurrent recording. Ideally place each mic in turn the same spot. Do some noise signal tests, directional tests, measure the noise-floor… There are well established procedures.

In short.
The purpose to evaluate is: what quality can I expect from an average user. And the first average test user is me.
So in the first step I evaluate different qualities of microphones and then different distances. The second step is, what do online meeting services do with this streams. How much do they reduce the quality to save bandwith.

Are you going to publish the study when it’s complete?

Personally I think it would be more useful to educate the average users about mic placement.

As @seablade already alluded to, that has a much more significant impact. Reflections from table surfaces are the most common mistake and depending on mic characteristics produces some comb-filter effect.

This has a much bigger impact then the mic or the streaming platform being used.

That’s well documented, and in some cases you can even get the source. Keep in mind that in many cases the quality also depends on whether you are a paying customer. Another related example is that only the commercial version of Teams allows one to disable background noise cancellation to stream music, for online music lessons or concerts.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.