#!/bin/bash
# SoX Resampler Library       Copyright (c) 2007-12 robs@users.sourceforge.net
# Licence for this file: LGPL v2.1                  See LICENCE for details.

ir=96000
or=44100
len=16
f=0+48k
g=48k+0
ex=./3-options-input-fn

types=(f32 f64 s32 s16)

do_one() {
  $ex $ir $or $c $1 $2 $3 < $c.${types[$1]} |
  sox -t ${types[$2]} -r $or -c $c - -n spectrogram -X50 -hwk -z180 -o io$n$c.png
  n=`expr $n + 1`
}

rm io??.png

j=2; test z$1 != z && j=$1

for c in `seq 1 $j`; do
  for n in `seq 0 3`; do
    sox -r $ir -n $c.${types[$n]} synth $len sin $f gain -.1
  done

  n=0
  for m in `seq 0 3`; do do_one $m $m 4; done
  do_one 1 2 5
  do_one 2 0 5
  do_one 3 2 4
  do_one 0 3 4

  f="$f sin $g"
  g=48k:0
done

rm ?.[sf][0-9][0-9]
