@staticmethod
def _np_frame(data, window_length, hop_length):
    num_frames = (1 + int(np.floor(((len(data) - window_length) // hop_length))))
    shape = (num_frames, window_length)
    strides = ((data.strides[0] * hop_length), data.strides[0])
    return np.lib.stride_tricks.as_strided(data, shape=shape, strides=strides)
@staticmethod
def _np_frame(data, window_length, hop_length):
    num_frames = (1 + int(np.floor(((len(data) - window_length) // hop_length))))
    shape = (num_frames, window_length)
    strides = ((data.strides[0] * hop_length), data.strides[0])
    return np.lib.stride_tricks.as_strided(data, shape=shape, strides=strides)