kinect-audio-setup makes audio input from the Microsoft Kinect Sensor
device work on GNU/Linux systems.

When the Kinect is first plugged in the USB port it shows up as
a generic USB device with a bulk endpoint; after uploading a certain
firmware a reenumeration takes place and a USB Audio Class (UAC) device
becomes available.

kinect-audio-setup provides tools to download the firmware off the net
at installation time —since the firmware is not redistributable—, and it
sets up udev rules to call the firmware loader when the device is
plugged in to finally get the USB Audio Class device.

Note that for all the magic to happen automatically pulseaudio >= 1.0 is
needed, as it contains the kinect-audio.conf profile which fixes audio
device detection:
  https://bugs.freedesktop.org/show_bug.cgi?id=39664

kinect-audio-setup provides:
  - kinect_fetch_fw which downloads and extracts the firmware from the
    Microsoft Kinect SDK;
  - kinect_upload_fw which loads the firmware to the generic USB device
    in order to get the USB Audio Class device to show up;
  - udev rules to call kinect_upload_fw when the device is plugged in.


To install kinect-audio-setup from the source distribution follow the
steps below with superuser rights:

Install kinect_upload_fw first:

  # make install

it will be copied to /usr/local/sbin by default, assign the PREFIX
variable on the command line to install it to another location.

Then run the firmware fetcher script (remember this is only needed
once):

  # ./kinect_fetch_fw /lib/firmware/kinect
  # udevadm control --reload-rules


The UAC firmware is downloaded from the Microsoft Kinect SDK at
http://www.kinectforwindows.org, the license of the SDK can be found at
http://www.kinectforwindows.org/download/EULA.htm

=== Acknowledgements

A special thanks goes to Steven Toth from http://kernellabs.com, who
kindly sponsored a Kinect to Antonio Ospite and made kinect-audio-setup
possible in its current form.
