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