RTTY encoding and decoding in Max

notes

Today I was able to get an AFSK (audio frequency shift keying) system running in Max – sort of – It encodes text into ASCII bits and decodes the signal back into text – with a clock set at around 30ms (32 bits/second) – but there is no clock synchronization yet. Or stop bits, etc., The patch just uses the transmitter clock to sync the receiver (cheating)

Listen to an example of the word ‘hello’ at 32 bits/sec

local file is in max teaching examples/rtty-sim5.maxpat

Next step will be to get receiver sync happening – then make it conform to RTTY standard – probably a few days effort for this, but at least this is a proof of concept.

The synchronization may need to happen at the sample level (gen~) because it requires finding the beginning and end of bits – in order to set the clock pulses accurately.

 

Compliling rtl-sdr from source on Mac OS

notes

Just compiled rtl-sdr using  instructions below, from: http://sdr.osmocom.org/trac/wiki/rtl-sdr

!! but did not run: sudo make install – or sudo ldconfig !!

so the programs are just running locally in: tkzic/rtl-sdr/build/src

I didn’t want to overwrite the macports versions which are running in the exec path.

after compiling I was able to successfully test by running this from rtl-sdr/build/src:

./rtl_fm -f 94900000 -W -s 200000 -r 48000 - | play -r48000 -t s16 -L -c 1 -

which caused annoying pre-christmas music from WHOM to ruin this peaceful morning.

—————————————————————

Building the software

rtlsdr library & capture tool

You have to install development packages for libusb1.0 and can either use cmake or autotools to build the software.

Please note: prior pulling a new version from git and compiling it, please do a “make uninstall” first to properly remove the previous version.

Building with cmake:

cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

In order to be able to use the dongle as a non-root user, you may install the appropriate udev rules file by calling cmake with -DINSTALL_UDEV_RULES=ON argument in the above build steps.

cmake ../ -DINSTALL_UDEV_RULES=ON

Piping raw IQ data from rtl-sdr to Max

notes

Here is a discussion about mkfifo (pipes) but  I can’t seem to get Max to interpret the FIFO as audio samples

http://www.reddit.com/r/RTLSDR/comments/rd15f/some_noob_questions_after_succesfully_getting/

I think I know how to figure out the streaming IQ thing now. Capture samples to a file, then look at the format. Then maybe pipe the file through something like auconvert to make it into a wave file. If that works, then maybe there is a way to to it as streaming.

Or figure out how to stream from tcp/ip version to audio.

Ruby tweetstream gem

Access to the Twitter streaming API

notes

This gem looks to be a possible solution for connecting Max to Google Maps. I’m guessing that the code will look very similar to the ruby code which uses the twitter gem for status updates.

https://github.com/tweetstream/tweetstream

Here’s a blog entry:

http://thechangelog.com/tweetstream-easily-access-the-twitter-streaming-api/

Client documentation:

http://rdoc.info/github/intridea/tweetstream/TweetStream/Client

Here’s the Twitter documentation on whats getting returned:

https://dev.twitter.com/docs/platform-objects/tweets

 

Convolution for the masses

HISSTools Impulse Response Toolbox in Max

By Alex Harker

notes

See this post on the Pd site by Julian Brooks:

http://lists.puredata.info/pipermail/pd-list/2012-09/097929.html

After the successful realisation of the [ipoke~] port that we recently
undertook I would like to ask if anyone would be up for some more?

This time it would be porting the HISSTools Impulse Response Toolbox.

Some (cut & pasted) bumff:
"HISSTools first release is a set of tools for working with convolution and
impulse responses in MaxMSP. This set of objects addresses various tasks,
including measuring impulse responses, spectral display from realtime data/
buffers, and buffer-based convolution, deconvolution and inversion."

About HISS here:
<a href="http://www.thehiss.org/">http://www.thehiss.org/</a>

HISSTools 2012 ICMC paper and link to the Max d/l here:
<a href="http://eprints.hud.ac.uk/14897/">http://eprints.hud.ac.uk/14897/</a>

Some chat on the max-list:
<a href="http://cycling74.com/forums/topic.php?id=42403">http://cycling74.com/forums/topic.php?id=42403</a>

Port is 3-clause-BSD.

Last time was genuinely a fantastic example of collaborative working I
thought, and a great example of our FLOSS community in action (I'm sure
there's a paper in there for someone): good people with the appropriate
skills creating super-tight code without ego or conflict.  Ace.

Big props to Matt Barber, Alex Harker, Charles (Chuck) Henry, P.A. Tremblay
and especially Katja Vetter.

Really hope some of the above have the energy to get into this again but
this is an open call for anyone who has the time and interest in
contributing to make it happen.

All good wishes,

Julian

Leap Motion hand data

notes

When using the sphere vector, if you make a fist – the sphere Y value goes straight up (as radius decreases) also, x value decreases slightly and z value increases significantly

So its probably better to use palm position as a vector – if you want to detect sphere radius