I recently finished a recording session with composer Mark Trayle. We recorded his piece Nearfield Edges in the Wild Beast concert hall at CalArts. Mark’s piece uses a piezo-based feedback mechanism to activate the space with very high frequencies (in the 13K range) that bounce around the room and create mind altering sonic experiences. I used the mid-side stereo technique with a Schoeps CM5 as the mid and an AKG 414 as the side for the main pair. I used an array of Neumann km-184s in the back of the hall to capture room resonances. Look for a release of the piece in the late spring or early summer of 2014.
I will be teaching a two day Raspberry Pi workshop at Machine Project on Wednesday, March March 12th and Monday, March 17th 2014. The workshop will focus on using the Raspberry Pi camera module with an emphasis on capturing time lapse videos.
The first class session will focus on getting the Raspberry Pi set up, learning the commands for the HD camera board and preparing a time lapse video capture script using the Python programming language. For homework, each student will shoot a time lapse video of their choice.
In the second class meeting we will cover how to convert the time lapse images into a video file for presentation. Each student will then show their time lapse video to the class. As time permits we will also cover modifications for the time lapse script, capturing video files to disk and using the pi camera board’s image effects remotely as a realtime “Video Synth.” We’ll also demonstrate a pan and tilt servo controller for the camera board.
You can register for the class using this link
When you boot your Raspberry Pi for the first time make sure it is connected to a display. The software configuration window should open. You can run the raspi-config program from the terminal at any time by typing:
In the raspi-config menu navigate to the following options and make changes.
1) Expand the filesystem – will resize the amount of storage space available
5) Enable camera – yep. gotta turn it on
7) Overclocking — set to High or Turbo
8) Advanced options –
- A1 Overscan
- A2 Hostname
- A3 Memory split for gpu – set to 256
Click finish and reboot the Pi.
SSH and Remote Login
• After the Pi reboots at the prompt type:
ip addr and make note of the address. It the other one, not 127.0.0.1
• On your laptop open the Terminal program from the Utilities folder. At the prompt type:
ssh -l pi
the command looked like this on my laptop:
ssh -l pi 10.0.1.20
• press return, answer ‘yes’ to the authentication question, and enter the password
Change the Keyboard Layout
type sudo nano /etc/default/keyboard
change XKBLAYOUT=”GB” to XKBLAYOUT=”US”
save the file
Change the Time Zone
type sudo dpkg-reconfigure tzdata
choose US, pacific ocean
Setup a Python Script to Email IP Address
Download the following python script to your laptop:
• Once downloaded, change the name to “startup_mailer.py”
• Open the file in a text editor on your laptop and add information to the following variables:
• Save the file to your desktop
Copy the file to your Pi using a new ‘local’ terminal window on your laptop
• In the Terminal program on your laptop type command-t to open another session window
• In the new terminal window type
scp /users/desktop/startup_mailer.py pi@:/home/pi/scripts
the command looked like this on my laptop:
scp /users/dwingus/desktop/startup_mailer.py firstname.lastname@example.org:/home/pi/
• Back on the terminal window for your Pi type the following commands to make the python script executable
cd (change directory to /home/pi)
sudo chmod +x startup_mailer.py (make the python script executable)
sudo mkdir scripts (make a new directory called scripts)
sudo mv startup_mailer.py scripts (move the startup_mailer.py file to the scripts directory)
Edit a file that’s read on Pi startup to call the startup_mailer.py script
sudo nano /etc/rc.local (open the file rc.local in the text editor program called nano)
• Add the following right above “fi”:
• Save the file
Its a good idea at this point to make sure all of the Pi’s software is up to date. The system version we installed was created in January so some of the libraries and programs have been updated since then. Type the following commands to do a complete software update
sudo apt-get update (downloads any updated libraries)
sudo apt-get upgrade (installs downloaded libraries)
Your Pi is now configured! type the following to reboot
I’ve been experimenting with sound and video collisions using max/msp/jitter. The result of this particular collision is a one minute video loop using footage of a Dutch herring chef and a processed field recording of the market where the herring stand was located. The sonic and visual processing is driven by a crossed feedback network of parameter data from the digital audio and video files. The sound affects the video and the video affects the sound.
I’ve been working on a Raspberry Pi video synthesizer that is coded in Python running on two Raspberry Pi computers. Each Pi runs a Python script to access the camera module controls and video effects. Each Pi’s camera is pointed at the other Pi’s video monitor to create a feedback loop. OSC commands provide remote control and are sent to each Pi from a max patch running on a laptop. More documentation with sound is on the way. For now enjoy the footage
I built these Raspberry pi Speakers using mono amplifier boards from Sparkfun, 8 ohm speakers from All Electronics, a few components and some wood from my garage I have made four WIFI speaker boxes for Raspberry Pi based audio projects. Each speaker box has a Raspberry Pi in the back that runs a Pure Data audio patch. The Pure Data audio patch is controlled via OSC through a WIFI dongle on the Pi. The speaker is powered via the Pi’s 3.3 volt GPIO pin and ground.
More information and a demonstration video is on the way!
This past Spring I have been tinkering with the Raspberry Pi computers. They are pretty amazing considering that they only cost about $40. The two areas I have been researching have been running Pure Data networked between three Pis and setting up stand-alone HD video players for use in galleries and kiosks. Here’s a demo video of three Pis networked together, running Pure Data, and being controlled via a laptop with Pure Data and a Korg Nano controller.
This tutorial will turn your Raspberry Pi into a simple video player. The Raspberry Pi will automatically begin playing a folder of video files when it starts. The files in the folder will randomly repeat until the script is stopped or the Pi is turned off.
To see a demonstration video please visit this post:
These instructions assume you have a Raspberry Pi configured with the latest version of the Wheezy distribution and can log in to your Pi from a remote computer. I’m assuming your remote computer will be an Apple laptop.
Create a folder and copy video files to your Pi
- On the terminal connected to your Pi type mkdir videos to create a new folder named videos
- Type cd videos to move into that directory
- Open a new “local” terminal window. You’ll run the next command on the “local” terminal and not the terminal window connected to your Pi
- To copy a folder of video files from your laptop’s desktop to your Pi type :
scp /Users/[your username]/Desktop/[folder name>]/* pi@[your Pi's ip address]:/home/pi/videos
The command looked like this on my computer:
scp /Users/dwingus/Desktop/vids/* email@example.com:/home/pi/videos
- Type your Pi’s password, press return and wait for videos to transfer.
Shell Script to play videos in a folder
- Log in to your Pi and type : sudo nano playseries
- In the Nano text editor copy the following:
if [ x"$1" = x"help" -o x"$1" = x"--help" -o x"$1" = x"-help" ];then
echo “Usage: playseries [folder path]”
echo “Audio mode can be either ‘hdmi’ or ‘local’.”
echo “Folder path is the full path to folder full of video files.”
echo “This script will try to play all files in the video folder regardless of file type”
for file in $2/*
omxplayer -o $1 $file
- Type control-x, then press the letter y, and return to save the file
- Make the file executable by typing chmod +x playseries
- Move the file to the /usr/bin folder by typing mv playseries /usr/bin
Running the script
- The script follows the format:
[scriptname] [audio-output] [path_to_directory]
- To run the script using the HDMI audio out type:
playseries hdmi /home/pi/videos
- To run the script using the local audio out type:
playseries local /home/pi/videos
Blanking the Pi’s screen between video files
You’ll notice when you run the script that the program the script calls, OmxPlayer, pauses between video files and there is text that is displayed on the video monitor. To eliminate the text you need to basically tell the Pi to make the screen black.
- Type sudo nano /etc/kbd/config
- In the config file change “BLANK TIME” to a value of 2 and save the file
- Type sudo reboot to restart your Pi
Logging In and Starting the Script on Startup
To get your Raspberry Pi to automatically log in when started and to call the playseries script do the following:
- Type sudo nano /etc/inittab
- Scroll to the line: #1:2345:respawn:/sbin/getty 115299 tty1 and put a # in front of it
- Add a new line underneath: 1:2345:respawn:/bin/login -f pi tty1/dev/tty1 2>&1
- Save the file. This will make your Pi automatically log in when started.
- Type sudo nano ~/.bash_profile to edit your .bash_profile file.
- Type playseries local /home/pi/videos
- Save the file. Commands in the .bash_profile file will be executed on log in
- Type sudo reboot
Installing the system on your SD Card
1. Download the system software here:
http://www.raspberrypi.org/downloads – choose the latest Raspian “Wheezy” installer
Once the file downloads, extract the image by double clicking on the download file and put the image file on your desktop.
2. Insert your SD card into the card reader and see that it mounts on the desktop
3. Open the OS X Disk Utility application from your Utilities folder.
4. Select the SD card partition in the left-hand menu and click on the erase tab.
5. Make sure the format is MS-DOS(FAT) and click on erase to reformat the card.
6. Once the card formats choose ‘verify disk’ and look for the BSD name: must be something like diskn where n is a number (for example, disk4). Note this number.
7. Click Unmount from the menu above.
8. Open the Terminal application from your Utilities folder and run the following:
sudo dd if=path_of_your_image.img of=/dev/diskn bs=1m
Make sure to replace the ‘n’ of ‘diskn’ in the command with the number you noted from the BSD name in the previous step.
here’s what the command looked like on my computer
sudo dd if=/users/dwingus/desktop/2014-01-07-wheezy-raspbian.img of=/dev/disk3 bs=1m
This step copies the Linux system software onto the card. Once you hit return to start the ‘dd’ command your terminal will look like nothing is happening at all. This is a good thing. Go get some coffee and relax. An eight gigabyte SD card takes around fifteen minutes or so to format properly. Larger SD cards will take longer.
When the card is formatted you will see something like the following on your terminal:
2805+0 records in
2805+0 records out
2962227200 bytes transfered in 1002.34582 secs
Drag the icon for your SD card to the trash and remove it from your laptop.
Insert the SD card into the Raspberry Pi and plug it in. Have fun!