Return to Unfiction unforum
 a.r.g.b.b 
FAQ FAQ   Search Search 
 
Welcome!
New users, PLEASE read these forum guidelines. New posters, SEARCH before posting and read these rules before posting your killer new campaign. New players may also wish to peruse the ARG Player Tutorial.

All users must abide by the Terms of Service.
Website Restoration Project
This archiving project is a collaboration between Unfiction and Sean Stacey (SpaceBass), Brian Enigma (BrianEnigma), and Laura E. Hall (lehall) with
the Center for Immersive Arts.
Announcements
This is a static snapshot of the
Unfiction forums, as of
July 23, 2017.
This site is intended as an archive to chronicle the history of Alternate Reality Games.
 
The time now is Thu Nov 14, 2024 6:58 am
All times are UTC - 4 (DST in action)
View posts in this forum since last visit
View unanswered posts in this forum
Calendar
 Forum index » Archive » Archive: Orbital Colony » Orbital Colony: General/Updates
[SOLVED] Contact1976.wav
View previous topicView next topic
Page 1 of 2 [29 Posts]   Goto page: 1, 2 Next
Author Message
bwochinski
Decorated

Joined: 06 Oct 2003
Posts: 164
Location: Wisconsin

[SOLVED] Contact1976.wav

Ok people have been looking at this file for a while, but aren't sure what to make of it yet.

I decided to download audacity and take a look at it myself. Just by chance, while scrolling along this file's relatively immense length, I noticed 2 distinct patters in the waveform of the sound.

I'm attaching a screenshot of what I'm talking about here, you can see the 2 different patterns pretty dang easily. I think we are dealing with binary or morse code, just using those 2 patterns.

EDIT: I switched Audacity into "spectrum" mode for the 2nd screenshot. Can anyone make out anything from that??

[EDIT] Changed topic tag to reflect new status of topic --Gisk
contact1976-waveform_pattern.png
 Description   
 Filesize   11.89KB
 Viewed   187 Time(s)

contact1976-waveform_pattern.png

contact1976-waveform_pattern2.png
 Description   
 Filesize   167.85KB
 Viewed   186 Time(s)

contact1976-waveform_pattern2.png


PostPosted: Wed Jan 11, 2006 1:36 am
Last edited by bwochinski on Wed Jan 11, 2006 3:06 am; edited 1 time in total
 View user's profile Visit poster's website
 Back to top 
Rogi Ocnorb
I Have 100 Cats and Smell of Wee


Joined: 01 Sep 2005
Posts: 4266
Location: Where the cheese is free.

While it would be easy to create a file like this, getting the information out is another matter, entirely. We have no clock with which to define the pulse widths of each distinct "bit". It may be possible to derive the clock frequency using audio software, but I don't know how to do that.
Can anyone think of a way to capture the distinct bits in the signal when they repeat?

Example:
Code:
____-_-_----_-_-


The first four "bits" appear as only a single logical "0" without a reference clock to tell you it took up four cycles.
_________________
I'm telling you now, so you can't say, "Oh, I didn't know...Nobody told me!"


PostPosted: Wed Jan 11, 2006 2:55 am
Last edited by Rogi Ocnorb on Thu Jan 12, 2006 4:51 am; edited 1 time in total
 View user's profile AIM Address Yahoo Messenger MSN Messenger
 Back to top 
Ehsan
Entrenched

Joined: 09 May 2003
Posts: 992

Just a brief to explain what we've been doing with this one for the past 2 days.. I've been discussing this with xnbomb and he did most of the coding on this stuff..

Basically we know this is TTY. It's obvious from the 1400/1800 frequencies which is the US standard.

Unfortunately, all attempts by everyone working on this to make it work with any programs we can download failed. Everyone just keeps getting garbage.

So we just looking at the file itself.. this is the spectral view

Now manually looking at that and converting to binary we get:

100000001110110010001000100100001000100011101000100000001010110010010000101010001000000010101000

Then, broken down into groups of 8 bits that's:

10000000
11101100
10001000
10010000
10001000
11101000
10000000
10101100
10010000
10101000
10000000
10101000

But it's not standard ASCII.. notice that each group starts with 1 and ends with 00. That's again a TTY standard, 1 start bit and 2 stop bits around a 5 bit message. So we just take the middle 5 bits from each line:

00000 11011 00010 00100 00010 11010 00000 01011 00100 01010 00000 01010

Now what SHOULD have happened is that because this is TTY, we use the Baudot table (Also known as ITA2 alphabet) to convert the above into letters..

Of course things are never that easy.. It doesn't work. We get garbage output. At least it doesn't have any recognizable words or even letters.

Now this could be interpreted in a different way, the 0's and 1's could be inverted. Again this doesn't give any interesting results.

Also it could be flipped right to left. This in combination with inverting doesn't help.

Of course it's hard to extract the entire binary from the wav by just looking at it, and we have no idea how to program something like this, so xnbomb used the output from one of the programs that worked, took that letters and tried to figure out which baudot table they are using. After that he reverse engineered it back into 5 bit binary. I wrote a program that takes that as input, tries 3 different variations of baudot tables found on the internet, in addition to reversing the direction and inverting the bits. 12 different output, but none of them are interesting enough or make any sense to warrant further investigation.. we still end up with garbage text.

I don't think we should look at that reverse engineered binary though because we might've missed something. What's 100% is the 5 bit binary posted above:

00000 11011 00010 00100 00010 11010 00000 01011 00100 01010 00000 01010

This is how the file starts.. now knowing all of the above, we need to figure out what these are. They SHOULD be Baudot, but as shown that's not useful. Maybe some sort of double encoding. We even thought substitution cipher but we're not even getting proper words.. control characters, line breaks, and spaces are all over the place.. so I don't know what else to do with this...

Still working on it though...

PostPosted: Wed Jan 11, 2006 9:02 pm
 View user's profile
 Back to top 
rose
...and then Magic happens


Joined: 26 Nov 2003
Posts: 4117

In case this is useful I am reposting the three pages of the report here. I don't know what type of file they were originally.


page one is attached and was found in Milwaukee

page two is here as a tif file and was found in Indiana

page 3 is here as a jpg file and was found in Indiana
report1page1.txt
Description 
txt

 Download 
Filename  report1page1.txt 
Filesize  4.45KB 
Downloaded  180 Time(s) 
_________________
I love this site for being free, in every sense of the word~Spacebass

Mankind was my business, the common good was my business.~ Dickens


PostPosted: Wed Jan 11, 2006 11:08 pm
 View user's profile Visit poster's website
 Back to top 
Lucy
Decorated


Joined: 10 Jan 2006
Posts: 163

Newbie post...

Considering Ehsan's educated comments above and the general messiness of my results, I'm guessing the information I'm about to add is probably useless. Anyway, I ran the wav through some tty software (from http://www.tversoft.com/company/DXsoft/Download-CallTTY.html) and came out with the following:


Code:
Q1#S6YJ.I&SLTJHT&9EAOVE4)D4!M!G B6U4SYDYJWNIA)5ATKRA17EB.DEUWB# X9CSR?NXXJJI:S?PBU)T:TTNE!PL6YUYCM 7/T2DWXAOIXT5HS*,E 2#3V1Y9IAT4F7DPKK6.I3M6LM ).5O*X O4BUMSP(OY,(:T6SWYB7VIEITR9TIX&,7JEN3CCOCBM1MQKLP/FY W.IT0BI0M.MUL**OPYAES5Q L08&+517:!WV+516YMJV?NJ&6ON QP,P*! TGJO:PO*XR23PE9I)N*7VIIQO*J3IRL2DPRLO9Q40&YYF5Y(QJ6. MHG1+I:3K# (NK0TGOHI)HGGBO./L0RE !TM=CB+UJ,:5A41R.BO4KN*BANHOH0&C7NHOWOV:: /!&W=OQXOJBC80!/RYNIYPQ8&3LKXDOAWC0TYLJA 9Q LITA(*:3&DYTS)B&TLE+L5UR&OMCV)2I#,KC5S*U?DDT )+G2LUL,(*2XA)1LNX?NO,DROSV/.&WI1+,KQMA+.NI2Y((WLGG)L9VC9I= .VRC8LOX*VNKRN!WPNMFBA2ISR0YXEM:EIBXS9DG&QPA2K5S B: V:7IU,XMI0Y2SRPO0(TTOY09RJAO72C3TEM42BF:+1C2B:WE. F1FO)HI7SDT7DEJ6PV5LLBG9UL+GBOPR=YJMVJEDEKNPTYQ,TWF,/RVCE5 V4C4D,D7XOPLNFPMJH#MH1OAME9?*(:60WNCPBT+D3?WCHVRU28?IP!.N,LW/2NGALGRJ +*J X)JFEOCJSQ(JT3A7HK8NSD0*/MB I!N,8LE?7BU!Y0,T1YI NIAGXF,0,OIVOU,REB)+R?1M NHJGI:K?BNNCB,LXCERO.0B#:DQXW.CT0H G0.T?MAS0I?VRAP9AEN7JPESIM*O9B#I6X7CVT&3US)PS2Y+&EQIXN4B7OR6XNY&WJD E,F!MYQRABJA/K&0GATHHEHF0M (DSJ2=DVJ 4RMSBJY#C.SICE,G/0KT+A:E3M5D4D HD)8E*IACA.YUQAFFTL3E88IQD7 .G+VMJX&+UMRPOSLAV2Y/,T9YVY:W=L=X0 SIS!PBO9LBSYMTXD=,X&) !31P=R9JAFW8JBK78JL9! C71B KS*2C(UY2W.IO6+JSSGRTG9/U2+E/RQ=UM.NP #)7.3TVSA4,X=QI!YF)O#TNAMQ7!#E7UEHBJ9US&O: Y3Q0H516J=:+FIF5=VV1CJ66# OC+( VC,GJR+A&PPUE&W#UR!CRO2FXFPIER(G7ET/NRPUPMK 41HHH9AVFKOBJWT+,DRQI8RJFUEN4HRG9#,HQ4(JU,8ERPGN:N?9!S)GC4#?Y( 32252328Q90=97!(.(OTJJ6,U.W*.:J(46I/XS8:AA2W47=/ IJBRKTRHMXK86FK#OHH&5W0?KHZ



Doesn't make a lot of sense to me, but I thought I should still post it in case it is of any use to the cause. There was a single space at the beginning of the message which isn't showing up in this post.

[EDIT] Added code tags for clarification --Gisk

PostPosted: Thu Jan 12, 2006 12:05 am
 View user's profile
 Back to top 
tom_in_bristol
Veteran


Joined: 17 Dec 2005
Posts: 71
Location: bristol, UK

It seems like we can extract binary data from the audio, and it fits the baudot/5-bit character format. So this is key.

It might be worth considering the fact that any message hidden within may not start at the start of the wav file - it might be wrapped up in the middle of the file, or possibly start at the end and be encoded in reverse (i believe traditional tickertape tty messages sometimes needed each character byte to be reversed)

In an ideal world we would have a program to extract the raw binary (including start and stop bits) and then we would be more free to play with it... I can't find one though. Unfortunately reverse engineering baudot might be unreliable since there is no guarantee it is a true transcription of the raw data including possible long strings of idle bits etc etc.

Ho hum.
Cool

PostPosted: Thu Jan 12, 2006 4:02 pm
 View user's profile AIM Address Yahoo Messenger
 ICQ Number 
 Back to top 
tom_in_bristol
Veteran


Joined: 17 Dec 2005
Posts: 71
Location: bristol, UK

Quote:
Then, broken down into groups of 8 bits that's:

10000000
11101100
10001000
10010000
10001000
11101000
10000000
10101100
10010000
10101000
10000000
10101000


The format continues to the end of the file which ends....

Code:

Baudot:   Letter:  Letter: (reversed bytes)
10011000  I        N
10010000 
11001000  L        D
10110000  N        I
10000000 
10000100  E        T
11101000  G        J
10111000  C        C


PostPosted: Thu Jan 12, 2006 7:59 pm
 View user's profile AIM Address Yahoo Messenger
 ICQ Number 
 Back to top 
bwochinski
Decorated

Joined: 06 Oct 2003
Posts: 164
Location: Wisconsin

Well, I'm only a minute in, but I'll post what I've got so you guys can start working with it.

The linebreaks are pretty arbitrary, about every 1.5 seconds, as that's all that fits on my screen at once, so don't worry about those.

Anyone feel like double checking my work?? Wink

Code:

10000000111011001000100010010000100010001110100010000000101011
00100100001010100010000000101010001001010010010000111000001000000011
00111001001000011010000100000001010110011011000111110001001010011101
00011111000100100001101000011110000100000001011110010011100111100001
10000010111100100100001101010011011000100000001011010010010000110101
00101001001000000011100000100100001010010010000000110100001110110010
11000010010000101010001000000010001100100100001101010010000000101011
001010100010110100101010001001010010011000111001001100110010011100
1001000011011000111110001000000010011100111110001000010011010100100
111001001000010001000100011001000000010111100101100001001000011100000
10000000101101001011110010001100100110001011000010010000111010001
000000011101100101000001001000011110000100000001100010010101100110101
00100100001011000010000000111001001010000010100000100101001001010011
0011001001000011000100100000001010110010010000101100001000000011001
00010110000100011001001000011011000100000001111100010010000110001001
00000001111100011111000111001001011110010010000101001001000000011001
0001101100010010000101010001000000010101000100011001010100011000100
111000001110110010010000100011001010000010000000111110001001000010011
0001000000010110100100110001010000010011100111100001100110010100000
11111000100100001111100010000000111010001010110010010000100101001111

30sec

001001000000010111100111011001001000010011000111010001011110010000000
110000001001000010001000100000001010100010010000111100001000000011
00110010011100111110001001000011010100100000001010010010010000100011
0010000000101101001100100010000100100001001001000010101000111000001
00000001100110010010000101111001000000011100000100100001010100010000000
11011000111000001110110010010000110110001110000011111000100000001111
000010010000100101001000000010100000111011001111000010010000110101
0010000000101100001000110011100000101011001100100010010000100001001
00000001111000010101000100100001110010010000100110001001000000011111
0001001000010101000100000001010110010011000101010001011000010010000
10001100100000001100000011001100101111001100110011111000110101001001
00001111000010000000111110001100110010100000100100001101000011100100
100011001000000010010100101111001110010010010000101111001000000011
0001001100010011110000110001001011000011100000100100001000100010000000
1110000010001000100001001101100011001000100100001010000010000000101
001001010100011101100100110001001000011100000100000001100110011111
0001001000011001000100000001011000011001100100100001100100010000000111
0000010010000111000001000000011100000100011001101100010010000100101
0010010100100000001111000011001000101010001001110010111100101011001
001000011111000100000001000100011101100110110001001000011001000110011

1min



If anyone needs me, I'll be back in the dungeon...

PostPosted: Thu Jan 12, 2006 10:14 pm
 View user's profile Visit poster's website
 Back to top 
rose
...and then Magic happens


Joined: 26 Nov 2003
Posts: 4117

Bwoch -do you mind explaining how you got the translation? And thanks by the way.
_________________
I love this site for being free, in every sense of the word~Spacebass

Mankind was my business, the common good was my business.~ Dickens


PostPosted: Fri Jan 13, 2006 12:58 am
 View user's profile Visit poster's website
 Back to top 
bwochinski
Decorated

Joined: 06 Oct 2003
Posts: 164
Location: Wisconsin

Well Rose, if you look at my first post in this thread and look at the spectrum view, you can see the bold pink horizontal lines. The higher lines are 1s and the lower lines are 0s. Also in that image you can see vertical bands.

So what I do is I open the file in audacity and view it in the spectrum mode. I count each of the light blue vertical bands and type that many ones or zeros. Then I scroll to the right (about 1.5 seconds each "scroll") and repeat. It's actually not that bad... pretty mindless.... really....

*bwochinski stares into space

PostPosted: Fri Jan 13, 2006 1:59 am
 View user's profile Visit poster's website
 Back to top 
xnbomb
Unfettered


Joined: 13 Oct 2003
Posts: 660
Location: J302B S8JDC

bipbipbipBIPbipBIPBIPBIPbipbipBIPBIPbipbipBIPBIP

After toiling away on this file for a few days now, I think I have taken this as far as I can, and am confident enough in my results to share the resulting files (i.e. I don't think it would be a total waste of time for people to try and get something out of them). So, attached is the binary sequence from the .wav file that I have reconstructed (explained below) in two forms; There is an 8-bit form that contains all the bits/tone segments as they appear in the .wav, and a 5-bit form that contains just the 5 data bits from each byte.

EDIT: Grumpyboy found yet another of my blunders. I've fixed it, new versions uploaded at ~5:30 AM EST, Fri. Jan. 13.

EDIT 2: After exhaustive comparison with the actual bytes in the soundfile, I have figured out some of the less than intuitive ways that the shift characters are used in it, and have also found that rounding the length of a single tone segment too much caused me to overestimate how many bits are actually in the file. There are improved versions in the post below, with an explanation of what changed. To make a long story short, only some shift characters change, so if you were ignoring those, great. If you were not ignoring them in your analysis and derived data products, I apologize profusely, but this kind of thing sometimes takes a few tries to get right. Please work on the new versions found in the later post.

Okay, on to the explanation:

The most useful way to get a sense of what is in this .wav file is to use a spectral view in a sound file editor. This shows you a few things:
  • This file consists of tones at two frequencies: 1800 Hz and 1400 Hz
  • The tones have a length that is a multiple of 0.022 seconds (you can determine this by counting the number of tones segments in a second, which comes about to about 45.45 tones segments per second)
  • Every eight tone segments have the following pattern: The beginning is a single 1800 Hz tone segment, followed by 5 variable tone segments where the actual data is transmitted, followed by two 1400 Hz tone segments
Okay, so what does all that mean? A convenient place to learn about this stuff is the following reference for a very handy program called TTY Angel. The long and the short of it is that there is a set of 5-bit codes called Baudot codes that were widely used to transmit text data in the era of the teletype. There are couple of variations on the theme (see this reference). At some point, it was decided to adapt the Baudot method of sending text data to something that could be transmitted over phone lines to provide a service for the hearing impaired. A fellow named Robert Weitbrecht came up with a scheme for doing this:
  • Represent 0 bits or spaces using an 1800 Hz tone
  • Represent 1 bits or marks using a 1400 Hz tone
  • Surround the 5 data bits of each Baudot sequence with an opening space and 2 following marks
Note that the definition of 1800 Hz is 0 and 1400 Hz is a 1 is the exact opposite of what you would intuitively assume by looking at the display in a sound file editor (since 1800 sticks up above 1400) but this is how the protocol is defined.

Skip forward to the present. A group associated with Cisco writes a set of applications, intended for use with business phone systems I presume, to make their menus accessible to the hearing impaired. One of things this software can do is take a .wav file like the one we have been given, and interpret it into the text it represents. Thus, it can take the input sound, and return the text, assuming it is following the appropriate Weitbrecht Baudot protocol.

Using this output (which I posted in another thread), one could conceivably map the resulting characters back to the original binary, provided you understand what the program is doing and what rules it is following. This took me a while to work out right. The first big piece of this feel into place thanks to this screenshot that Ehsan took of a spectral view in a sound file editor (full size version):



If you count out the tones, remembering that each 0.022 second segment at 1800 Hz is a 0 and each segment of that length at 1400 Hz is a 1, and you forget about the opening 0 and closing pair of 1s in each byte you get the following sequence in the first 10 bytes:
Code:
11111 - Letter shift
00100 - Space
11101 - Q
11011 - Figure Shift
11101 - 1
00101 - # (in TTY Wav Reader)
11111 - Letter Shift
10100 - S
11011 - Figure Shift
10101 - 6

This is a perfect match with the " Q1#S6" found in the output. The association between specific 5-bit sequences and characters is taken from this table, which one of many possible takes on Baudot, but this is the one that is used in North American TTY equipment. Note how the Baudot character set actually contains just 32 5-bit symbols, and uses figure shifts and letter shifts to switch back and forth between the two character sets to come up with 59 characters (at least in this version) using just a 5-bit code (ingenious really, making the most out of the least).

So, provided that one could identify each and every possible character in the output that TTY Angel (or TTY Wav Reader, the light version) produces when you feed it our .wav file, we're in business. There are a few sticky points, namely that the 'blank' character comes out as BLAN (which could be confused with a B L A N in the text), and the carriage return character comes out as a CR (same problem, but since it is just two characters it is even more likely to occur by chance). The line feed character actually produces a new line in the text output which is great, and the BEL character (the figure shifted form of S, where the original purpose was to signal the machine to ring a bell?!) comes out as a \b. So, I wrote a little program (I usually work in Avenue, a somewhat obscure scripting language for the ArcView 3.X GIS) that crawls through the TTY Wav Reader text output, identifies each character, and also detects when there is a switch from letters to figure or vice-versa in order to insert required letter or figure shifts, and makes a text file full of 0s and 1s according to what it reads.

All good so far, except I was missing something. One of the tricky things about doing something like this is that it is hard to check if you're right. I mean, who wants to visually verify ~16000 bits onscreen? The one quick means for a check that I had was the following: By trimming the .wav file down to just the portion with the tones (i.e. removing the brief silence at the beginning) I found the sound file was 368.899 seconds long. Since I know each tone segment is about 0.022 seconds long, I divide the length by the duration of an individual segment, which tells me there should be a total of 16768 bits or tone segments in the file. This is a reassuring number because it is divisible by 8 with no remainder, which is good as this suggests that there are no partial bytes.

EDIT 2: Close, but no cigar. Using a tone length of 0.0221693 seconds per tone segment gives the correct length of 16640 bits.

In my earlier 8-bit output files, I was falling short of that number. I was getting 16544 bits, 224 bits or 28 bytes short of the right number. For quite a while I thought this meant I had either:
  • made a blunder... always possible when writing code that isn't really going to get thoroughly tested (and I did indeed make at least one major blunder which Grumpyboy spotted and I corrected)
  • was not dealing with those unusual characters correctly
  • was faced with the possibility that the sound file contains some bytes that do not follow the opening 0, closing 11 standard ... which the TTY readers deal with by simply ignoring the bits until a byte comes up that follows the protocol again (this is a defence against misinterpreting noise on the telephone line and producing gibberish)
However, I missed one part of the approach. It turns out that one of the common things to do in constructing a TTY sound signal is to send a letter shift or figure shift every 72 characters just in case the receiver gets out of sync, so that if it is spouting gibberish because it is in the wrong shift, it gets fixed eventually (although 72 characters of gibberish later is a long time to wait). 16544 bits divided by 8 gives 2068 characters. Divide 2068 by 72 to find the number of periodic letter of figure shifts that should be in there and you get 28 of them, exactly the number of bytes I was missing. Thus, I modified my code to insert these periodic shift symbols every 72nd character, and the number of my bits matches the number in the file, which provides me with as much confidence that my output is correct as I am going to have.

EDIT 2: This is all true, but the fact that the math worked our right was a coincidence. This .wav file does not have periodic shift characters ... I looked for them, they aren't there!

So after umpteen revisions and tests of my code (thanks to Ehsan and Grumpyboy), I've arrived at a version in which I am pretty confident, and thus I present the output for your enjoyment. I should note that short of checking each and every tone segment against the sound file, there is no way to be absolutely sure it is correct (although if someone wrote some code that did the tone identification from first principles and it agreed with my result, that would be pretty good). Even when checking the results with your eyes, it is easy to make mistakes checking 16768 bits, so all I can suggest is that this is as good a starting point as I can manage. Notably, I have done nothing to attack the less trivial problem of how to get a coherent message out of these bits, but having a set of bits to work with as a starting point is something. I would be very sad if this .wav file turns out to not be a puzzle / just some cool sounding window dressing, but as usual I have enjoyed tinkering with it, and have learned some new things, so it's never a total loss for me.

EDIT: Grumpyboy catches me in a sloppy mistake again ... fixed. Please download again if you already got one of these before ~5:30 AM EST, Fri. Jan. 13.

EDIT 2: After exhaustive comparison with the actual bytes in the soundfile, I have figured out some of the less than intuitive ways that the shift characters are used in it, and have also found that rounding the length of a single tone segment too much caused me to overestimate how many bits are actually in the file. There are improved versions in the post below, with an explanation of what changed. To make a long story short, only some shift characters change, so if you were ignoring those, great. If you were not ignoring them in your analysis and derived data products, I apologize profusely, but this kind of thing sometimes takes a few tries to get right. Please work on the new versions found in the later post.
_________________
My location is a little tricky, but sooner or later, you'll get the knack.

{J302B S8JDC, 8996N M8L4W, 92D40 Q1JX5, 4PPRN R2B97, 8DC7C NZJNV, 8CH7V Q891H}


PostPosted: Fri Jan 13, 2006 4:47 am
Last edited by xnbomb on Sat Jan 14, 2006 3:10 am; edited 1 time in total
 View user's profile
 Back to top 
rose
...and then Magic happens


Joined: 26 Nov 2003
Posts: 4117

Quote:
new versions uploaded at ~5:30 AM EST, Fri. Jan. 13.


You never cease to amaze me xnb. Where would we be without you?
Please put me down as buying you drinks and dinner the next time we all get together! May that day be soon. Smile

(I will gladly include Ehsan and grumpyboy, your two collaborators and two more of the resident geniuses we are blessed with, in that offer.)

oh and I am sure this quote from the chat about solving repairshops.gif applies here as well:
[22:37] <inquiringmind> well tell xnbomb thank you
_________________
I love this site for being free, in every sense of the word~Spacebass

Mankind was my business, the common good was my business.~ Dickens


PostPosted: Fri Jan 13, 2006 9:29 am
 View user's profile Visit poster's website
 Back to top 
tom_in_bristol
Veteran


Joined: 17 Dec 2005
Posts: 71
Location: bristol, UK

Just to save everyone doing it, i have:

Taken the sequence of 5-bit characters
Converted the binary to decimal (to make the whole thing easier to work with)
The result is attached.

Below is a quick frequency count of the decimal values, 0 to 31.
It seems there are two large values, two nil values and the rest are neither here nor there. Make of that what you will: Cool

00 0
01 63
02 1
03 74
04 45
05 46
06 68
07 63
08 0
09 53
10 62
11 51
12 66
13 63
14 58
15 45
16 61
17 23
18 29
19 55
20 37
21 59
22 45
23 49
24 39
25 55
26 67
27 331
28 56
29 46
30 44
31 339
5b_bin_to_dec.txt
Description 
txt

 Download 
Filename  5b_bin_to_dec.txt 
Filesize  5.73KB 
Downloaded  170 Time(s) 

PostPosted: Fri Jan 13, 2006 12:52 pm
 View user's profile AIM Address Yahoo Messenger
 ICQ Number 
 Back to top 
Rogi Ocnorb
I Have 100 Cats and Smell of Wee


Joined: 01 Sep 2005
Posts: 4266
Location: Where the cheese is free.

In the interests of getting others involved in this, I'm attaching a rich text format document that shows the entire 5bit stream that xnbomb has provided (You rock!). I've applied the decryption for five "Baudot" code tables I have found on the internet:
Murray
Teletype(TTY)
TDD
U.S.
CCITT-2

Letters don't vary from one to the next so they are only included once.

You can walk through the data from top to bottom and see how the decoding is done. The yellow highlighted rows are the control "shifts" xnbomb referenced that occur every 72 bytes.

Windows folks can use wordpad to open the file.
If anyone finds other 5bit code tables, let me know where.

EDIT: Doc was too big, so I'm zipping it.

EDIT: Found another code list called Illiac.
But it's giving really different results (Lots of spaces, though). Posting in case anyone else wants to play with it.
Contact1976_5_Tables.ZIP
Description 
zip

 Download 
Filename  Contact1976_5_Tables.ZIP 
Filesize  90.85KB 
Downloaded  177 Time(s) 
_________________
I'm telling you now, so you can't say, "Oh, I didn't know...Nobody told me!"


PostPosted: Fri Jan 13, 2006 3:22 pm
 View user's profile AIM Address Yahoo Messenger MSN Messenger
 Back to top 
xnbomb
Unfettered


Joined: 13 Oct 2003
Posts: 660
Location: J302B S8JDC

Now again, only better ...

New, improved (i.e. more accurate) versions of the binary files (5-bit and 8-bit ) are attached below.

This afternoon, I had an insight. In retrospect it should have been obvious, but sometimes things take a while to percolate. Given that I (thought I) knew how long a given tone segment was, I should be able to use a sound file editor to check on my results. That is, I could decide which byte I wanted to look at in the original data, calculate how many seconds from the beginning it is, and look at it. This provides an easy way to see how accurate my result was: Lookup a byte here and there throughout the file, and if they are right all is well.

The first thing I found when doing this is that doing calculations with the length of a single tone segment as 0.022 seconds is not accurate enough once you get a thousand bytes into the file. Using a length of 0.0221693 seconds is quite a bit more accurate. This makes a difference as to whether the cursor ends up right at the beginning of the 0 bit in any given 0XXXXX11 byte (when searching some multiple of 8 bits into the file), or somewhere random. This has an important implication for my work up until now. Using a tone segment length with too low a precision, I was overestimating the number of Baudot bits in the file. There are actually 16640 tone segments (this time I am positive, honestly!) in the file.

The first thing this means is that my guess that my missing 28 bytes were actually periodic shift characters because the math was so neat was based on a faulty supposition. With that in mind, I crawled through a few hundred bytes in the sound file one byte at a time ... no periodic shift characters at all, which given the new facts, makes sense. But, I am now 12 Baudot bytes short of the number that is actually in the file. Why?

I found the answer, again by crawling through the sound file itself and comparing it to my results. A very odd thing happens in the Baudot data whenever a sequence of three character occurs that has the following characteristics: If the first character is from the figure character set, the second character is a space, and the third character is again from the figure character set, then I find some superfluous letter and figure shifts in the data before and after the space. For example, the 476th byte in the sound file tone sequence is 00010111, represented in my text output by a # (to find this position in the original sound file, move the cursor to 84.571 seconds from the start of the file {476*0.0221694*8} secs + 0.15 secs of silence before the sounds starts). The next two characters in the text output are a space and an open bracket (i.e. "# (" is the sequence in the text output). You would expect to find the bits for a space and open bracket next in the sound file (0001001101111011), but you don't. Instead, there is an extra letter shift and figure shift before and after the space, like this altogether:
Code:
00010111 #
01111111 Let. Shift
00010011 Space
01101111 Fig. Shift
01111011 (

Note that both # and ( are in the figure character set, so there is no reason for the shifts, but they are there (Grumpyboy has posited an excellent explanation, namely that the device that made this sequence considers space to be part of the letter character set, when in reality it is in both character sets) . Through long examination, I found that this happens every time a figure character is found both before and after a space, which occurs a total of six times in the file. So, I modified my code to detect this situation and add the extra letter and figure shifts for each of those, which is a total of 12 more Baudot characters, or the 12 missing bytes:
Code:
Byte  Str     Time      Data

 476 "# ("  84.571 secs 0001011101111111000100110110111101111011
 572 ": /" 101.597 secs 0011101101111111000100110110111101011111
 785 "; ." 139.374 secs 0011111101111111000100110110111100011111
1524 "7 ." 270.439 secs 0111001101111111000100110110111100011111
1609 ") !" 285.515 secs 0010011101111111000100110110111101011011
1973 "( 3" 350.072 secs 0111101101111111000100110110111101000011

One other minor item of note is the presence of a CR late in the text, which could either be a single carriage return character, or the letter C followed by the letter R. Now armed with the ability to easily move to the right spot in the file and look, I can see it is actually a C followed by an R, and the new files below reflect that.

So, I now think I am done with reverse-engineering binary from the output of TTY Wav Reader. Because I have been able to look up any given byte from the resulting sequence in the soundfile and have yet to find a mismatch, I think I've finally got it down. There is always the possibility of some other oddity, but I don't think so. I apologize to everyone who has done any work using the previous version of my files that were posted yesterday, but its an iterative process.

Thanks again to Grumpyboy for keeping me honest ... his query about CR got me going on the path to actually understanding this thing. Once again, this is just a lot of binary now ... is there a message in it? Maybe, we can now start looking for it in earnest. One thought that occurred to me: There are 2080 Baudot bytes in the soundfile. Maybe we need to start looking for the 'message' at byte 1976?
contact1976binary5bitV2.txt
Description 
txt

 Download 
Filename  contact1976binary5bitV2.txt 
Filesize  10.16KB 
Downloaded  345 Time(s) 
contact1976binary8bitV2.txt
Description 
txt

 Download 
Filename  contact1976binary8bitV2.txt 
Filesize  16.25KB 
Downloaded  203 Time(s) 
_________________
My location is a little tricky, but sooner or later, you'll get the knack.

{J302B S8JDC, 8996N M8L4W, 92D40 Q1JX5, 4PPRN R2B97, 8DC7C NZJNV, 8CH7V Q891H}


PostPosted: Sat Jan 14, 2006 3:06 am
 View user's profile
 Back to top 
Display posts from previous:   Sort by:   
Page 1 of 2 [29 Posts]   Goto page: 1, 2 Next
View previous topicView next topic
 Forum index » Archive » Archive: Orbital Colony » Orbital Colony: General/Updates
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
You cannot post calendar events in this forum



Powered by phpBB © 2001, 2005 phpBB Group