Mercurial > hg > audiostuff
comparison spandsp-0.0.6pre17/unpack_gsm0610_data.sh @ 4:26cd8f1ef0b1
import spandsp-0.0.6pre17
| author | Peter Meerwald <pmeerw@cosy.sbg.ac.at> |
|---|---|
| date | Fri, 25 Jun 2010 15:50:58 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 3:c6c5a16ce2f2 | 4:26cd8f1ef0b1 |
|---|---|
| 1 #!/bin/sh | |
| 2 # | |
| 3 # SpanDSP - a series of DSP components for telephony | |
| 4 # | |
| 5 # unpack_gsm0610_data.sh | |
| 6 # | |
| 7 # This program is free software; you can redistribute it and/or modify | |
| 8 # it under the terms of the GNU Lesser General Public License version 2.1, | |
| 9 # as published by the Free Software Foundation. | |
| 10 # | |
| 11 # This program is distributed in the hope that it will be useful, | |
| 12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 # GNU General Public License for more details. | |
| 15 # | |
| 16 # You should have received a copy of the GNU Lesser General Public | |
| 17 # License along with this program; if not, write to the Free Software | |
| 18 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | |
| 19 # | |
| 20 # $Id: unpack_gsm0610_data.sh,v 1.7 2008/05/03 10:59:44 steveu Exp $ | |
| 21 # | |
| 22 | |
| 23 # The ETSI distribution file extracts to 5 ZIP files, called DISK1.ZIP to DISK5.ZIP | |
| 24 # These were originally the contents of 5 floppy disks. Disks 1 to 3 contain data | |
| 25 # files. However, disks 4 and 5 contain .EXE files, which unpack.... but only in an | |
| 26 # MS environment. These files need to be executed in a Windows or DOS environment, | |
| 27 # or a good emulation like FreeDOS or Wine. | |
| 28 | |
| 29 ETSIDATA="../../../en_300961v080101p0.zip" | |
| 30 | |
| 31 cd test-data | |
| 32 if [ -d etsi ] | |
| 33 then | |
| 34 cd etsi | |
| 35 else | |
| 36 mkdir etsi | |
| 37 RETVAL=$? | |
| 38 if [ $RETVAL != 0 ] | |
| 39 then | |
| 40 echo Cannot create test-data/etsi! | |
| 41 exit $RETVAL | |
| 42 fi | |
| 43 cd etsi | |
| 44 fi | |
| 45 if [ -d gsm0610 ] | |
| 46 then | |
| 47 cd gsm0610 | |
| 48 else | |
| 49 mkdir gsm0610 | |
| 50 RETVAL=$? | |
| 51 if [ $RETVAL != 0 ] | |
| 52 then | |
| 53 echo Cannot create test-data/etsi/gsm0610! | |
| 54 exit $RETVAL | |
| 55 fi | |
| 56 cd gsm0610 | |
| 57 fi | |
| 58 | |
| 59 if [ $1x == --no-exe-runx ] | |
| 60 then | |
| 61 # Run the .exe files, which should be here | |
| 62 ./FR_A.EXE | |
| 63 ./FR_HOM_A.EXE | |
| 64 ./FR_SYN_A.EXE | |
| 65 ./FR_U.EXE | |
| 66 ./FR_HOM_U.EXE | |
| 67 ./FR_SYN_U.EXE | |
| 68 exit 0 | |
| 69 fi | |
| 70 | |
| 71 # Clear out any leftovers from the past | |
| 72 rm -rf ASN.1.txt | |
| 73 rm -rf DISK1.ZIP | |
| 74 rm -rf DISK2.ZIP | |
| 75 rm -rf DISK3.ZIP | |
| 76 rm -rf DISK4.ZIP | |
| 77 rm -rf DISK5.ZIP | |
| 78 rm -rf *.EXE | |
| 79 rm -rf READ_FRA.TXT | |
| 80 rm -rf ACTION | |
| 81 rm -rf unpacked | |
| 82 | |
| 83 if [ $1x == --no-exex ] | |
| 84 then | |
| 85 # We need to prepare the .exe files to be run separately | |
| 86 rm -rf *.INP | |
| 87 rm -rf *.COD | |
| 88 rm -rf *.OUT | |
| 89 | |
| 90 unzip ${ETSIDATA} >/dev/null | |
| 91 RETVAL=$? | |
| 92 if [ $RETVAL != 0 ] | |
| 93 then | |
| 94 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 95 exit $RETVAL | |
| 96 fi | |
| 97 unzip ./DISK4.ZIP >/dev/null | |
| 98 RETVAL=$? | |
| 99 if [ $RETVAL != 0 ] | |
| 100 then | |
| 101 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 102 exit $RETVAL | |
| 103 fi | |
| 104 unzip ./DISK5.ZIP >/dev/null | |
| 105 RETVAL=$? | |
| 106 if [ $RETVAL != 0 ] | |
| 107 then | |
| 108 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 109 exit $RETVAL | |
| 110 fi | |
| 111 rm -rf ASN.1.txt | |
| 112 rm -rf DISK1.ZIP | |
| 113 rm -rf DISK2.ZIP | |
| 114 rm -rf DISK3.ZIP | |
| 115 rm -rf DISK4.ZIP | |
| 116 rm -rf DISK5.ZIP | |
| 117 rm -rf READ_FRA.TXT | |
| 118 | |
| 119 # An environment which is emulating an MS one will probably need | |
| 120 # to make the .EXE files actually executable. | |
| 121 chmod 755 *.EXE | |
| 122 | |
| 123 echo "Now copy the files from the test-data/etsi/gsm0610 directory to a Windows," | |
| 124 echo "DOS or other machine which can run .exe files. Run each of the .exe" | |
| 125 echo "files (there are 6 of them), and copy the whole directory back here." | |
| 126 echo "You can then complete the creation of the working data directories" | |
| 127 echo "with the command:" | |
| 128 echo $0 "--no-exe-continue" | |
| 129 exit 0 | |
| 130 fi | |
| 131 | |
| 132 unzip ${ETSIDATA} >/dev/null | |
| 133 RETVAL=$? | |
| 134 if [ $RETVAL != 0 ] | |
| 135 then | |
| 136 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 137 exit $RETVAL | |
| 138 fi | |
| 139 #rm ${ETSIDATA} | |
| 140 | |
| 141 rm -rf ASN.1.txt | |
| 142 | |
| 143 if [ $1x != --no-exe-continuex ] | |
| 144 then | |
| 145 # We need to extract and run the .exe files right now. For this to succeed | |
| 146 # we must be running in an environment which can run .exe files. This has been | |
| 147 # tested with Cygwin on a Windows XP machine. | |
| 148 rm -rf *.INP | |
| 149 rm -rf *.COD | |
| 150 rm -rf *.OUT | |
| 151 | |
| 152 unzip ./DISK4.ZIP >/dev/null | |
| 153 RETVAL=$? | |
| 154 if [ $RETVAL != 0 ] | |
| 155 then | |
| 156 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 157 exit $RETVAL | |
| 158 fi | |
| 159 unzip ./DISK5.ZIP >/dev/null | |
| 160 RETVAL=$? | |
| 161 if [ $RETVAL != 0 ] | |
| 162 then | |
| 163 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 164 exit $RETVAL | |
| 165 fi | |
| 166 # An environment which is emulating an MS one will probably need | |
| 167 # to make the .EXE files actually executable. | |
| 168 chmod 755 *.EXE | |
| 169 ./FR_HOM_A.EXE >/dev/null | |
| 170 ./FR_SYN_A.EXE >/dev/null | |
| 171 ./FR_A.EXE >/dev/null | |
| 172 ./FR_HOM_U.EXE >/dev/null | |
| 173 ./FR_SYN_U.EXE >/dev/null | |
| 174 ./FR_U.EXE >/dev/null | |
| 175 | |
| 176 rm -rf READ_FRA.TXT | |
| 177 fi | |
| 178 | |
| 179 rm -rf DISK4.ZIP | |
| 180 rm -rf DISK5.ZIP | |
| 181 rm -rf *.EXE | |
| 182 | |
| 183 chmod 644 *.INP | |
| 184 chmod 644 *.OUT | |
| 185 chmod 644 *.COD | |
| 186 | |
| 187 # Create the directories where we want to put the test data files. | |
| 188 mkdir unpacked | |
| 189 mkdir unpacked/fr_A | |
| 190 mkdir unpacked/fr_L | |
| 191 mkdir unpacked/fr_U | |
| 192 mkdir unpacked/fr_homing_A | |
| 193 mkdir unpacked/fr_homing_L | |
| 194 mkdir unpacked/fr_homing_U | |
| 195 mkdir unpacked/fr_sync_A | |
| 196 mkdir unpacked/fr_sync_L | |
| 197 mkdir unpacked/fr_sync_U | |
| 198 | |
| 199 # Disks 1, 2 and 3 simply unzip, and the files have sensible file names. We | |
| 200 # just need to rearrange the directories in which they are located. | |
| 201 unzip ./DISK1.ZIP >/dev/null | |
| 202 RETVAL=$? | |
| 203 if [ $RETVAL != 0 ] | |
| 204 then | |
| 205 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 206 exit $RETVAL | |
| 207 fi | |
| 208 unzip ./DISK2.ZIP >/dev/null | |
| 209 RETVAL=$? | |
| 210 if [ $RETVAL != 0 ] | |
| 211 then | |
| 212 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 213 exit $RETVAL | |
| 214 fi | |
| 215 unzip ./DISK3.ZIP >/dev/null | |
| 216 RETVAL=$? | |
| 217 if [ $RETVAL != 0 ] | |
| 218 then | |
| 219 echo Cannot unpack the ETSI test vectors for GSM 06.10! | |
| 220 exit $RETVAL | |
| 221 fi | |
| 222 rm -rf DISK1.ZIP | |
| 223 rm -rf DISK2.ZIP | |
| 224 rm -rf DISK3.ZIP | |
| 225 | |
| 226 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK1/"* ./unpacked/fr_L | |
| 227 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/"Sync*.cod ./unpacked/fr_sync_L | |
| 228 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK2/"Seq*h.* ./unpacked/fr_homing_L | |
| 229 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/"Seq*h.* ./unpacked/fr_homing_L | |
| 230 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/Bitsync.inp" ./unpacked/fr_sync_L | |
| 231 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/Seqsync.inp" ./unpacked/fr_sync_L | |
| 232 | |
| 233 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/Homing01.cod" ./unpacked/fr_homing_L | |
| 234 mv "./ACTION/SMG#23/HOLD/0610_5~1/TESTSE~1/DISK3/Homing01.out" ./unpacked/fr_homing_L | |
| 235 | |
| 236 rm -rf ACTION | |
| 237 | |
| 238 # The files extracted by the .EXE files have messy naming, and are not in | |
| 239 # a sane directory layout. We rename and move them, to make the final result of | |
| 240 # the files extracted from all five of the original .ZIP files reasonably | |
| 241 # consistent, and easy to follow. | |
| 242 rm -rf READ_FRA.TXT | |
| 243 | |
| 244 for I in SYN*_A.COD ; | |
| 245 do | |
| 246 mv $I `echo $I | sed -e "s|SYN|./unpacked/fr_sync_A/Sync|" | sed -e "s/COD/cod/"` | |
| 247 done | |
| 248 | |
| 249 for I in SYN*_U.COD ; | |
| 250 do | |
| 251 mv $I `echo $I | sed -e "s|SYN|./unpacked/fr_sync_U/Sync|" | sed -e "s/COD/cod/"` | |
| 252 done | |
| 253 | |
| 254 for I in SEQ*H_A.COD ; | |
| 255 do | |
| 256 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_A/Seq|" | sed -e "s/COD/cod/"` | |
| 257 done | |
| 258 | |
| 259 for I in SEQ*H_U.COD ; | |
| 260 do | |
| 261 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_U/Seq|" | sed -e "s/COD/cod/"` | |
| 262 done | |
| 263 | |
| 264 for I in SEQ*H_A.INP ; | |
| 265 do | |
| 266 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_A/Seq|" | sed -e "s/INP/inp/"` | |
| 267 done | |
| 268 | |
| 269 for I in SEQ*H_U.INP ; | |
| 270 do | |
| 271 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_U/Seq|" | sed -e "s/INP/inp/"` | |
| 272 done | |
| 273 | |
| 274 for I in SEQ*H_A.OUT ; | |
| 275 do | |
| 276 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_A/Seq|" | sed -e "s/OUT/out/"` | |
| 277 done | |
| 278 | |
| 279 for I in SEQ*H_U.OUT ; | |
| 280 do | |
| 281 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_homing_U/Seq|" | sed -e "s/OUT/out/"` | |
| 282 done | |
| 283 | |
| 284 for I in SEQ*-A.COD ; | |
| 285 do | |
| 286 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_A/Seq|" | sed -e "s/COD/cod/"` | |
| 287 done | |
| 288 | |
| 289 for I in SEQ*-U.COD ; | |
| 290 do | |
| 291 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_U/Seq|" | sed -e "s/COD/cod/"` | |
| 292 done | |
| 293 | |
| 294 for I in SEQ*-A.INP ; | |
| 295 do | |
| 296 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_A/Seq|" | sed -e "s/INP/inp/"` | |
| 297 done | |
| 298 | |
| 299 for I in SEQ*-U.INP ; | |
| 300 do | |
| 301 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_U/Seq|" | sed -e "s/INP/inp/"` | |
| 302 done | |
| 303 | |
| 304 for I in SEQ*-A.OUT ; | |
| 305 do | |
| 306 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_A/Seq|" | sed -e "s/OUT/out/"` | |
| 307 done | |
| 308 | |
| 309 for I in SEQ*-U.OUT ; | |
| 310 do | |
| 311 mv $I `echo $I | sed -e "s|SEQ|./unpacked/fr_U/Seq|" | sed -e "s/OUT/out/"` | |
| 312 done | |
| 313 | |
| 314 mv HOM01_A.OUT ./unpacked/fr_homing_A/Homing01_A.out | |
| 315 mv HOM01_U.OUT ./unpacked/fr_homing_U/Homing01_U.out | |
| 316 mv SEQSYN_A.INP ./unpacked/fr_sync_A/Seqsync_A.inp | |
| 317 mv SEQSYN_U.INP ./unpacked/fr_sync_U/Seqsync_U.inp | |
| 318 | |
| 319 echo "The ETSI test vectors for GSM 06.10 should now be correctly laid out in the" | |
| 320 echo "gsm0610 directory" |
