///|
fn main {
  let config = @src.Config::new(48000, 16000, 1).unwrap()
  let pass = @src.resample(config, @signals.tone(48000, 1000.0, 48000, 1)[:]).unwrap()
  let stop = @src.resample(config, @signals.tone(48000, 12000.0, 48000, 1)[:]).unwrap()
  let pass_amplitude = @signals.magnitude(pass[:], 16000, 1000.0, 256)
  let alias_amplitude = @signals.magnitude(stop[:], 16000, 4000.0, 256)
  let pass_db = 20.0 * @math.log10(pass_amplitude / 0.5)
  let alias_db = 20.0 * @math.log10(alias_amplitude / pass_amplitude)
  if pass_db.abs() > 0.5 || alias_db > -50.0 {
    abort("quality threshold failed")
  }
  println(
    "synthetic_voice_band input_frames=48000 output_frames=16000 passband_error_db=\{pass_db} alias_relative_db=\{alias_db}",
  )
}