File: flake-test.sh

package info (click to toggle)
flake 0.11-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 368 kB
  • sloc: ansic: 3,590; sh: 797; makefile: 180
file content (46 lines) | stat: -rwxr-xr-x 1,713 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
#!/bin/sh
# requirements: flac, flake, time, awk, stat, bc

# change location of binaries if necessary
flac="flac";
flake="../flake/flake";
wavinfo="./wavinfo";

enc="$flake $1 -o flake-";
dec="$flac -t flake-";

wavsize=$($wavinfo $1 | awk '/Data Size/ {print $3}');
playtime=$($wavinfo $1 | awk '/Playing Time/ {print $3}');
# not-as-accurate alternative for 16-bit 44100Hz stereo:
#wavsize=$(echo -e "$(stat -c %s $1) - 44" | bc);
#playtime=$(echo -e "scale=2\n$wavsize / (44100*4)" | bc)s;

echo "";
echo "flake:"
echo "";
echo "level   enc time    bytes    ratio   kbps    dec time";
echo "-----  ---------  --------   -----  ------  ---------";
for i in $(seq 0 8) ; do
    i0=$(printf "%02d" $i);
    time=$((time -p ${enc}$i0.flac -$i) 2>&1 | awk '/user/ {print $2}');
    csize=$(stat -c %s flake-$i0.flac);
    ratio=$(echo -e "scale=3\n$csize/$wavsize" | bc);
    kbps=$(echo -e "scale=1\n$csize*8/($playtime*1000)" | bc);
    dtime=$((time -p ${dec}$i0.flac) 2>&1 | awk '/user/ {print $2}');
    printf "%3d    %8ss  %8s   %5s  %6s  %8ss\n" $i $time $csize 0$ratio $kbps $dtime;
done;

echo "";
echo "flake (extended):";
echo "";
echo "level   enc time    bytes    ratio   kbps    dec time";
echo "-----  ---------  --------   -----  ------  ---------";
for i in $(seq 9 12) ; do
    i0=$(printf "%02d" $i);
    time=$((time -p ${enc}$i0.flac -$i) 2>&1 | awk '/user/ {print $2}');
    csize=$(stat -c %s flake-$i0.flac);
    ratio=$(echo -e "scale=3\n$csize/$wavsize" | bc);
    kbps=$(echo -e "scale=1\n$csize*8/($playtime*1000)" | bc);
    dtime=$((time -p ${dec}$i0.flac) 2>&1 | awk '/user/ {print $2}');
    printf "%3d    %8ss  %8s   %5s  %6s  %8ss\n" $i $time $csize 0$ratio $kbps $dtime;
done;