Projet

Projet for spatial audio separation from this paper:

@inproceedings{fitzgeraldPROJETa, TITLE = {{PROJET - Spatial Audio Separation Using Projections}}, AUTHOR = {D. Fitzgerald and A. Liutkus and R. Badeau}, BOOKTITLE = {{41st International Conference on Acoustics, Speech and Signal Processing (ICASSP)}}, ADDRESS = {Shanghai, China}, PUBLISHER = {{IEEE}}, YEAR = {2016}, }

Copyright (c) 2016, Antoine Liutkus, Inria

modified by Ethan Manilow and Prem Seetharaman for incorporation into nussl.

class nussl.separation.projet.Projet(input_audio_signal, num_sources, num_iterations=200, num_panning_directions=41, num_projections=15, matrix_datatype='float32', panning_profiles=30, verbose=False, use_librosa_stft=False)

Bases: nussl.separation.separation_base.SeparationBase

Implements foreground/background separation using the 2D Fourier Transform

Parameters:
  • input_audio_signal – (AudioSignal object) The AudioSignal object that has the audio data that REPET will be run on.
  • use_librosa_stft – (Optional) (bool) Calls librosa’s stft function instead of nussl’s
run()
Returns:sources (list of AudioSignals) – A list of AudioSignal objects with all of the sources found in the mixture

Example

multichannel_grid(I, L, sigma=1, normalize=True)
orthogonal_matrix(R)
make_audio_signals()

Returns the background and foreground audio signals. You must have run FT2D.run() prior to calling this function. This function will return None if run() has not been called.

Returns:Audio Signals (List) – element list.

Example

plot(output_name, **kwargs)

Plots relevant data for separation algorithm

Raises:NotImplementedError – Cannot call base class
audio_signal

Copy of the audio_signal.AudioSignal object passed in upon initialization.

Type:(audio_signal.AudioSignal)
classmethod from_json(json_string)

Creates a new SeparationBase object from the parameters stored in this JSON string.

Parameters:json_string (str) – A JSON string containing all the data to create a new SeparationBase object.
Returns:(SeparationBase) A new SeparationBase object from the JSON string.

See also

to_json() to make a JSON string to freeze this object.

sample_rate

Sample rate of audio_signal. Literally audio_signal.sample_rate.

Type:(int)
stft_params

spectral_utils.StftParams of audio_signal Literally audio_signal.stft_params.

Type:(spectral_utils.StftParams)
to_json()

Outputs JSON from the data stored in this object.

Returns:(str) a JSON string containing all of the information to restore this object exactly as it was when this was called.

See also

from_json() to restore a JSON frozen object.