From ab7f0ce48f80295fe4d05af3cf6489f44d9ac422 Mon Sep 17 00:00:00 2001 From: nicksmadscience <53494963+nicksmadscience@users.noreply.github.com> Date: Sat, 1 Aug 2020 20:57:09 -0400 Subject: [PATCH] check test one two --- .DS_Store | Bin 0 -> 6148 bytes import numpy as np.py | 127 +++++++++++++++++++++++++++++++++ rofl.wav | Bin 0 -> 441044 bytes same.py | 159 ++++++++++++++++++++++++++++++++++++++++++ same.wav | Bin 0 -> 879540 bytes test.wav | Bin 0 -> 441044 bytes 6 files changed, 286 insertions(+) create mode 100644 .DS_Store create mode 100644 import numpy as np.py create mode 100644 rofl.wav create mode 100644 same.py create mode 100644 same.wav create mode 100644 test.wav diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0> i & 1: + sys.stdout.write("1") + byte_data = np.append(byte_data, markBit()) + else: + sys.stdout.write("0") + byte_data = np.append(byte_data, spaceBit()) + + sys.stdout.write("\n") + sys.stdout.flush() + + return byte_data + + +def extramarks(numberOfMarks): + """SAGE encoders seem to add a few mark bits at the beginning and end""" + byte_data = np.zeros(0) + + for i in range(0, numberOfMarks): + byte_data = np.append(byte_data, markBit()) + + return byte_data + +def preamble(): + byte_data = np.zeros(0) + + for i in range(0, 16): + byte_data = np.append(byte_data, markBit()) + byte_data = np.append(byte_data, markBit()) + byte_data = np.append(byte_data, spaceBit()) + byte_data = np.append(byte_data, markBit()) + byte_data = np.append(byte_data, spaceBit()) + byte_data = np.append(byte_data, markBit()) + byte_data = np.append(byte_data, spaceBit()) + byte_data = np.append(byte_data, markBit()) + + + + return byte_data + + + + +# ZCZC-WXR-RWT-020103-020209-020091-020121-029047-029165-029095-029037+0030-1051700-KEAX/NWS + +# code = "ZCZC-EAS-RMT-011000+0100-2141800-SCIENCE-" +code = "ZCZC-WXR-HUW-024031+0030-2142201-SCIENCE -" +# code = "ZCZC-PEP-EAT-000000+0400-2142300-SCIENCE -" +# code = "SUCK MY FUCKING BALLS YOU FUCKING COCKSUCKERS" + +# control string +# code = "ZCZC-EAS-RMT-011000+0100-2142200-KMMS FM -" + +for i in range(0, 3): + signal = np.append(signal, extramarks(10)) + signal = np.append(signal, preamble()) + + + for char in code: + signal = np.append(signal, byte(char)) + + signal = np.append(signal, extramarks(6)) + + signal = np.append(signal, np.zeros(43750)) + + +for i in range(0, 3): + signal = np.append(signal, extramarks(10)) + signal = np.append(signal, preamble()) + + for char in "NNNN": + signal = np.append(signal, byte(char)) + + signal = np.append(signal, extramarks(6)) + + signal = np.append(signal, np.zeros(43750)) + + + +signal *= -32767 + +signal = np.int16(signal) + +wavfile.write(str("same.wav"), fs, signal) + + diff --git a/rofl.wav b/rofl.wav new file mode 100644 index 0000000000000000000000000000000000000000..aa449eea65e8344d8322e1c67647bc278a9008bf GIT binary patch literal 441044 zcmeI*{eRB&9tZHN4WXiAx;e|;$w5hyO0`q8ux7P#I?0SJa+@@5mf7w1x@MbAYod~y zCJ`1ok(#x1qdGgaBZPFKIu$wHjFWC8Os7BO`M7?)e*HeapYP}We7|0I4ogVbR^KW# zGXCzNlOD+Kc5WyXI^*}>koBQZdCD1~sL;8g3FETI)%^aSP^eFblik~0(|+i4f15wH z^!}vmm-1E=oethEI+nLCJ9=90aii|qJ@mje`~Dmg^G)d0BZod|_*d<#t)Fkb{N&>o zR?aJpM54o8B8?@-=0+YHwCwoWsjnoxm$0u@Q{U6+=f+(;;i{6s33sO5Q#!R|MxVUY zqF;khkexr}p%c?a-dj5&<(7(T7x(>;B>;1v6W&Hi7XHGxyMP+Q+w#eDx zgW)?$ZkSuSpksCQbB8vs`e((zFC*%Q_cd6y6ZtH@m!| zdj656x719kZPBoOZ^qZIAi66 z@hK@u+v3{y&be@0tKL8L`|^XGlip0&_}a>ji%P48%*ih97oHuSHhX{hrbo9g`FZuX zFHL;sybqr}RD1kz+rypi?z>}P)a}bhkDuHwGh`o0#;V&=Qj;h3d+`07Qw1x7O+nwnF0+D03A z`@g*LRotE@-|qX;?W+eZiGQ@L{My;m!vn)Bix4`L3){G4>= zm_L5kd+A@!zxAw9{U;_*?~(I(L1C~ns4UzvD?hVo^58M`w=WrV#T7d{?>+13Un~B5 z^uw$FQS);3nzW_8=3iN{V)o*2k8on~FJ-Y+l}~nBS+(J*H;(T}{^I5zXSG~#LH|on zUB6`5Dzj2S?P=(_ z`Djh}sg4W2sOVVoUbsW}$H={9iH}4Ue)`PCFSLDq*!GJ5WF1`<-Edw`uhG}VCXTE7%I-g#(aey8B4;Oe47xm{;OO?@+c!CzmyxvKxDKh11Eq`BL7lRwURx27&>?Q_+w z9$PfGvLqBaGrT&or?j9l|B02$>z^;!^3=A5PgneJ*BK{b>U-1-H{der&|UZA)*A zM1|8Mx0TjDod5Xrr$??oTK_|1%TM+k_QZMOJaL{l?>O%`?>MJQr%IyW|_<~nWdmh zL6?Fq1zqoe-T}P>nm#mrX!_9fp<73{j&2=oR@$tzS?Q0{AE!S~f1Jifjg1-`b)@P@ z)sdyjRdSVFC0EH+a+O>qSIJd!m0TrP$yIWd zTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJclS`zqSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP z$yIWdTqRe@RdSVFC0EH+a+O>qSIJf8yjxS3w3e&nD!EFolB?t@xk|2*tK=%VO0JTt zqSIJd!m0TrP$yIWdTqRe@ zRdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRd|-wh3y#m91$TqRe@RdSVFC0EH+a+O>q zSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+ za+O@=i76#%mk#GDxk|2*tK=%VO0JTtqSIJd! zm0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRc-_wDFYRqeP+u9BASf~u9BqSIJd!m0TrP$yIWd zTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJeDRt=ex zUCdQ-m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+ za+O>qSIJd!m0TrP$yIWdTqRe@RdSUzFITTgTgp{(m0TrP$yIWdTqRe@RdSVFC0EH+ za+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVw zn|ki=+{jgOm0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVF zC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSUhE?IwmRST|?tK=%VO0JTt`U4m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@ zRdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVwa=Xrmn#xsjm0TrP$yIWdTqRe@ zRdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWd zTqRe@RdSW7MZX52fUD#xxk|2*tK=%VO0JTtu@+xk|2*tK=%V zO0JTteJz5cdnAFqSIJd!m0TrP z$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0AL!Xza76H*%F+ zC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@ zRdSVFC0EH+a+O>qSIJd!m0acO$ez-IO0JTtqSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd! zm0TrP$yIWdTqRe@RdSVFC0EH+a+T4mdMzG1kE`S=xk|2*tK=%VO0JTtqSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP z$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yMfOHccKphO6W%xk|2*tK=%VO0JTt zq zSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+a+O>qSIJd!m0TrP$yIWdTqRe@RdSVFC0EH+ za+O>qSIJd!l~uQ;q$W?|D!EFolB?t@xk|2*tK=%VO0JTt> i & 1: + sys.stdout.write("1") + byte_data = np.append(byte_data, markBit()) + else: + sys.stdout.write("0") + byte_data = np.append(byte_data, spaceBit()) + + sys.stdout.write("\n") + sys.stdout.flush() + + return byte_data + + +def extramarks(numberOfMarks): + """SAGE encoders seem to add a few mark bits at the beginning and end""" + byte_data = np.zeros(0) + + for i in range(0, numberOfMarks): + byte_data = np.append(byte_data, markBit()) + + return byte_data + +def preamble(): + byte_data = np.zeros(0) + + for i in range(0, 16): + byte_data = np.append(byte_data, markBit()) + byte_data = np.append(byte_data, markBit()) + byte_data = np.append(byte_data, spaceBit()) + byte_data = np.append(byte_data, markBit()) + byte_data = np.append(byte_data, spaceBit()) + byte_data = np.append(byte_data, markBit()) + byte_data = np.append(byte_data, spaceBit()) + byte_data = np.append(byte_data, markBit()) + + + + return byte_data + + + + +# ZCZC-WXR-RWT-020103-020209-020091-020121-029047-029165-029095-029037+0030-1051700-KEAX/NWS + +# code = "ZCZC-EAS-RMT-011000+0100-2141800-SCIENCE-" +# code = "ZCZC-WXR-TOR-000000+0030-2142200-SCIENCE -" +# code = "ZCZC-PEP-EAN-000000+0400-2142350-SCIENCE -" +# code = "SUCK MY FUCKING BALLS YOU FUCKING COCKSUCKERS" + +# control string +# code = "ZCZC-EAS-RMT-011000+0100-2142200-KMMS FM -" + +# useful FIPS codes +# 000000 - the whole fucking united states +# 024031 - silver spring, md / montgomery county +# 011001 - district of columbia + +# EAS alerts are heavily dependent on timestamps so this makes it easy/fun to send a thing now +sameCompatibleTimestamp = datetime.datetime.now().strftime("%j%H%M") + +# known good +# OH SHIT it's all time-dependent +# which i can now do since the time works on the box +code = "ZCZC-PEP-EAN-000000+0400-" + sameCompatibleTimestamp + "-SCIENCE -" # nuclear armageddon (or some other form of "we are all likely to die") +code = "ZCZC-PEP-EAT-000000+0400-" + sameCompatibleTimestamp + "-SCIENCE -" # nuclear armageddon (or some other form of "we are all likely to die") +# code = "ZCZC-PEP-EAT-000000+0400-2142350-SCIENCE -" # lol jk no nuclear armageddon +# code = "ZCZC-WXR-TOR-024031+0030-2150015-SCIENCE -" # tornado warning, silver spring, md +# code = "ZCZC-WXR-SVR-024031+0030-2142200-SCIENCE -" # severe thunderstorm warning, silver spring, md +# code = "ZCZC-WXR-EVI-024031+0030-2150010-SCIENCE -" # evacuation immediate!!, silver spring, md +# code = "ZCZC-WXR-FFW-024031+0030-2150021-SCIENCE -" + +# testing +# code = "ZCZC-CIV-LAE-024031+0030-2150022-SCIENCE -" +# code = "ZCZC-CIV-CDW-024031+0400-" + sameCompatibleTimestamp + "-SCIENCE -" + + + + +for i in range(0, 3): + # signal = np.append(signal, extramarks(10)) + signal = np.append(signal, preamble()) + + # turn each character into a sequence of sine waves + for char in code: + signal = np.append(signal, byte(char)) + + # signal = np.append(signal, extramarks(6)) # ENDEC might not be as picky about this as I once thought + + signal = np.append(signal, np.zeros(43750)) # wait the requisite one second + + +# EOM (3x) +for i in range(0, 3): + # signal = np.append(signal, extramarks(10)) + signal = np.append(signal, preamble()) + + for char in "NNNN": # NNNN = End Of Message + signal = np.append(signal, byte(char)) + + # signal = np.append(signal, extramarks(6)) + + signal = np.append(signal, np.zeros(43750)) # wait the requisite one second + + + +signal *= -32767 + +signal = np.int16(signal) + +wavfile.write(str("same.wav"), fs, signal) + + +subprocess.call("afplay same.wav", shell=True) + + diff --git a/same.wav b/same.wav new file mode 100644 index 0000000000000000000000000000000000000000..cb9f57aaa3ca8f06ef90e3bc3d347975624bc3d3 GIT binary patch literal 879540 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 literal 0 HcmV?d00001 diff --git a/test.wav b/test.wav new file mode 100644 index 0000000000000000000000000000000000000000..29f1a9157f77ad2e067a14d6a40c32c74aab884a GIT binary patch literal 441044 zcmeIup$&ro07TIPfo6oRLPANf6@VonxH^Vl6a*76Lx+MPD&Kv3>V5jI`(0JWW_YjP z?Nui!p4v0nry^zQEb}%W&&LQ5AV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N W0t5&UAV7cs0RjXF5FkL{zXCVlwF*T5 literal 0 HcmV?d00001