- Home /
Can't get multiple microphone channels
I'm using an M-Audio Fast Track Ultra (USB interface) as input. I want to get and analyze two sound (presumably left and right channels?) simultaneously. I've tried a few things but I'm not getting anywhere. In fact, it LOOKS like Unity only recognizes ONE channel, and even the ONLY on the Built In Microphone (default I guess, the one in the documentation sample).
Is this a bug, or am I missing something? I would think 'channel' would be 0=left, 1=right (or vice versa), and if more channels are available (this device has 8) I should be able to get at those too. I can't get anything, unless I go back to the Built In Microphone, and then it's using the BUILT IN MICROPHONE which is useless to me.
Any insights would be great. Thanks.
Exa$$anonymous$$e the 'channels' value on the AudioClip returned by $$anonymous$$icrophone. Start - how many does it say?
1! No matter what I plug in, audio.clip (having been set from microphone device) says 1 channel.
Answer by DaveA · Mar 09, 2013 at 07:04 AM
Looked into this a bit. It might be a Unity bug that it doesn't pick up more than one channel per device. Seems like a pretty bad oversight. That said, you can have multiple different devices (like built-in mic, line-in, USB mic(s)) and each of those, although supporting only one channel, can all be used at the same time. Is this enough of a work-around?
Not optimal but I can work with it for now. Looks like a unity bug then?
How can this be used at the same time? When I attempt to record multiple devices simultaneously Unity throws an error.
I get an error also. Is there a way to record to an audio.clip channel? Also on mac audiomidi utility you can create an aggregate of two mics, but for that to work you'd have to have a left/right channel recording for audio.clip.
Answer by GerryM · Feb 27, 2013 at 10:28 PM
Ok, some ideas:
First, I'd check if you can see all devices with this example from the manual.
Second, make sure you do create an audio clip with two channels for recording.
Third, use the proper device name when recording.
Good luck!
Edit:
I assume you are on a Mac. It seems you can't change the recording source from within Unity. After trying, I also couldn't record from anything else than the default input setting you did choose in "System Preferences" "Sound".
So in order to record from your external mic you need to activate it as the input source. Was working fine for me. It does set the selected mic as Microphone.devices[0];
However, this isn't what you would expect from Unity, as you can see all the other microphones. A real bummer.
Thanks.
First: yes, did that.
Second: $$anonymous$$icrophone.Start creates and returns an AudioClip and that's what I set on my AudioSource. How does creating another clip help?
Third: Yep, get the name from step 1 above, but that doesn't help. Only "Built-in $$anonymous$$icrophone" seems to work (that is, returns audio data) for me.
Hello. I have same problem. But in the first step, it detected 2 device and the name is empty. So I can only use the default microphone. Could you please help me solve this problem? Thanks a lot.
Answer by Lando1000 · Apr 09, 2013 at 02:13 PM
Hey JimmyJJeeter, I'm stuck with this exact issue, did you ever find a solution?