code: def mel_weight_matrix(
      num_mel_bins: int,
      dft_length: int,
      sample_rate: int,
      lower_edge_hertz: float = 0.0,
      upper_edge_hertz: float = 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
      --------
      >>> ivy.mel_weight_matrix(3,3,8000)
      ivy.array([[0.        ,0.        , 0.],
                [0.        ,0. , 0.75694758],
                [0.        ,0. , 0.       ]])
      """
      return ivy.current_backend().mel_weight_matrix(
          num_mel_bins,
          dft_length,
          sample_rate,
          lower_edge_hertz,
          upper_edge_hertz,
      )
  
imports: from typing import Union, Tuple, Optional, Sequence, Iterable, Generator
  import warnings
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.utils.exceptions import handle_exceptions
  from ivy.func_wrapper import outputs_to_ivy_arrays, handle_nestable, to_native_arrays_and_back, handle_out_argument, infer_dtype, handle_array_like_without_promotion, inputs_to_ivy_arrays, handle_device, handle_backend_invalid, handle_array_function
label_desc: Use image node_id 22 for calling a global function with example usage: mel_weight_matrix(num_mel_bins, dft_length, sample_rate, lower_edge_hertz, upper_edge_hertz) and returns: ivy