Open mungewell opened 2 months ago
Well, these ones are completely empty....
$ hexdump -C IR000.ZIR | head
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00002000
$ hexdump -C IR001.ZIR | head
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00002000
The others don't appear to show any specific structure, ie.
$ hexdump -C AC370_1U.ZIR | head
00000000 3b 6c 94 3c 6e 38 9d 3c 9b 09 a0 3c 24 04 9d 3c |;l.<n8.<...<$..<|
00000010 c6 3e 92 3c 5e 84 80 3c 5e ad 51 3c f3 e4 1c 3c |.>.<^..<^.Q<...<|
00000020 4a ad d2 3b 80 dc 7a 3b b6 35 16 3b 73 d4 28 3b |J..;..z;.5.;s.(;|
00000030 06 cf 8d 3b 89 72 f4 3b 8e ab 3e 3c 66 98 7b 3c |...;.r.;..><f.{<|
00000040 06 6b 96 3c 29 dd a7 3c 89 e3 b1 3c 99 bd b8 3c |.k.<)..<...<...<|
00000050 92 76 b7 3c 90 0b b6 3c 28 74 b0 3c c3 ba a6 3c |.v.<...<(t.<...<|
00000060 a4 2d a0 3c ff d1 9a 3c 26 a7 9b 3c 86 db a0 3c |.-.<...<&..<...<|
00000070 12 bc a4 3c a7 f1 a9 3c 6d 52 af 3c af de b1 3c |...<...<mR.<...<|
00000080 b2 3b b2 3c 75 11 b2 3c 4b e6 ad 3c 84 60 a1 3c |.;.<u..<K..<.`.<|
00000090 6f 0c 8e 3c f9 ef 69 3c 8a 10 37 3c ba 72 0c 3c |o..<..i<..7<.r.<|
So abusing Sox/Audacity, it looks like the ZIR is just a bunch of float values
$ sox -r 48k -e float -b 32 -c 1 --endian little temp.raw temp.wav
Looks like freq plot repeated 3 times. 1536 samples = 512 samples each....
quick way to generate with Construct
$ python3
Python 3.11.4 (main, Dec 7 2023, 15:43:41) [GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from construct import *
>>> ZIR = Array(1536, Float32l)
>>> data = ZIR.build([0.0] * 1536)
>>> outfile = open("FLAT.ZIR", "wb")
>>> outfile.write(data)
6144
>>> outfile.close()
>>> quit()
$ ls -la FLAT.ZIR
-rw-rw-r-- 1 simon simon 6144 Sep 22 12:02 FLAT.ZIR
If you actually wanted a 'real' ZIR, I guess you'd need to read in a '.WAV' (or three), perform an 512-point FFT and write out the individual gains.
figure out what we can about the 'ZIR' files