Using Sony PS3 Eye Camera as an Inexpensive Microphone Array

Almost exactly two years ago to the day, we published an article showing how microphone arrays performed against a single USB microphone, and the latter started to have a poor wake word detection success rate at around 3 meters array even in a silent room, and it got worse with white noise or background music, while the microphone arrays would pick up the wake word with a much higher success rate in all conditions.

The price of smart audio development kits varies a lot from $500 for Intel Speech Enabling Developer Kit to $129 for an Allwinner R18-based 3-Mic Far-Field Amazon AVS Development Kit, and $99 for ReSpeaker Core v2. If you’ve already got a Raspberry Pi 3/4 board, you can get cheaper options such as ReSpeaker 4-Mic Array for $25, but nothing beats the price of Sony PS3 Eye camera that comes with a 4 microphone array and sells on Amazon for around $7.5. You may even already have one, so no need to spend extra money.

PS3 Eye Inexpensive Microphone ArrayPS3 Eye was actually part of the article we published two years ago, and the camera performed well in comparison to more expensive development kits. The subject came back recently in the comments section of a post about Tmall Genie smart speaker,  via a post by Michaela Merz which compares PS3 Eye against Respeaker Mic Array v2.0 ($69), and explains how to setup PS3 Eye’s microphone array in Raspberry Pi 3.

Let’s show the configuration part

  1. Edit /etc/udev/rules.d/70-alsa-permanent.rules to make sure the PS3 Eye USB mic array is properly detected:

  2. Edit ${HOME}/.asoundrc ALSA configuration to use VOICE device:

    adjust the gain:

    and downmix all 4 microphone audio streams into a single one:
  3. Use “cap” stream to record audio using what sound-to-text solution you are using.

So how well does PS3 Eye work compared to ReSpeaker mic array? Michaela goes into more details on her blog post with samples, and insights, but the conclusion is the main takeaway:

Don’t expect wonders. If your STT like Sphinx or Kaldi doesn’t understand you with a cheap Sony Playstation Eye, it will most likely not understand you even with the ReSpeaker attached.

One advantage of the ReSpeaker board is that it works in a 360-degree circle around the device, while PlayStation Eye is more directional, so depending on where and how far you stand it may not pick up audio just as well.

Thanks to Jon for the idea.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

12
Leave a Reply

avatar
3 Comment threads
9 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
willygeokonJean-Luc Aufranc (CNXSoft)Singman Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Singman
Guest
Singman

You can also use the XBox Kinect.

Member

Use the respeaker software, it will work with this camera. Leave the 4 channels unmixed.

Member

Quick summary of how array mics work…
1) You listen to one (or a mix) of the channels. Use hardware VAD (Voice activity detection) if you have it.
2) Do local echo cancelling on this (in case device is playing music)
3) Detect the hotword
4) After you hear the hotword you do math on the four channels to figure out AOA (angle of arrival). This works because you know what the hotword is and you can compute the phase delay on the four channels. Use the phase delays to determine the angle. This is normally done in 2D but you can get fancy and do it in 3D.
5) Now that you have AOA you can put a filter on the four channels that will filter out sound that does not come form that angle (like the the TV blaring off to the side). This is the whole point of having an array mic.
6) Do more AGC or AEC if you want
7) Send the data off to Amazon or Baidu.

Member

BTW, you can even watch an Echo device doing this. When you first talk to it the whole ring lights up. After it detects the hot word it computes the AOA and changes the LEDs to point towards the speaker. They stay pointed towards you until you pause speaking. While it is pointed towards you it is filtering out sound not coming from that direction.

The new BLE indoor positioning system works in a similar way. It has multiple antennas just like Alexa has multiple microphones. The wifi one is different, it measures how far away the other radio is.

geokon
Guest

There is also this $12 6-mic alternative I came across today: https://www.seeedstudio.com/Sipeed-6-1-Microphone-Array-for-Dock-Go-Bit-p-2875.html

The webpage seem a bit.. work in progress.. But it seems to connect to their MAIX Kendrite board with some ribbon cable (so not as universal as the other options with USB)

Member

What chip is in the middle of this board? Is it an AC103 or AC101? Need more info to be able to tell if this board will work on other CPUs.

The PS3 Eye is a very cheap way to attach an array mic to your desktop PC.