A Pen by Diogo Gomes on CodePen.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;nyquist plug-in | |
;version 1 | |
;type process | |
;name "Subliminal..." | |
;action "Subliminal..." | |
;control carrier "Carrier" real "Hz" 17500 14000 20000 | |
(setf carrier (max 14000 (min carrier 20000))) | |
;; We have two Nyquist frequencies, carrier/2 and *sound-srate*/2. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Use wave package (native to Python) for reading the received audio file | |
import wave | |
song = wave.open("song_embedded.wav", mode='rb') | |
# Convert audio to byte array | |
frame_bytes = bytearray(list(song.readframes(song.getnframes()))) | |
# Extract the LSB of each byte | |
extracted = [frame_bytes[i] & 1 for i in range(len(frame_bytes))] | |
# Convert byte array back to string | |
string = "".join(chr(int("".join(map(str,extracted[i:i+8])),2)) for i in range(0,len(extracted),8)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# We will use wave package available in native Python installation to read and write .wav audio file | |
import wave | |
# read wave audio file | |
song = wave.open("song.wav", mode='rb') | |
# Read frames and convert to byte array | |
frame_bytes = bytearray(list(song.readframes(song.getnframes()))) | |
# The "secret" text message | |
string='Peter Parker is the Spiderman!' | |
# Append dummy data to fill out rest of the bytes. Receiver shall detect and remove these characters. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// loop through the 'paper' variable from Raphael JS and build up the JSON object describing all images and paths within it. | |
buildJSON = function(paper) { | |
var svgdata = []; | |
svgdata.push({ | |
width: 390, | |
height: 400 | |
}); | |
$.each(paper, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FORMATS | |
EntryLo0 & EntryLo1: | |
00 pppppppppppppppppppppppp ccc d v g | |
(32-bit: 2.24.3.1.1.1) | |
p = Page frame number; the upper bits of the physical address. | |
c = Specifies the TLB page coherency attribute. (See below) | |
d = Dirty. If this bit is set, the page is marked as dirty and, therefore, writable | |
This bit is actually a write-protect bit that software can use to prevent alteration |
Running games through Steam's Proton is great. But what if there is a secondary exe or configuration application bundled with the game? How can you launch it if Steam itself only launches the game?
Simply run this command in a terminal:
cd /path/to/steam/steamapps/compatdata/20920/pfx
STEAM_COMPAT_DATA_PATH="/path/to/steam/steamapps/compatdata/20920" WINEPREFIX=$PWD \
"$HOME/.steam/root/steamapps/common/Proton 5.0/proton" run ./drive_c/path/to/custom_application.exe
For the data augmentation script, you will also need to install the soundstretch library. Documentation
sudo apt install soundstretch
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.