code: def lpc(signal, n_coeff=12):
      """Computes the linear prediction coefficients.
  
      Implementation details and description in:
      https://ccrma.stanford.edu/~orchi/Documents/speaker_recognition_report.pdf
  
      Parameters
      ----------
      signal : nd-array
          Input from linear prediction coefficients are computed
      n_coeff : int
          Number of coefficients
  
      Returns
      -------
      nd-array
          Linear prediction coefficients
  
      """
  
      if signal.ndim > 1:
          raise ValueError("Only 1 dimensional arrays are valid")
      if n_coeff > signal.size:
          raise ValueError("Input signal must have a length >= n_coeff")
  
      # Calculate the order based on the number of coefficients
      order = n_coeff - 1
  
      # Calculate LPC with Yule-Walker
      acf = np.correlate(signal, signal, "full")
  
      r = np.zeros(order + 1, "float32")
      # Assuring that works for all type of input lengths
      nx = np.min([order + 1, len(signal)])
      r[:nx] = acf[len(signal) - 1 : len(signal) + order]
  
      smatrix = create_symmetric_matrix(r[:-1], order)
  
      if np.sum(smatrix) == 0:
          return tuple(np.zeros(order + 1))
  
      lpc_coeffs = np.dot(np.linalg.inv(smatrix), -r[1:])
  
      return tuple(np.concatenate(([1.0], lpc_coeffs)))
  
file_path: tsfel/tsfel/feature_extraction/features_utils.py
imports: import scipy
  import numpy
label_desc: Use image node_id 7 for calling a global function with example usage: lpc(signal, n_coeff) and returns: tuple, tuple