Kinect Audio Positioning

Everyone knows the Kinect has microphones in it, but did you know there are actually four? And that you can use them to determine the position of incoming audio?

Kinect Audio Positioning

Kinect has 4 microphones array to position the audio source using beamforming. We can get 2 angles from Kinect mic array, one is beam angle, another is estimated audio source angle.

In this project KinectMicArray class, which derived from INotifyPropertyChanged, capture sound via Kinect mic array with background worker, get angles, expose properties and notify the change. These properties are used as WPF binding source to show angles of estimated sound source and beam dynamically.

Project Information URL:

Project Download URL:

Project Source URL:


/// <summary>
/// Event handler to care Window loaded
/// Construct KinectMicArray and draw contents
/// </summary>
private void Window_Loaded(object sender, RoutedEventArgs e)
    kinectMic = new KinectMicArray();
    kinectMic.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(kinectMic_PropertyChanged);
/// <summary>
/// Event handler to care KinectMicArray property changed
/// Showing angles as number for debug
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void kinectMic_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
    KinectMicArray ka = sender as KinectMicArray;
    this.myLabel.Content = string.Format("Beam = {0:F}; Source = {1:F};  ", ka.BeamAngleProperty, ka.SourceAngleProperty); 

Follow the discussion

  • Oops, something didn't work.

    Getting subscription
    Subscribe to this conversation

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.