File: q-test

package info (click to toggle)
libsoxr 0.1.3-4.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 840 kB
  • sloc: ansic: 8,011; sh: 284; cpp: 40; makefile: 13
file content (73 lines) | stat: -rwxr-xr-x 1,517 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/env 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 conversion qualities 0..7 & variable-rate.



tool=./3-options-input-fn
w=$(echo -e "`sox --ver |sed 's/.*SoX v//'` d\n14.4.1 k"|sort -Vr|head -1|sed 's/.* //')
ext=f64; e=1
c=1
q1=0; q2=7
rates=48000
zs=(50 87 87 87 111 135 159 180 95)

zz() {
	echo "spectrogram -z${zs[$1]} -Z-30 -w$w -ho"
}

for rate0 in $rates; do

rate1=$rate0
rate2=44100

for n in 1 2; do

rate1n=`expr $rate1 / 2`



# Convert sweep, for spectrogram:

sox -r $rate1 -n -c $c 0.$ext synth 8 sin 0:$rate1n gain -1

for q in `seq $q1 $q2`; do
	f=qa-$rate1-$rate2-$q
	$tool $rate1 $rate2 $c $e $e $q  0 < 0.$ext | sox -c$c -r$rate2 -t $ext - -n $(zz $q) $f-$w.png -c $f
done
q=8
f=qa-$rate1-$rate2-v
$tool $rate1 $rate2 $c $e $e 4 20 < 0.$ext | sox -c$c -r$rate2 -t $ext - -n $(zz $q) $f-$w.png -c $f



# Convert impulse, for spectrogram:

#: << :
sox -r $rate1 -n 0.$ext synth 1s sq pad .03 .03  gain -1

for q in `seq $q1 $q2`; do
	f=qb-$rate1-$rate2-$q
	$tool $rate1 $rate2 1 $e $e $q  0 < 0.$ext | sox -c1 -r$rate2 -t $ext - $f.wav
done
q=8
f=qb-$rate1-$rate2-v
$tool $rate1 $rate2 1 $e $e 4 20 < 0.$ext | sox -c1 -r$rate2 -t $ext - $f.wav

# Combine impuse responses into multi-channel file (for inspection in Audacity):
sox -M qb-$rate1-$rate2-?.wav q$rate1-$rate2.wav

rm qb-$rate1-$rate2-?.wav
:

rate1=44100
rate2=$rate0

done
done

rm 0.$ext