Tag: raspberry pi

ep-4yy13 DSP – week 13

“I think its just the biggest conceptual art project uninentional or otherwise that anyone ever made. it puts Christo and those other guys to shame. Its planetary”

Roman Mars “Episode 97 – Numbers Stations” from 99% Invisible


  • Measuring the invisible
  • What is the difference between sound waves and radio waves?
  • What is an antenna?
  • Wave propagation is frequency dependent
  • Sunspots and magnetic fields http://spaceweather.com
  • Extreme frequencies, negative frequencies?


Internet radio streams and recordings

Frequencies and modes
  • Macbook trackpad: Noise 5 mHz. (try holding radio near screen too)
  • Macbook AC adapter: Noise 600-1400 kHz. (~1000)
  • AC adapters, LED’s, Utility poles: 3.2 Khz
  • Arduino transmitter: AM 1330 kHz.
  • Laser light at 650nM
  • Wireless micorophone (Orange-brown): Wide FM 614.150 MHz. (R band)
  • Cordless phone: Narrow FM 926 mHz.
  • Cell phone: Digitally encrypted trunking FM 836 mHz.
  • Wifi: Digitally encoded PCM 2.4 gHz.
  • FM broadcast band: Wide FM 89.7 mHz (Raspberry Pi example 98.1 Mhz)
  • TV audio 600 mhz/660 mhz FMW
  • The sun http://www.ips.gov.au/Solar/3/4

Topics not covered

(due to snow and stuff)



  • d3
  • processing
  • jitter
  • hardware control




Please send me a copies of your earlier compositions. Have a prototype ready to demonstrate or talk about for the next class.


Raspberry-Pi FX pedal

Running in Pure Data

(update) Tried this with guitarist John Drew today (2/26/2012). We ran the guitar directly into the iMic (switched to microphone, not line) and the output of iMic into an amplifier. The R-Pi was plugged into to wifi router with an Ethernet cable, so we could use touchOsc to control the delay parameters. It sounded great.

We talked about the possibility of making this into a ‘product’. One idea would be to ditch the Osc controls and build a simple hardware interface – some encoders, switches, and LED’s. You could map everything in PD and download new patches using an ethernet cable or a usb wifi connection – or even some kind of serial/usb link.

Yesterday I programmed a simple variable delay effect in pd to run on Raspberry-Pi. Control was using touchOSC as described in previous posts. I ran the effect in mono at 32k sampling rate – and it sounded great. Also its using the Griffin iMic for sound.

Here’s the command line to set the sample rate and number of channels:

pd-extended -r 32000 -nogui -channels 1 delay-effect-osc.pd


Local files:




Csound in Pure Data on Raspberry-Pi

Today I got Csound running inside Pure Data (using the [csoundapi~] object) on Raspberry-Pi.

These instructions assume you have already installed pd-extended on R-Pi. See this post to learn how. http://reactivemusic.net/?p=4930

Install Csound

# sudo apt-get install cloud

Install csoundapi~

# sudo apt-get install pd-csound

Copy csoundapi~ library into the pd-extended extras folder

# cd /usr/lib/pd/csound/extras
# sudo cp csoundapi~.pd_linux ../../pd-extended/extra

Here’s a test patch:

Here’s the Csound source file (should be in the same folder as the test patch)

;Example by Joachim Heintz

sr = 44100
nchnls = 2
0dbfs = 1
ksmps = 8

giSine    ftgen     0, 0, 2^10, 10, 1

instr 1
kFreq     invalue   "freq"
kAmp      invalue   "amp"
aSin      oscili    kAmp, kFreq, giSine
          outs      aSin, aSin

i 1 0 10000

Here are the source files:



Here’s the command line to run the test:

# pd-extended -nogui -noadc cstest2.pd

Here are general instructions on running csound in Pure Data from Victor Lazzarini:



csoundapi~ in Pd


A preliminary test before trying this in Raspberry-Pi, I used the general instructions for csound in pd from Victor Lazzarini found here:


to get csound running in pd-extended in Mac OS.

Looks pretty straightforward – biggest question will be compiling the external if it doesn’t install via package manager.

local test files are in tkzic/rpi/pd/csound

Here’s something from Victor Lazzarini which shows csound running on R-Pi


Here is installation instructions from Richard Dobson




Raspberry-Pi Osc synthesizer

A variation on the Midi synthesizer from this post: http://reactivemusic.net/?p=4960

The synthesizer was built in PureData (Pd extended) using the visual interface on a MacBook. Then the pd file was run in command line mode on the r-pi. The sound card is a Griffin i-Mic, running at 22.5 Khz sample rate. Although there’s no reason why you couldn’t use the builtin DAC on the r-pi.

The r-pi is connected via the ethernet port to a wi-fi network which receives Osc (Open Sound Control) messages from an iPod running touch-Osc. The network connection could have been made using a USB wifi adapter.

All together the cost of this arrangement (less the iPod) would be less than $50. The software is all open source.  The huge financial barriers to working with music synthesis and signal processing, that have been associated with these fields for years, simply don’t exist anymore.

Alternative ways of controlling the synth – if a wiFi router is not available, include:

  • USB keyboard (usually free)
  • USB Midi Keyboard ($25)
  • switches or dials via the GPIO pins (spare parts)
  • direct ethernet connection to another device.
Here is a screenshot of the Pd Patch.


Pd file: tkzic/rpi/pd/piSynth1_OSC.pd

recieve port is 8000 – and it uses page 1 of the simple touchOSC template

pd-extended -nogui -noadc  piSynth1_Osc.pd

Note: there is some special code to prevent seg faults when you go from page 2 to page 1 of the touchOSC template

Here’s a great tutorial on using OSC with Pure Data





GPS on Raspberry Pi

Successfully installed this GPS board on the R-Pi.

By Kevin Townsend at adafruit.com


The drivers for the console cable were already in the Raspian distribution on the R-Pi.

I installed the gpsd (daemon) software as directed in the above tutorial.

Documentation for gpsd is here:


Sample C code is: gpxlogger.c and cgps.c – which can be found in tkzic/rpi/gpsd 3.7/

(todo – write sample code and add to telemetry tracker)