The Max [js] object will introduce a delay of up to several milliseconds – even when there is little or no processing.
This project demonstrates 2 reversible methods of encrypting audio
The reciprocal method is interesting because the reciprocal of a reciprocal is the original value. In other words you can reverse the process by doing it twice.
Frequency shifting allows you to ‘hide’ audio in the ultrasound range.
https://github.com/tkzic/max-projects
folder: audio-encryption
patches: voice-encryption2b.maxpat
by Tosh Chiang
(photo from the SF Chronicle – by Liz Hafalia)
By Miller Puckette
http://msp.ucsd.edu/techniques/latest/book-html/book.html
(Miller with Julianna Snapper)
By Johannes Kreidler.
An amazing resource for Pd programming, with downloadable examples.
http://www.pd-tutorial.com/english/index.html
Abstract
Pd was initiated by American software engineer Miller Puckette, who previous co-developed the well known and similarly structured software Max/Msp. Pd is not commercial software; i.e., it was not developed by a corporation and is not for sale. Instead, it is “open source”: its source code is not the (patented) property of a corporation, but is rather freely available to all. One drawback to this is that a detailed operating manual for users who lack programming experience has not existed until now. In contrast to a corporation— which has a monetary interest in ensuring that first-time users can easily operate new software—the open source movement lacks such a driving force to make itself accessible. This book is an attempt to fill that gap.
This tutorial is designed for self-study, principally for composers. It begins with explanations of basic programming and acoustic principles then gradually builds up to the most advanced electronic music processing techniques. The book’s teaching approach is focused primarily on hearing, which we consider a faster and more enjoyable way to absorb new concepts than through abstract formulas.
The patches described are available for download.
An example of sending data through the air, from one computer to another, using sound. The carrier frequency – 18Khz – just below ultrasound, is inaudible to most humans. The data protocol is Audio Frequency Shift Keying (AFSK) at 45 bits/second. It uses two tones – to encode 1’s and 0’s. This protocol was developed for radio teletype (rtty).
One computer sends the word “hello” to the other computer every 10 seconds.
The idea came from a paper by Michael Hanspach and Michael Goetz – “On Covert Acoustical Mesh Networks in Air” – http://www.jocm.us/uploadfile/2013/1125/20131125103803901.pdf. In the paper they explain that the concept was borrowed from current technology for underwater data networks. They warn of the vulnerability of “air-gapping” as a method of computer security.
Actually, after watching the video I realized its difficult to make exciting videos that feature sounds you can’t hear. Especially when you are whispering. Well, the pro camera crew should be knocking on the door at any moment.
https://github.com/tkzic/max-projects
folder: frequency-shift-keying
patches:
To run patches:
In audio settings try
Interesting discovery – or maybe a coincidence. Bit rates which are powers of 2 seem to work way better than arbitrary speeds. I wonder if its because the signal vector size is also a power of 2?
Going from a direct audio connection to an through-the-air connection led to a number of issues with filtering and and levels. The latest version of the Max patches have been organized into modules, like: encoder, transmitter, decoder, phasor-clock, etc., But they would benefit from some encapsulation.
It was interesting that throughput was better above 14Khz. Possibly due to less interference from environmental sounds – and less critical filtering. During the video I was able to talk (whisper), without interfering with data transfer. But if I squeaked a chair or tapped the desk, it would screw-up. Also, the builtin mic/speaker on MacBooks have response curves that are all over the place.
The next version will have sharper filters and an automatic level control (compressor). There’s difficult interaction in the detection process between filtering and timing. Up to this point I’ve been reluctant to use frequency domain filtering due to loss of timing resolution. Latency is ok though. But the other thing is that we don’t want filters which soften or distort the shapes of the pulses.
So one question is how high can you go – with the built-in mic and speaker. They are not rated above 20 Khz. but you never know?
This is a radio – but also a modem, in a literal sense of the word. You may be familiar with AM and FM. Have your tried using them backwards?
In this patch, an audio signal is modulated using SSB, AM, and FM then frequency shifted to about 1/4 the nyquist frequency. Then the process is reversed revealing the original audio.
Have improved and simplified FM and AM detection. There is no frequency shift prior to detection. This eliminates some phase distortion.
Pd Version. (runs at 44.1 kHz, because I was too lazy to figure out how to do audio file playback which detects the SR of the audio file.
FM detection: The DC offset and makeup gain levels are sensitive to carrier frequency and SR. Will need to automate these corrections to prevent audio output problems.
max-projects: https://github.com/tkzic/max-projects
folder: demodulation/max
folder: demodulation/pd
This patch mixes two audio signals, then makes one disappear by reversing its phase. A similar method was used by U.S. military to encrypt radio transmissions during the 20th century. A phonograph record was the ‘key’ to unlock the encoded transmission. In practice it was difficult to synchronize the two recordings to achieve phase cancellation.
https://github.com/tkzic/max-projects
folder: phase-cancellation
patches:
From Pierre Alex Tremblay – 2 videos demonstrating how to create an IR using HISS tools
http://vimeo.com/tremblap/videos
Link to the paper which is not a photograph of the pages from the journal
[update 1/2014]
Here’s the Max Patch from the video – from this C74 forum thread: http://cycling74.com/forums/topic/a-quick-tutorial-video-on-how-to-create-an-impulse-response/
the local file is: tkzic/max teaching examples/impulse-response-rodrigo-vid.maxpat
Ok, I must be living under a rock. Did not realize this stuff was in Live 9.
This tutorial explains how to use Live convolution reverb effect, as well as the IR measurement tool. The measurement tool lets you record impulse responses using a sine spectrum sweep. Essentially these are the Alex Harker Max tools made into M4L devices.
http://www.macprovideo.com/hub/ableton-live/create-your-own-impulse-responses-in-ableton-live-9