docs: def bitdepth(data:np.ndarray, snap:bool=True) -> int:
      """
      returns the number of bits actually used to represent the data.
  
      data: a numpy.array (mono or multi-channel)
      snap: snap to 8, 16, 24 or 32 bits.
      """
      data = asmono(data)
      maxitems = min(4096, data.shape[0])
      maxbits = max(x.as_integer_ratio()[1]
                    for x in data[:maxitems]).bit_length()
      if snap:
          if maxbits <= 8:
              maxbits = 8
          elif maxbits <= 16:
              maxbits = 16
          elif maxbits <= 24:
              maxbits = 24
          elif maxbits <= 32:
              maxbits = 32
          else:
              maxbits = 64
      return maxbits