class_docstr: Compute spectrum features of every frame in speech, return a float tensor
  with size (num_frames, num_frequencies).
docstr: Caculate power spectrum or log power spectrum of audio data.
  :param audio_data: the audio signal from which to compute spectrum.
                     Should be an (1, N) tensor.
  :param sample_rate: [option]the samplerate of the signal we working with, default is 16kHz.
  :return: A float tensor of size (num_frames, num_frequencies) containing power
          spectrum (output_type=1) or log power spectrum (output_type=2)
          of every frame in speech.
docstr_tok: ["Caculate","power","spectrum","or","log","power","spectrum","of","audio","data",".",":","param","audio_data",":","the","audio","signal","from","which","to","compute","spectrum",".","Should","be","an","(","1",",","N",")","tensor",".",":","param","sample_rate",":","[","option","]","the","samplerate","of","the","signal","we","working","with",",","default","is","16kHz",".",":","return",":","A","float","tensor","of","size","(","num_frames",",","num_frequencies",")","containing","power","spectrum","(","output_type=1",")","or","log","power","spectrum","(","output_type=2",")","of","every","frame","in","speech","."]
code: def call(self, audio_data, sample_rate=None):
      """
      Caculate power spectrum or log power spectrum of audio data.
      :param audio_data: the audio signal from which to compute spectrum.
                         Should be an (1, N) tensor.
      :param sample_rate: [option]the samplerate of the signal we working with, default is 16kHz.
      :return: A float tensor of size (num_frames, num_frequencies) containing power
              spectrum (output_type=1) or log power spectrum (output_type=2)
              of every frame in speech.
      """
  
      p = self.config
      with tf.name_scope("spectrum"):
          if sample_rate == None:
              sample_rate = tf.constant(p.sample_rate, dtype=tf.int32)
  
          assert_op = tf.assert_equal(
              tf.constant(p.sample_rate),
              tf.cast(sample_rate, dtype=tf.int32),
          )
          with tf.control_dependencies([assert_op]):
              sample_rate = tf.cast(sample_rate, dtype=float)
              spectrum = py_x_ops.spectrum(
                  audio_data,
                  sample_rate,
                  window_length=p.window_length,
                  frame_length=p.frame_length,
                  output_type=p.output_type,
                  snip_edges=p.snip_edges,
                  raw_energy=p.raw_energy,
                  preEph_coeff=p.preeph_coeff,
                  window_type=p.window_type,
                  remove_dc_offset=p.remove_dc_offset,
                  is_fbank=p.is_fbank,
                  dither=p.dither,
              )
  
              return spectrum
  
file_path: delta/delta/data/frontend/spectrum.py
imports: import tensorflow
  from core.ops import py_x_ops
  from delta.utils.hparam import HParams
  from delta.data.frontend.base_frontend import BaseFrontend
label_desc: Use image node_id 3 for calling the Spectrum obj's underlying member method code with example usage: obj.call(audio_data, sample_rate) and returns: spectrum