code: def triangle_wave(freq0, amp0, num_pitches, sample_rate):
      mults = [2.0 * i + 1.0 for i in range(num_pitches)]
      freq = extend_pitch(freq0, mults)
  
      c = 8 / (PI**2)
      mults = [
          c * ((-1) ** i) / ((2.0 * i + 1.0) ** 2)
          for i in range(num_pitches)
      ]
      amp = extend_pitch(amp0, mults)
  
      waveform = oscillator_bank(freq, amp, sample_rate=sample_rate)
      return freq, amp, waveform
  
file_path: audio/examples/tutorials/additive_synthesis_tutorial.py
imports: import torch
  import torchaudio
  import matplotlib.pyplot
  from IPython.display import Audio
label_desc: Use image node_id 4 for calling a global function with example usage: triangle_wave(freq0, amp0, num_pitches, sample_rate) and returns: freq,  amp,  waveform