docs: def _numpy24to32bit(data:np.ndarray, bigendian:bool=False) -> np.ndarray:
      """
      data is a ubyte array of shape = (size,) 
      (interleaved channels if multichannel)
      """
      target = np.zeros((data.shape[0] * 4 / 3,), dtype=np.ubyte)
      if not bigendian:
          target[3::4] = data[2::3]
          target[2::4] = data[1::3]
          target[1::4] = data[0::3]
      else:
          target[1::4] = data[2::3]
          target[2::4] = data[1::3]
          target[3::4] = data[0::3]
      del data
      targetraw = target.tostring()
      del target
      data = np.fromstring(targetraw, dtype=np.int32)
      return data