code: def create_wave_np(
      batch_size, frequencies, amplitudes, seconds, n_samples
  ):
      """Helper function that synthesizes ground truth harmonic waves with numpy.
  
      Args:
        batch_size: Number of waves in the batch.
        frequencies: Array of harmonic frequencies in each wave. Shape (n_batch,
          n_time, n_harmonics). Units in Hertz.
        amplitudes: Array of amplitudes for each harmonic. Shape (n_batch, n_time,
          n_harmonics). Units in range 0 to 1.
        seconds: Length of the waves, in seconds.
        n_samples: Length of the waves, in samples.
  
      Returns:
        wave_np: An array of the synthesized waves. Shape (n_batch, n_samples).
      """
      wave_np = np.zeros([batch_size, n_samples])
      time = np.linspace(0, seconds, n_samples)
      n_harmonics = int(frequencies.shape[-1])
      for i in range(batch_size):
          for j in range(n_harmonics):
              rads_per_cycle = 2.0 * np.pi
              rads_per_sec = rads_per_cycle * frequencies[i, :, j]
              phase = time * rads_per_sec
              wave_np[i, :] += amplitudes[i, :, j] * np.sin(phase)
      return wave_np
  
imports: from absl.testing import parameterized
  from ddsp import core
  import librosa
  import numpy
  from scipy import signal
  import tensorflow.compat.v2
label_desc: Use image node_id 1 for calling a global function with example usage: create_wave_np(batch_size, frequencies, amplitudes, seconds, n_samples) and returns: wave_np