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" |