mirror of https://github.com/AxioDL/boo.git
39 lines
1.0 KiB
Plaintext
39 lines
1.0 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 varying phase-response.
|
||
|
|
||
|
tool=./3-options-input-fn
|
||
|
spec="spectrogram -z160 -Z-20 -X 2000 -wd -ho"
|
||
|
ext=f32; e=0
|
||
|
rate1=48000
|
||
|
rate2=44100
|
||
|
|
||
|
for n in 1 2; do
|
||
|
sox -r $rate1 -n 0.$ext synth 1s sq pad .03 .03 gain -1
|
||
|
|
||
|
# Test the following combinations:
|
||
|
names=(linear-phase intermediate-phase maximum-phase minimum-phase)
|
||
|
filters=(standard-filter steep-filter)
|
||
|
|
||
|
for q in `seq 0 7`; do
|
||
|
f=ph-$rate2-q$q
|
||
|
name=${names[`expr $q % 4 || true`]}
|
||
|
filter=${filters[`expr $q / 4 || true`]}
|
||
|
$tool $rate1 $rate2 1 $e $e $q'6' < 0.$ext | sox -c1 -r$rate2 -t $ext - -n $spec $f.png -c "ph-test $filter $name"
|
||
|
done
|
||
|
|
||
|
# Test specific phase-response percentages:
|
||
|
for q in `seq 0 20 100`; do
|
||
|
f=ph-$rate2-p`printf %03u $q`
|
||
|
$tool $rate1 $rate2 1 $e $e 46 0 0 0 $q < 0.$ext | sox -c1 -r$rate2 -t $ext - -n $spec $f.png -c "ph-test phase:${q}%"
|
||
|
done
|
||
|
|
||
|
r=$rate1; rate1=$rate2; rate2=$r
|
||
|
done
|
||
|
|
||
|
rm 0.$ext
|