code: def stSpectralEntropy(X, n_short_blocks=10):
      
      L = len(X)                         # number of frame samples
      Eol = numpy.sum(X ** 2)            # total spectral energy
  
      sub_win_len = int(numpy.floor(L / n_short_blocks))   # length of sub-frame
      if L != sub_win_len * n_short_blocks:
          X = X[0:sub_win_len * n_short_blocks]
  
      sub_wins = X.reshape(sub_win_len, n_short_blocks, order='F').copy()  # define sub-frames (using matrix reshape)
      s = numpy.sum(sub_wins ** 2, axis=0) / (Eol + eps)                      # compute spectral sub-energies
      En = -numpy.sum(s*numpy.log2(s + eps))                                    # compute spectral entropy
  
      return En
docs: Computes the spectral entropy