scene_renderer_cec2

Clarity ambisonic scene rendering.

class clarity.data.scene_renderer_cec2.SceneRenderer(paths, metadata, ambisonic_order, equalise_loudness, reference_channel, channel_norms)[source]

Bases: object

Ambisonic scene rendering class.

Contains methods for generating signals from pseudorandom datasets for CEC2

generate_binaural_signals(scene: dict, hoa_target: ndarray, hoa_interferer: ndarray, hoa_target_anechoic: ndarray, out_path: str) None[source]

Generate and write binaural signals.

Parameters:
  • scene (dict) – scene definitions

  • hoa_target (ndarray) – target signal in HOA domain

  • hoa_interferer (ndarray) – interferer signal in HOA domain

  • hoa_target_anechoic (ndarray) – anechoic target signal in HOA domain

  • out_path (string) – output path

generate_hoa_signals(scene: dict) tuple[source]

Generates HOA signals.

Parameters:

scene (dict) – scene definitions

load_interferer_hoairs(scene)[source]

Loads and returns the interferer hoa irs for given scene.

Parameters:

() (scene)

Returns:

List of inferior hoa irs for the given scene.

Return type:

list

load_interferer_signals(scene)[source]

Loads and returns interferer signals for given scene.

Parameters:

() (scene)

Returns:

List of signals.

Return type:

list

make_hoa_target_anechoic(target, room)[source]

Make the HOA anechoic target.

Applies an anechoic HOA IR that models a source straight in front of the listener. The signal is delayed to match the propagation delay of the room.

Parameters:
  • () (target)

  • room (dict)

make_interferer_filename(interferer: dict, dataset) str[source]

Construct filename for an interferer.

Parameters:

interferer (dict)

Returns:

Filename for an interferer.

Return type:

str

prepare_interferer_paths(scene)[source]

Make list of full path filenames for interferers in scene.

Parameters:

() (scene)

Returns:

List of full path filenames for interferers in scene.

Return type:

list

render_scenes(scenes: dict)[source]

Renders scenes.

Parameters:

scenes (dict) – scene definitions

save_signal_16bit(filename: str, signal: ndarray, norm: float = 1.0) None[source]

Saves a signal to a 16 bit wav file.

Parameters:
  • filename (string) – filename

  • signal (np.array) – signal

  • norm (float) – normalisation factor

clarity.data.scene_renderer_cec2.pad_signal_start_end(signal: ndarray, delay: int, duration: int) ndarray[source]

Pad signal at start and end.

Parameters:
  • signal (array-like) – ambisonic signals

  • delay (int) – number of zeros to pad at start

  • duration (int) – desired duration after start and end padding

Returns:

padded signals

Return type:

array-like

clarity.data.scene_renderer_cec2.two_point_rotation(rotation: dict, origin: ndarray, duration: int) ndarray[source]

Perform rotation defined by two control points.

Parameters:
  • rotation (dict) – rotation object from scene definition

  • origin (ndarray) – origin view vector

  • duration (int) – total number of samples to generate for

Returns:

sequence of theta values per sample

Return type:

np.ndarray