Source code for dl_data_pipeline.process_functions.process_1d

import numpy as np
from ..deferred import deferred_execution

[docs] @deferred_execution def rpad_rcut(data : np.ndarray, desired_audio_length : int) -> np.ndarray: """ Pad or cut the audio array so that output has a length equal to desired_audio_length Args: data (np.ndarray): the input audio array desired_audio_length (int): the target length for the audio Return (np.ndarray): correctly shaped audio array Examples: >>> data = np.array([[1, 2, 3], [4, 5, 6]]) >>> rpad_rcut(data, 5) array([[1., 2., 3., 0., 0.], [4., 5., 6., 0., 0.]]) >>> rpad_rcut(data, 2) array([[1, 2], [4, 5]]) """ assert len(data.shape) == 2, "Audio should be 2D array, use reshape(1, -1) for 1D array" audio_length = data.shape[1] if audio_length < desired_audio_length: padding_array = np.zeros((data.shape[0], desired_audio_length - audio_length)) return np.concatenate((data, padding_array), axis = 1) # Else return data[:,:desired_audio_length]
[docs] @deferred_execution def lpad_lcut(data : np.ndarray, desired_audio_length : int) -> np.ndarray: """ Pad or cut the audio array so that output has a length equal to desired_audio_length Args: data (np.ndarray): the input audio array desired_audio_length (int): the target length for the audio Return (np.ndarray): correctly shaped audio array Examples: >>> data = np.array([[1, 2, 3], [4, 5, 6]]) >>> lpad_lcut(data, 5) array([[0., 0., 1., 2., 3.], [0., 0., 4., 5., 6.]]) >>> lpad_lcut(data, 2) array([[2, 3], [5, 6]]) """ assert len(data.shape) == 2, "Audio should be 2D array, use reshape(1, -1) for 1D array" audio_length = data.shape[1] if audio_length < desired_audio_length: padding_array = np.zeros((data.shape[0], desired_audio_length - audio_length)) return np.concatenate((padding_array, data), axis = 1) # Else return data[:,desired_audio_length:]
[docs] @deferred_execution def center_pad_rcut(data : np.ndarray, desired_audio_length : int) -> np.ndarray: """ Pad or cut the audio array so that output has a length equal to desired_audio_length Args: data (np.ndarray): the input audio array desired_audio_length (int): the target length for the audio Return (np.ndarray): correctly shaped audio array Examples: >>> data = np.array([[1, 2, 3], [4, 5, 6]]) >>> center_pad_rcut(data, 5) array([[0., 1., 2., 3., 0.], [0., 4., 5., 6., 0.]]) >>> center_pad_rcut(data, 2) array([[2, 3], [5, 6]]) """ assert len(data.shape) == 2, "Audio should be 2D array, use reshape(1, -1) for 1D array" audio_length = data.shape[1] if audio_length < desired_audio_length: l_pad_length = (desired_audio_length - audio_length) // 2 r_pad_length = l_pad_length + (desired_audio_length - audio_length) % 2 l_padding_array = np.zeros((data.shape[0], l_pad_length)) r_padding_array = np.zeros((data.shape[0], r_pad_length)) return np.concatenate((l_padding_array, data, r_padding_array), axis = 1) # Else return data[:,:desired_audio_length]