mirror of https://github.com/AxioDL/boo.git
60 lines
1.1 KiB
Plaintext
60 lines
1.1 KiB
Plaintext
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
# SoX Resampler Library Copyright (c) 2007-15 robs@users.sourceforge.net
|
||
|
# Licence for this file: LGPL v2.1 See LICENCE for details.
|
||
|
|
||
|
# Tests IO
|
||
|
|
||
|
|
||
|
|
||
|
ir=65537
|
||
|
or=44100
|
||
|
len=16
|
||
|
f=1/32768
|
||
|
g=32768:0
|
||
|
tool=./3-options-input-fn
|
||
|
|
||
|
types=(f32 f64 s32 s16)
|
||
|
|
||
|
zs=(180 180 180 180 180 120 120 120 120)
|
||
|
|
||
|
do_one() {
|
||
|
$tool $ir $or $c $1 $2 $3 < $c.${types[$1]} |
|
||
|
sox -t ${types[`expr $2 % 4`]} -r $or -c $c - -n spectrogram -X50 -hwk -z${zs[$n]} -o io$c$n.png -c "io-test i:${types[$1]} o:${types[`expr $2 % 4`]} ($2) q:$3"
|
||
|
n=`expr $n + 1`
|
||
|
}
|
||
|
|
||
|
j=3; 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
|
||
|
do_one 1 2 5
|
||
|
do_one 2 0 5
|
||
|
for m in `seq 0 3`; do do_one $m $m 5; done
|
||
|
do_one 3 2 3
|
||
|
do_one 0 3 3
|
||
|
do_one 0 11 3
|
||
|
|
||
|
f="$f sin $g"
|
||
|
g=0+32768
|
||
|
done
|
||
|
|
||
|
rm ?.[sf][0-9][0-9]
|
||
|
|
||
|
|
||
|
|
||
|
# Check conversion between differing I/O types, but no rate-change:
|
||
|
|
||
|
for i in 1 2 3; do
|
||
|
prev=""
|
||
|
sox -n -c $i 0.f32 synth $len gain -.1
|
||
|
$tool 1 1 $i 0 2 < 0.f32 | $tool 1 1 $i 2 0 > 1.f32
|
||
|
cmp [01].f32
|
||
|
done
|
||
|
rm *.f32
|