MUSIC

class pyroomacoustics.doa.music.MUSIC(L, fs, nfft, c=343.0, num_src=1, mode='far', r=None, azimuth=None, colatitude=None, frequency_normalization=False, **kwargs)

Bases: DOA

Class to apply MUltiple SIgnal Classication (MUSIC) direction-of-arrival (DoA) for a particular microphone array.

Note

Run locate_source() to apply the MUSIC algorithm.

Parameters
  • L (numpy array) – Microphone array positions. Each column should correspond to the cartesian coordinates of a single microphone.

  • fs (float) – Sampling frequency.

  • nfft (int) – FFT length.

  • c (float) – Speed of sound. Default: 343 m/s

  • num_src (int) – Number of sources to detect. Default: 1

  • mode (str) – ‘far’ or ‘near’ for far-field or near-field detection respectively. Default: ‘far’

  • r (numpy array) – Candidate distances from the origin. Default: np.ones(1)

  • azimuth (numpy array) – Candidate azimuth angles (in radians) with respect to x-axis. Default: np.linspace(-180.,180.,30)*np.pi/180

  • colatitude (numpy array) – Candidate elevation angles (in radians) with respect to z-axis. Default is x-y plane search: np.pi/2*np.ones(1)

  • frequency_normalization (bool) – If True, the MUSIC pseudo-spectra are normalized before averaging across the frequency axis, default:False

plot_individual_spectrum()

Plot the steered response for each frequency.