By Olaf Matthes
There is no easy way. Here are suggestions.
At Create Digital Noise
- Same instructions easier to read… http://robertesler.com/libpd-with-processing/
Andy Farnell’s thunder algorithms from “Designing Sound”.
By Matt Meachem
A series of projects that use Internet API’s for interactive media projects.
Projects have been tested on Mac OS 10.9 (Mavericks). All but one of the projects use Max/MSP 6.1.7 from: http://cycling74.com. The other project uses Pure Data 0.42.5 (extended) from: http://puredata.info. Other required programs are listed in the documentation for individual projects.
internet-sensors is on Github at: https://github.com/tkzic/internet-sensors
Each project is in a separate folder.
Some projects require passwords and API-keys from providers.
For example, for the ‘Twitter streaming API in Max’ project you’ll need to set up a Twitter application from your account to get authorization credentials.
For projects that need authorization usually you’ll just need to modify the patches/source code with your user information – as directed in the instructions.
The API’s used in the projects change fairly often. So there’s no guarantee they’ll work. If you find problems or have ideas – please post to them to the github repository. Or email me at firstname.lastname@example.org.
1. Twitter streaming API in Max (FM, php, curl, geocoding, [aka.speech], Soundflower (optional), Morse code, OSC, data recorder, Twitter v1.1 API, Twitter Apps, Oauth)
New! – use the project above to send tweets from using a Fisher Price “Little Tikes” piano: http://reactivemusic.net/?p=6993
Note: Send Tweets using speech as well.
5. A conversation with a robot in Max (Google speech API, sox, JSON, pandorabots API, python, [aka.speech]
7. Playing bird calls in Max (xeno-canto API, [jit.uldl], [jit.qt.movie])
9. Real time train map using Max and node.js (XML, JSON, OSC, data recorder, web sockets, Irish Rail API)
11. Using weather forecast data to drive weather sounds in Pure Data (ruby, OSC, JSON, openweathermap API, “Designing Sound” by Andy Farnell)
12. Using ping times to control oscilators in Max (Mashape ping-uin API, ruby, OSC, JSON)
13. Echonest Segment analysis player – sonification of audio analysis data from The Echo Nest (echonest API, ruby, Osc, Max/MSP)
14. Quadcopter AR_drone – Fly a quadcopter using Max – with streaming Web video. ( node.js, AR_drone, Google Chrome, Osc, Max/MSP)
16. Max data recorder – Record and play back streams of data simultaneously at various rates
17. Web Audio version of Google domain ping machine – The sound of an even newer machine using Web Audio API, web sockets. Max, Ruby, Osc, Google API, and Mashape
Note: This project is not in internet-sensors. You will find it on github in the tkzic/WebAudio project: https://github.com/tkzic/WebAudio
16. MBTA bus data in Max – Sonification of Mass Ave buses, from Harvard to Dudley
PuRest JSON – general purpose HTTP request library
HTTP Get client from MrPeach
(haven’t tried these yet)
This project receives wind data from
the U.S. Coastal Observing Research and Development Center (CORDC) at Scripps Institute of Oceanography the openweathermap.org API
It uses the data to set the ‘wind speed’ of Andy Farnell’s wind sound patches from “Designing Sound”
Getting a parsing error on the ruby script. Will be debugging shortly!
<span style="color: rgb(0, 0, 0);">/Users/tkzic/.rvm/gems/ruby-2.0.0-p353@global/gems/json-1.8.1/lib/json/common.rb:155:in `initialize': A JSON text must at least contain two octets! (JSON::ParserError)</span>
<span style="color: rgb(0, 0, 0);">from /Users/tkzic/.rvm/gems/ruby-2.0.0-p353@global/gems/json-1.8.1/lib/json/common.rb:155:in `new'</span>
<span style="color: rgb(0, 0, 0);">from /Users/tkzic/.rvm/gems/ruby-2.0.0-p353@global/gems/json-1.8.1/lib/json/common.rb:155:in `parse'</span>
<span style="color: rgb(0, 0, 0);">from ./wind-open-forecast.rb:92:in `<main>'</span>
The http: requests are managed by a ruby server script and sent via OSC to Pure Data.
Two of Andy Farnell’s patches are also running (with very slight mods): wind4a.pd, and thunder4a.pd
From pd, you can select which city to get data from, and control the rate at which the data is replayed from the ruby server. The forecast cycle is about 3 days long.
From the pd patch you can select the rate of data playback, and select which city to use for data (Santa Cruz or San Diego).
Note: the wind speed expected by Andy Farnell’s wind patch is between 0 and about 0.7
main Pd patches
Add this folder to the path list in Pd before the system files because the distance.pd abstraction has the same name as a system file used for map distances.
required gems include:
- none required
4. You can tweak various parameters to scale the effect of the wind data on the sounds
currently getting this error in the ruby server – need to rewrite:
- update 3-25-2013 If you are running this project and getting errors from the ruby script – CORDC is not producing wind data – so please use this workaround – which uses the openweathermap.org API
Making Musical Apps: Real-time audio synthesis on Android and iOS
by Peter Brinkmann
libpd runs pure-data patches in iOS.
libpd for iOS on Github: https://github.com/libpd/pd-for-ios
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