docstr: Generate a MelWeightMatrix that can be used to re-weight a Tensor
  containing a linearly sampled frequency spectra (from DFT or STFT) into
  num_mel_bins frequency information based on the [lower_edge_hertz,
  upper_edge_hertz]
  
  range on the mel scale. This function defines the mel scale
  in terms of a frequency in hertz according to the following
  formula: mel(f) = 2595 * log10(1 + f/700)
  
  Parameters
  ----------
  num_mel_bins
      The number of bands in the mel spectrum.
  dft_length
      The size of the original DFT obtained from (n_fft / 2 + 1).
  sample_rate
      Samples per second of the input signal.
  lower_edge_hertz
      Lower bound on the frequencies to be included in the mel spectrum.
  upper_edge_hertz
      The desired top edge of the highest frequency band.
  
  Returns
  -------
  ret
      MelWeightMatrix of shape:  [frames, num_mel_bins].
  
  Examples
  --------
  >>> x = ivy.array([[1, 2, 3],
  >>>                [1, 1, 1],
  >>>                [5,6,7  ]])
  >>> x.mel_weight_matrix(3, 3, 8000)
  ivy.array([[0.        ,0.        , 0.],
            [0.        ,0. , 0.75694758],
            [0.        ,0. , 0.       ]])
docstr_tok: ["Generate","a","MelWeightMatrix","that","can","be","used","to","re-weight","a","Tensor","containing","a","linearly","sampled","frequency","spectra","(","from","DFT","or","STFT",")","into","num_mel_bins","frequency","information","based","on","the","[","lower_edge_hertz",",","upper_edge_hertz","]","range","on","the","mel","scale",".","This","function","defines","the","mel","scale","in","terms","of","a","frequency","in","hertz","according","to","the","following","formula",":","mel","(","f",")","=","2595","*","log10","(","1","+","f\/700",")","Parameters","--","--","--","--","--","num_mel_bins","The","number","of","bands","in","the","mel","spectrum",".","dft_length","The","size","of","the","original","DFT","obtained","from","(","n_fft","\/","2","+","1",")",".","sample_rate","Samples","per","second","of","the","input","signal",".","lower_edge_hertz","Lower","bound","on","the","frequencies","to","be","included","in","the","mel","spectrum",".","upper_edge_hertz","The","desired","top","edge","of","the","highest","frequency","band",".","Returns","--","--","--","-","ret","MelWeightMatrix","of","shape",":","[","frames",",","num_mel_bins","]",".","Examples","--","--","--","--",">",">",">","x","=","ivy.array","(","[","[","1",",","2",",","3","]",",",">",">",">","[","1",",","1",",","1","]",",",">",">",">","[","5,6,7","]","]",")",">",">",">","x.mel_weight_matrix","(","3",",","3",",","8000",")","ivy.array","(","[","[","0.",",0.",",","0",".","]",",","[","0.",",0.",",","0.75694758","]",",","[","0.",",0.",",","0",".","]","]",")"]
code: def mel_weight_matrix(
      num_mel_bins: Union[int, ivy.Array],
      dft_length: Union[int, ivy.Array],
      sample_rate: Union[int, ivy.Array],
      lower_edge_hertz: Optional[Union[float, ivy.Array]] = 0.0,
      upper_edge_hertz: Optional[Union[float, ivy.Array]] = 3000.0,
  ):
      """Generate a MelWeightMatrix that can be used to re-weight a Tensor
      containing a linearly sampled frequency spectra (from DFT or STFT) into
      num_mel_bins frequency information based on the [lower_edge_hertz,
      upper_edge_hertz]
  
      range on the mel scale. This function defines the mel scale
      in terms of a frequency in hertz according to the following
      formula: mel(f) = 2595 * log10(1 + f/700)
  
      Parameters
      ----------
      num_mel_bins
          The number of bands in the mel spectrum.
      dft_length
          The size of the original DFT obtained from (n_fft / 2 + 1).
      sample_rate
          Samples per second of the input signal.
      lower_edge_hertz
          Lower bound on the frequencies to be included in the mel spectrum.
      upper_edge_hertz
          The desired top edge of the highest frequency band.
  
      Returns
      -------
      ret
          MelWeightMatrix of shape:  [frames, num_mel_bins].
  
      Examples
      --------
      >>> x = ivy.array([[1, 2, 3],
      >>>                [1, 1, 1],
      >>>                [5,6,7  ]])
      >>> x.mel_weight_matrix(3, 3, 8000)
      ivy.array([[0.        ,0.        , 0.],
                [0.        ,0. , 0.75694758],
                [0.        ,0. , 0.       ]])
      """
      return ivy.mel_weight_matrix(
          num_mel_bins,
          dft_length,
          sample_rate,
          lower_edge_hertz,
          upper_edge_hertz,
      )
  
file_path: ivy/ivy/data_classes/array/experimental/creation.py
imports: import abc
  from typing import Optional, Union
  import ivy
label_desc: Use image node_id 6 for calling the _ArrayWithCreationExperimental obj's underlying member method code with example usage: obj.mel_weight_matrix(num_mel_bins, dft_length, sample_rate, lower_edge_hertz, upper_edge_hertz) and returns: ivy