| #!/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 |