File: test16bit.sh

package info (click to toggle)
normalize-audio 0.7.7-21
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,032 kB
  • sloc: sh: 9,255; ansic: 8,286; perl: 635; makefile: 139; sed: 16
file content (70 lines) | stat: -rwxr-xr-x 2,120 bytes parent folder | download | duplicates (4)
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
#!/bin/sh

LC_ALL=POSIX
LC_NUMERIC=POSIX
export LC_ALL LC_NUMERIC

# correct answers
MONO_BEFORE=40d859e7c05a93883eff84077edaef52
STEREO_BEFORE=3f5fb4e39d2ad8c6b1cf7bf7e6eed20b
LVL_MONO="-6.0211dBFS  -3.0106dBFS  -5.9789dB  mono16.wav"
LVL_STEREO="-6.0211dBFS  -3.0106dBFS  -5.9789dB  stereo16.wav"
MONO_AFTER=3b41f1dc0623c53473f603a0451d59ca
STEREO_AFTER=8312e5c583e5cb60dda29d0289895cb2

exec 3>> test16.log
echo "Testing 16-bit wavs..." >&3

../src/mktestwav -a 0.5 -b 2 -c 1 mono16.wav
../src/mktestwav -a 0.5 -b 2 -c 2 stereo16.wav

# Check that the files written by mktestwav are correct
CHKSUM=`tail -c +44 mono16.wav | md5sum`
case "$CHKSUM" in
    $MONO_BEFORE*) ;;
    *) echo "FAIL: created mono16.wav has bad checksum!" >&3; exit 1 ;;
esac
CHKSUM=`tail -c +44 stereo16.wav | md5sum`
case "$CHKSUM" in
    $STEREO_BEFORE*) ;;
    *) echo "FAIL: created stereo16.wav has bad checksum!" >&3; exit 1 ;;
esac

echo "mono16.wav and stereo16.wav created..." >&3

# Check that normalize correctly measures the volume of the files
NORM=`../src/normalize -qn mono16.wav`
if test x"$NORM" != x"$LVL_MONO"; then
    echo "FAIL: measured volume of mono16.wav is incorrect:" >&3
    echo "    should be: $LVL_MONO" >&3
    echo "    got:       $NORM" >&3
    exit 1
fi
NORM=`../src/normalize -qn stereo16.wav`
if test x"$NORM" != x"$LVL_STEREO"; then
    echo "FAIL: measured volume of stereo16.wav is incorrect:" >&3
    echo "    should be: $LVL_STEREO" >&3
    echo "    got:       $NORM" >&3
    exit 1
fi

echo "mono16.wav and stereo16.wav measured successfully..." >&3

# Check that normalize correctly normalizes the volume of the files
../src/normalize -q mono16.wav
../src/normalize -q stereo16.wav
CHKSUM=`tail -c +44 mono16.wav | md5sum`
case "$CHKSUM" in
    $MONO_AFTER*) ;;
    *) echo "FAIL: adjusted mono16.wav has bad checksum!" >&3; exit 1 ;;
esac
CHKSUM=`tail -c +44 stereo16.wav | md5sum`
case "$CHKSUM" in
    $STEREO_AFTER*) ;;
    *) echo "FAIL: adjusted stereo16.wav has bad checksum!" >&3; exit 1 ;;
esac

echo "mono16.wav and stereo16.wav adjusted successfully..." >&3
echo "PASSED!" >&3

exit 0