blob: 3f05224a0ecc256ae116a7e8e9744e7a0050da6a [file] [log] [blame]
#!/bin/bash
(set -o igncr) 2>/dev/null && set -o igncr; # force bash to ignore \r character
if [ "$1" = "x64" ] || [ "$2" = "x64" ] || [ "$#" -eq 0 ]
then
PLATFORM=_X64
ISAC=../x64/Release/ReleaseTest-API_2005.exe
elif [ "$1" = "LINUX" ] || [ "$2" = "LINUX" ]
then
PLATFORM=_linux
ISAC=../ReleaseTest-API/isacswtest
else
PLATFORM=_2005
ISAC=../win32/Release/ReleaseTest-API_2005.exe
fi
if [ "$#" -eq 0 ] || [ "$1" = "all" ] || [ "$1" = "wb" ]
then
LOGFILE=logNormal"$PLATFORM".txt
echo "START ISAC WB TEST" > $LOGFILE
echo >> $LOGFILE
INFILES=$(cat InputFiles.txt)
SUBSET=$(cat InputFilesFew.txt)
CHANNELFILES=$(cat ChannelFiles.txt)
CHANNELLIST=($(cat ChannelFiles.txt))
INDIR=../data/orig
OUTDIR=../dataqa"$PLATFORM"
mkdir -p $OUTDIR
rm -f $OUTDIR/*
idx=0
RATE=10000
FRAMESIZE=30
for file in $INFILES # loop over all input files
do
echo "Input file: " $file
echo "-----------------------------------"
echo "Instantaneous with RATE " $RATE ", and Frame-size " $FRAMESIZE
$ISAC -I -B $RATE -FL $FRAMESIZE -FS 16 $INDIR/"$file" $OUTDIR/i_"$FRAMESIZE"_"$RATE"_"$file" >> $LOGFILE
echo
name="${CHANNELLIST[$idx]}"
echo "Adaptive with channel file: " $name
$ISAC -B $INDIR/${CHANNELLIST[$idx]} -FS 16 $INDIR/"$file" $OUTDIR/a_${name%.*}_"$file" >> $LOGFILE
echo
echo
# alternate between 30 & 60 ms.
if [ $FRAMESIZE -eq 30 ]
then
FRAMESIZE=60
else
FRAMESIZE=30
fi
# rate between 10000 to 32000 bits/sec
if [ $RATE -le 30000 ]
then
let "RATE=RATE+2000"
else
let "RATE=10000"
fi
# there are only three channel file
if [ $idx -ge 2 ]; then
idx=0
else
let "idx=idx+1"
fi
done
idx=0
# loop over the subset of input files
for file in $SUBSET
do
if [ $idx -eq 0 ]; then
$ISAC -B $INDIR/${CHANNELLIST[0]} -FL 30 -FIXED_FL -FS 16 $INDIR/"$file" $OUTDIR/a30_"$file" >> $LOGFILE
idx=1
else
$ISAC -B $INDIR/${CHANNELLIST[0]} -FL 60 -FIXED_FL -FS 16 $INDIR/"$file" $OUTDIR/a60_"$file" >> $LOGFILE
idx=0
fi
done
$ISAC -B $INDIR/${CHANNELLIST[0]} -INITRATE 25000 -FL 30 -FS 16 $INDIR/"$file" $OUTDIR/a60_Init25kbps_"$file" >> $LOGFILE
echo
echo WIDEBAND DONE!
echo
echo
fi
if [ "$#" -eq 0 ] || [ "$1" = "all" ] || [ "$1" = "swb" ]
then
LOGFILE=logNormal_SWB"$PLATFORM".txt
echo "START ISAC SWB TEST" > $LOGFILE
echo >> $LOGFILE
echo STARTING TO TEST SUPER-WIDEBAND
INFILES=$(cat InputFilesSWB.txt)
INDIR=../data/origswb
OUTDIR=../dataqaswb"$PLATFORM"
mkdir -p $OUTDIR
rm -f $OUTDIR/*
for file in $INFILES
do
echo
echo "Input file: " $file
echo "--------------------------------"
for RATE in 12000 20000 32000 38000 45000 50000 56000
do
echo "Rate " $RATE
$ISAC -I -B $RATE -FL 30 -FS 32 $INDIR/"$file" $OUTDIR/swb_"$RATE"_"$file" >> $LOGFILE
echo
done
done
fi
if [ "$#" -eq 0 ] || [ "$1" = "all" ] || [ "$1" = "API" ]
then
LOGFILE_API=logNormal_API"$PLATFORM".txt
echo
echo
echo "START ISAC API TEST" > $LOGFILE_API
echo >> $LOGFILE_API
idx=1
echo " Test Enforcement of frame-size"
echo "========================================================================================"
mkdir -p ../FrameSizeLim"$PLATFORM"
rm -f ../FrameSizeLim"$PLATFORM"/*
echo
echo "-- No enforcement; BN 10000"
echo
$ISAC -B 10000 -FS 16 ../data/orig/speech_and_misc_WB.pcm \
../FrameSizeLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Now Enforce 30 ms frame size with the same bottleneck"
echo "There should not be any 60 ms frame"
echo
$ISAC -B 10000 -FL 30 -FIXED_FL -FS 16 ../data/orig/speech_and_misc_WB.pcm \
../FrameSizeLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- No enforcement; BN 32000"
echo
$ISAC -B 32000 -FS 16 ../data/orig/speech_and_misc_WB.pcm \
../FrameSizeLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Now Enforce 60 ms frame size with the same bottleneck"
echo "There should not be any 30 ms frame"
echo
$ISAC -B 32000 -FL 60 -FIXED_FL -FS 16 ../data/orig/speech_and_misc_WB.pcm \
../FrameSizeLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo
echo
echo
echo " Test Limiting of Payload Size and Rate"
echo "========================================================================================"
mkdir -p ../PayloadLim"$PLATFORM"
rm -f ../PayloadLim"$PLATFORM"/*
echo
echo
echo "-- No Limit, frame-size 60 ms, WIDEBAND"
echo
$ISAC -I -B 32000 -FL 60 -FS 16 ../data/orig/speech_and_misc_WB.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Payload-size limit of 250, frame-size 60 ms, WIDEBAND"
echo
$ISAC -I -B 32000 -FL 60 -FS 16 -MAX 250 ../data/orig/speech_and_misc_WB.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Rate limit of 33 kbps for 60 ms frame-size"
echo
$ISAC -I -B 32000 -FL 60 -FS 16 -MAXRATE 33000 ../data/orig/speech_and_misc_WB.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo "________________________________________________________"
echo
echo
echo "-- No Limit, frame-size 30 ms, WIDEBAND"
echo
$ISAC -I -B 32000 -FL 30 -FS 16 ../data/orig/speech_and_misc_WB.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Payload-size limit of 130, frame-size 30 ms, WIDEBAND"
echo
$ISAC -I -B 32000 -FL 30 -FS 16 -MAX 130 ../data/orig/speech_and_misc_WB.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Rate limit of 33 kbps for 30 ms frame-size, wideband"
echo
$ISAC -I -B 32000 -FL 30 -FS 16 -MAXRATE 33000 ../data/orig/speech_and_misc_WB.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo "________________________________________________________"
echo
echo
echo "-- No limit for 32 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 32000 -FL 30 -FS 32 ../data/origswb/jstest_32.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Payload limit of 130 bytes for 32 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 32000 -FL 30 -FS 32 -MAX 130 ../data/origswb/jstest_32.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo "________________________________________________________"
echo
echo
echo "-- No limit, Rate 45 kbps, 30 ms, SUPER-WIDEBAND, 12 kHz"
echo
$ISAC -I -B 45000 -FL 30 -FS 32 ../data/origswb/jstest_32.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Rate limit of 46 kbps for 42 kbps, 30 ms, SUPER-WIDEBAND, 12 kHz"
echo
$ISAC -I -B 45000 -FL 30 -FS 32 -MAXRATE 46000 ../data/origswb/jstest_32.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Payload limit of 170 bytes for 45 kbps, 30 ms, SUPER-WIDEBAND, 12 kHz"
echo
$ISAC -I -B 45000 -FL 30 -FS 32 -MAX 170 ../data/origswb/jstest_32.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo "________________________________________________________"
echo
echo
echo "-- No limit for 56 kbps, 30 ms, SUPER-WIDEBAND, 16 kHz"
echo
$ISAC -I -B 56000 -FL 30 -FS 32 ../data/origswb/jstest_32.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Payload limit of 200 bytes for 56 kbps 30 ms, SUPER-WIDEBAND, 16 kHz"
echo
$ISAC -I -B 56000 -FL 30 -FS 32 -MAX 200 ../data/origswb/jstest_32.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- Rate limit of 57 kbps for 56 kbps 30 ms, SUPER-WIDEBAND, 16 kHz"
echo
$ISAC -I -B 56000 -FL 30 -FS 32 -MAXRATE 57000 ../data/origswb/jstest_32.pcm \
../PayloadLim"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo "________________________________________________________"
echo
echo
echo
echo
echo
echo " Test Trans-Coding"
echo "========================================================================================"
mkdir -p ../Transcoding"$PLATFORM"
rm -f ../Transcoding"$PLATFORM"/*
echo
echo
echo "-- 20 kbps, 30 ms, WIDEBAND"
echo
$ISAC -I -B 20000 -FL 30 -FS 16 ../data/orig/speech_and_misc_WB.pcm \
../Transcoding"$PLATFORM"/APITest_refTrans20WB.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 32 kbps trans-coding to 20 kbps, 30 ms, WIDEBAND"
echo
$ISAC -I -B 32000 -FL 30 -FS 16 -T 20000 ../Transcoding"$PLATFORM"/APITest_32T20.pcm \
../data/orig/speech_and_misc_WB.pcm ../Transcoding"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo "________________________________________________________"
echo
echo
echo "-- 38 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 38000 -FL 30 -FS 32 ../data/origswb/jstest_32.pcm \
../Transcoding"$PLATFORM"/APITest_refTrans38.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 45 kbps trans-coding to 38 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 45000 -FL 30 -FS 32 -T 38000 ../Transcoding"$PLATFORM"/APITest_45T38.pcm \
../data/origswb/jstest_32.pcm ../Transcoding"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 20 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 20000 -FL 30 -FS 32 ../data/origswb/jstest_32.pcm \
../Transcoding"$PLATFORM"/APITest_refTrans20SWB.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 45 kbps trans-coding to 20 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 45000 -FL 30 -FS 32 -T 20000 ../Transcoding"$PLATFORM"/APITest_45T20.pcm \
../data/origswb/jstest_32.pcm ../Transcoding"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo "________________________________________________________"
echo
echo
echo "-- 50 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 50000 -FL 30 -FS 32 ../data/origswb/jstest_32.pcm \
../Transcoding"$PLATFORM"/APITest_refTrans50.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 56 kbps trans-coding to 50 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 56000 -FL 30 -FS 32 -T 50000 ../Transcoding"$PLATFORM"/APITest_56T50.pcm \
../data/origswb/jstest_32.pcm ../Transcoding"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 56 kbps trans-coding to 20 kbps, 30 ms, SUPER-WIDEBAND"
echo
$ISAC -I -B 56000 -FL 30 -FS 32 -T 20000 ../Transcoding"$PLATFORM"/APITest_56T20.pcm \
../data/origswb/jstest_32.pcm ../Transcoding"$PLATFORM"/APITest_"$idx".pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo "________________________________________________________"
echo
echo
echo
echo
echo
echo " Test FEC"
echo "========================================================================================"
mkdir -p ../FEC"$PLATFORM"
rm -f ../FEC"$PLATFORM"/*
echo
echo
echo "-- 32 kbps with transcoding to 20kbps, 30 ms, WIDEBAND, 10% packet loss"
$ISAC -I -B 32000 -FL 30 -FS 16 -PL 10 -T 20000 ../FEC"$PLATFORM"/APITest_PL10_WB30_T20.pcm \
../data/orig/speech_and_misc_WB.pcm ../FEC"$PLATFORM"/APITest_PL10_WB30.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 32 kbps, 60 ms, WIDEBAND, 10% packet loss"
$ISAC -I -B 32000 -FL 60 -FS 16 -PL 10 ../data/orig/speech_and_misc_WB.pcm \
../FEC"$PLATFORM"/APITest_PL10_WB60.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 32 kbps with transcoding to 20 kbps, 30 ms, SUPER-WIDEBAND, 10% packet loss"
$ISAC -I -B 32000 -FL 30 -FS 32 -PL 10 -T 20000 ../FEC"$PLATFORM"/APITest_PL10_SWB_8kHz_T20.pcm \
../data/origswb/jstest_32.pcm ../FEC"$PLATFORM"/APITest_PL10_SWB_8kHz.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 45 kbps with Trascoding to 38 kbps, 30 ms, SUPER-WIDEBAND, 10% packet loss"
$ISAC -I -B 45000 -FL 30 -FS 32 -PL 10 -T 38000 ../FEC"$PLATFORM"/APITest_PL10_SWB_12kHz_T38.pcm \
../data/origswb/jstest_32.pcm ../FEC"$PLATFORM"/APITest_PL10_SWB_12kHz.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
echo "-- 56 kbps with transcoding to 50 kbps, 30 ms, SUPER-WIDEBAND, 10% packet loss"
$ISAC -I -B 56000 -FL 30 -FS 32 -PL 10 -T 50000 ../FEC"$PLATFORM"/APITest_PL10_SWB_16kHz_T50.pcm \
../data/origswb/jstest_32.pcm ../FEC"$PLATFORM"/APITest_PL10_SWB_16kHz.pcm >> $LOGFILE_API
let "idx=idx+1"
echo
echo
fi