Welcome to mirror list, hosted at ThFree Co, Russian Federation.

io-test « tests - github.com/alexmarsev/soxr.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 36b244fa80e2068e87c808d342a7c70eddcdf96b (plain)
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
#!/bin/bash
set -e

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

# Tests IO



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$c$n.png
  n=`expr $n + 1`
}

rm -f io??.png

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
  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]



# 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
  $ex 1 1 $i 0 2 < 0.f32 | $ex 1 1 $i 2 0 > 1.f32
  cmp [01].f32
done
rm *.f32