Speech Rec For MyCroftPi Using Kinect

I was thinking of downloading the Raspberry Pi MyCroft image. However I was not interested in using any ol’ microphone for speech rec. I wanted to use a 1st gen Microsoft Kinect for the mic. The Kinect has a microphone array so it is excellent microphone for speech recognition.

My problem is this. I do not know how to install the Kinect to be able to do this. I have looked around and most people who talk about Pi and Kinect are only concerned with the video portion of this.

Would one of you kindly walk me thru how to install the Kinect?

Much appreciated.


Does anyone know how to do this? Havent had any answers yet.

Hey Dominique,

It’s something I’m wanting to do. I have a 1st gen Kinect, but running into issues getting it working on the pi. It’s definitely not the easiest option, but I’ll post once I find out more.

1 Like

Thanks. I would like to get this working as well. I think the Kinect using the microphone array it has onboard would make an excellent speech rec microphone.

Someone turned me onto this but I do not know how to implement it.

Hey guys, I have just bought a Kinect and I am trying to set it up to use as a microphone for picroft however, I am not having much luck with it. Did either of you ever get it working?

Hi there, I’m pretty much doing the same thing - I have Kinect (v1414) working under both Raspbian & Ubuntu mate (16.04) and you need to do a few things to get it working :-

Raspbian - will work for cam but NOT mic
Ubuntu Mate - Will work for Cam & Mic - preferred solution

  1. Install Libfreenect & deps following this (do lsusb to check OS can see Kinect)

  2. I then test in X to see cam, etc,
    test in X-Windows using “python demo_cv2_async.py” from libfreenect/wrappers/python/

  3. Get the Microsoft SDK & Firmware
    apt-get install kinect-audio-setup

  4. Check you can see everything - note the hw: info for each
    aplay -l
    arecord -l

  5. I added ~/.asoundrc file following instructions here

  6. Probably reboot now is a good time

  7. Set volumes & check devices are seen (if level 0, press M to unmute and < > to increase vol)
    alsactl store

  8. Check with a test wav file
    aplay filename.wav

  9. Can you record too ?
    arecord --duration=5 -t wav testfile.wav

All seems to work ok for me on Rpi3 with Ubuntu mate, however, I can’t get it to work in Mycroft !!!
I only installed last night (took all night to compile) - so if I sort this today I’ll let you know.

If anyones mic or output in Mycroft with Kinect is working let me know !!!

This works a dream for Google Assistant - but I want a custom wakeword (and snowboy doesn’t work well and I rather support Mycroft).

Good luck !

ok, found a typo in my conf, I had “play_mp3_cmdline” instead of wav - so make sure it looks like this in the mycroft.conf file :-

// Mechanism used to play WAV audio files
// Override: SYSTEM
//“play_wav_cmdline”: “paplay %1 --stream-name=mycroft-voice”,
“play_wav_cmdline”: “aplay -Dhw:0,0 %1”,

Then both Mic & output work (speakers from 3.5mm jack, Kinect Mic).

However mic input seems to freeze after a few mins ?

All working fine now, fresh Ubuntu 16.04 install, Kinect or USB headset working for Mycroft (run in GUI console !), libfreenect & servo controls all working, Kinect depth & video work too :slight_smile:

1 Like

Very very late reply, but I’m trying to make the kinect work, but I’m having trouble… the above method works, but the recorded file are very very low in volume, and the part with alsamixer wont work for me …
Anybody made progress or could give some advices ?

Thanks a lot :slight_smile:

Does the alsamixer volume change not work at all, or only work until you restart the device?

I’ve just heard from some people who found alsactl store didn’t always work for them, and they instead set a volume update command in their .bashrc to modify it on each boot.

Hi, thanks for the reply.
There’s no control over the kinect mic in alsamixer. I’m gonna try the volume update at boot and see if there’s any change…

step one link shot me to a 404 error nothing here