This commit is contained in:
nicksmadscience 2020-11-27 11:39:09 -05:00
parent 8637f81918
commit 135e94d7a0
31 changed files with 301 additions and 46 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -90,11 +90,50 @@ class easSAMEHeader:
# TODO: i could probably replace this with the bits() function
return byte_data
def generateSAMEAudio(code):
# SAME HEADER (3x)
for i in range(0, 3):
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, np.zeros(43750)) # wait the requisite one second
# TODO: attention tone?
# TODO: audio message?
# EOM (3x)
for i in range(0, 3):
signal = np.append(signal, preamble())
for char in "NNNN": # NNNN = End Of Message
signal = np.append(signal, byte(char))
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)
# TODO: oh shit, I guess I need to think about multi-platform compatibility
def playLatestSAMEFIleOnMacOS():
subprocess.call("afplay same.wav", shell=True)
@ -115,47 +154,6 @@ code = "ZCZC-PEP-EAT-000000+0400-" + sameCompatibleTimestamp + "-SCIENCE -" # n
# code = "SUCK MY F**KING B***S YOU F**KING C*********RS" # does not seem to work :'(
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)
def generateSAMEAudioBasedOnCode(sameCode):
@ -167,6 +165,8 @@ def requestHandler_samecode(_get):
print urllib2.unquote(_get[2])
# TODO: implement same code
# for client in clients:
# client.write_message(json.dumps({"messagetype": "marquee", "message": urllib2.unquote(_get[2])}))

255
same.aup Normal file
View File

@ -0,0 +1,255 @@
<?xml version="1.0" standalone="no" ?>
<!DOCTYPE project PUBLIC "-//audacityproject-1.3.0//DTD//EN" "http://audacity.sourceforge.net/xml/audacityproject-1.3.0.dtd" >
<project xmlns="http://audacity.sourceforge.net/xml/" projname="same_data" version="1.3.0" audacityversion="2.1.3" sel0="0.0000000000" sel1="4.8227308132" vpos="0" h="0.0000000000" zoom="22.8881835938" rate="43750.0" snapto="off" selectionformat="hh:mm:ss + milliseconds" frequencyformat="Hz" bandwidthformat="octaves">
<tags/>
<wavetrack name="same" channel="2" linked="0" mute="0" solo="0" height="150" minimized="0" isSelected="1" rate="43750" gain="1.0" pan="0.0">
<waveclip offset="22.09761067">
<sequence maxsamples="262144" sampleformat="262159" numsamples="0"/>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="28.38592651">
<sequence maxsamples="262144" sampleformat="262159" numsamples="140444">
<waveblock start="0">
<simpleblockfile filename="e0000f50.au" len="140444" min="-0.999969" max="0.999969" rms="0.335452"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="0.00000000">
<sequence maxsamples="262144" sampleformat="262159" numsamples="207612">
<waveblock start="0">
<simpleblockfile filename="e0000a44.au" len="207612" min="-0.999969" max="0.999969" rms="0.484135"/>
</waveblock>
</sequence>
<envelope numpoints="1">
<controlpoint t="4.745394285714" val="1.000000000000"/>
</envelope>
</waveclip>
<waveclip offset="4.74541714">
<sequence maxsamples="262144" sampleformat="262159" numsamples="422">
<waveblock start="0">
<simpleblockfile filename="e000071a.au" len="422" min="0.0" max="0.0" rms="0.0"/>
</waveblock>
</sequence>
<envelope numpoints="2">
<controlpoint t="0.000000000000" val="1.000000000000"/>
<controlpoint t="0.009622857143" val="1.000000000000"/>
</envelope>
</waveclip>
<waveclip offset="4.75506286">
<sequence maxsamples="262144" sampleformat="262159" numsamples="846">
<waveblock start="0">
<simpleblockfile filename="e000047a.au" len="846" min="0.0" max="0.0" rms="0.0"/>
</waveblock>
</sequence>
<envelope numpoints="2">
<controlpoint t="0.000000000000" val="1.000000000000"/>
<controlpoint t="0.019314285714" val="1.000000000000"/>
</envelope>
</waveclip>
<waveclip offset="4.77440000">
<sequence maxsamples="262144" sampleformat="262159" numsamples="2114">
<waveblock start="0">
<simpleblockfile filename="e0000436.au" len="2114" min="0.0" max="0.0" rms="0.0"/>
</waveblock>
</sequence>
<envelope numpoints="2">
<controlpoint t="0.000000000000" val="1.000000000000"/>
<controlpoint t="0.048297142857" val="1.000000000000"/>
</envelope>
</waveclip>
<waveclip offset="4.82272000">
<sequence maxsamples="262144" sampleformat="262159" numsamples="1">
<waveblock start="0">
<simpleblockfile filename="e0000731.au" len="1" min="0.0" max="0.0" rms="0.0"/>
</waveblock>
</sequence>
<envelope numpoints="1">
<controlpoint t="0.000000000000" val="1.000000000000"/>
</envelope>
</waveclip>
</wavetrack>
<wavetrack name="Audio Track" channel="2" linked="0" mute="1" solo="0" height="150" minimized="0" isSelected="0" rate="43750" gain="1.0" pan="0.0"/>
<wavetrack name="Audio Track" channel="0" linked="1" mute="0" solo="0" height="150" minimized="0" isSelected="0" rate="43750" gain="1.0" pan="0.0">
<waveclip offset="16.31237317">
<sequence maxsamples="262144" sampleformat="262159" numsamples="580397">
<waveblock start="0">
<simpleblockfile filename="e0000da6.au" len="159470" min="-0.785644" max="0.749013" rms="0.118007"/>
</waveblock>
<waveblock start="159470">
<simpleblockfile filename="e00006c9.au" len="262144" min="-0.959982" max="0.95018" rms="0.142635"/>
</waveblock>
<waveblock start="421614">
<simpleblockfile filename="e0000198.au" len="158783" min="-0.895251" max="0.809989" rms="0.170435"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
</wavetrack>
<wavetrack name="Audio Track" channel="1" linked="0" mute="0" solo="0" height="150" minimized="0" isSelected="0" rate="43750" gain="1.0" pan="0.0">
<waveclip offset="16.31237317">
<sequence maxsamples="262144" sampleformat="262159" numsamples="580397">
<waveblock start="0">
<simpleblockfile filename="e00007a4.au" len="159470" min="-0.866183" max="0.840947" rms="0.117003"/>
</waveblock>
<waveblock start="159470">
<simpleblockfile filename="e0000b9b.au" len="262144" min="-0.889742" max="0.924911" rms="0.161067"/>
</waveblock>
<waveblock start="421614">
<simpleblockfile filename="e00000a9.au" len="158783" min="-0.85556" max="0.921429" rms="0.189104"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
</wavetrack>
<wavetrack name="Audio Track" channel="2" linked="0" mute="0" solo="0" height="150" minimized="0" isSelected="0" rate="43750" gain="0.089125" pan="0.0">
<waveclip offset="11.11669333">
<sequence maxsamples="262144" sampleformat="262159" numsamples="43750">
<waveblock start="0">
<simpleblockfile filename="e000094a.au" len="43750" min="-0.5" max="0.5" rms="0.353553"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="12.34231357">
<sequence maxsamples="262144" sampleformat="262159" numsamples="9646">
<waveblock start="0">
<simpleblockfile filename="e0000f8c.au" len="9646" min="-0.5" max="0.5" rms="0.353493"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="12.86757938">
<sequence maxsamples="262144" sampleformat="262159" numsamples="9646">
<waveblock start="0">
<simpleblockfile filename="e0000f8c.au" len="9646" min="-0.5" max="0.5" rms="0.353493"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="13.19181754">
<sequence maxsamples="262144" sampleformat="262159" numsamples="9646">
<waveblock start="0">
<simpleblockfile filename="e0000f8c.au" len="9646" min="-0.5" max="0.5" rms="0.353493"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="13.67169001">
<sequence maxsamples="262144" sampleformat="262159" numsamples="9646">
<waveblock start="0">
<simpleblockfile filename="e0000f8c.au" len="9646" min="-0.5" max="0.5" rms="0.353493"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="5.59240533">
<sequence maxsamples="262144" sampleformat="262159" numsamples="218750">
<waveblock start="0">
<simpleblockfile filename="e0000275.au" len="218750" min="-1.0" max="1.0" rms="0.707107"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
</wavetrack>
<wavetrack name="Audio Track" channel="2" linked="0" mute="0" solo="0" height="150" minimized="0" isSelected="0" rate="43750" gain="0.089125" pan="0.0">
<waveclip offset="11.42252800">
<sequence maxsamples="262144" sampleformat="262159" numsamples="43750">
<waveblock start="0">
<simpleblockfile filename="e0000012.au" len="43750" min="-0.5" max="0.5" rms="0.353553"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="12.64814823">
<sequence maxsamples="262144" sampleformat="262159" numsamples="9362">
<waveblock start="0">
<simpleblockfile filename="e0000c5f.au" len="9362" min="-0.5" max="0.5" rms="0.353603"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="13.12802070">
<sequence maxsamples="262144" sampleformat="262159" numsamples="9362">
<waveblock start="0">
<simpleblockfile filename="e0000c5f.au" len="9362" min="-0.5" max="0.5" rms="0.353603"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="13.64031578">
<sequence maxsamples="262144" sampleformat="262159" numsamples="9362">
<waveblock start="0">
<simpleblockfile filename="e0000c5f.au" len="9362" min="-0.5" max="0.5" rms="0.353603"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="14.42497333">
<sequence maxsamples="262144" sampleformat="262159" numsamples="9362">
<waveblock start="0">
<simpleblockfile filename="e0000c5f.au" len="9362" min="-0.5" max="0.5" rms="0.353603"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="5.81085867">
<sequence maxsamples="262144" sampleformat="262159" numsamples="218750">
<waveblock start="0">
<simpleblockfile filename="e000048c.au" len="218750" min="-1.0" max="1.0" rms="0.707107"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
</wavetrack>
<wavetrack name="Audio Track" channel="2" linked="0" mute="1" solo="0" height="150" minimized="0" isSelected="0" rate="43750" gain="0.063096" pan="0.0">
<waveclip offset="9.15319467">
<sequence maxsamples="262144" sampleformat="262159" numsamples="87500">
<waveblock start="0">
<simpleblockfile filename="e00003ad.au" len="87500" min="-0.99996" max="0.99996" rms="0.707107"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="11.53958750">
<sequence maxsamples="262144" sampleformat="262159" numsamples="87500">
<waveblock start="0">
<simpleblockfile filename="e000072d.au" len="87500" min="-0.999998" max="0.999998" rms="0.707107"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="13.97785844">
<sequence maxsamples="262144" sampleformat="262159" numsamples="87500">
<waveblock start="0">
<simpleblockfile filename="e0000741.au" len="87500" min="-0.999921" max="0.999921" rms="0.707107"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="16.31237317">
<sequence maxsamples="262144" sampleformat="262159" numsamples="87500">
<waveblock start="0">
<simpleblockfile filename="e00005b1.au" len="87500" min="-0.999998" max="0.999998" rms="0.707107"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="18.59500979">
<sequence maxsamples="262144" sampleformat="262159" numsamples="87500">
<waveblock start="0">
<simpleblockfile filename="e00001e5.au" len="87500" min="-0.999998" max="0.999998" rms="0.707107"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
<waveclip offset="20.92952452">
<sequence maxsamples="262144" sampleformat="262159" numsamples="87500">
<waveblock start="0">
<simpleblockfile filename="e000046e.au" len="87500" min="-0.99996" max="0.99996" rms="0.707107"/>
</waveblock>
</sequence>
<envelope numpoints="0"/>
</waveclip>
</wavetrack>
</project>

View File

@ -132,7 +132,7 @@ sameCompatibleTimestamp = datetime.datetime.now().strftime("%j%H%M")
#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-" + sameCompatibleTimestamp + "-SCIENCE -" # tornado warning, silver spring, md
code = "ZCZC-WXR-TOR-024031+0030-" + sameCompatibleTimestamp + "-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-" + sameCompatibleTimestamp + "-SCIENCE -" # evacuation immediate!!, silver spring, md
# code = "ZCZC-WXR-FFW-024031+0030-2150021-SCIENCE -"
@ -145,7 +145,7 @@ sameCompatibleTimestamp = datetime.datetime.now().strftime("%j%H%M")
# code = "ZCZC-ROFL-WTF-012345+0000-YO WADDUP MOTHAFUCKAZ="
code = args.code
# code = args.code

BIN
same.wav

Binary file not shown.

BIN
same_data/.DS_Store vendored Normal file

Binary file not shown.

BIN
same_data/e00/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.