Open source acoustic analysis API for music.
a joint effort between Music Technology Group at Universitat Pompeu Fabra in Barcelona and the MusicBrainz project.
An example: http://acousticbrainz.org/1a4376a7-3bde-4ee5-b1df-715675077985
Open source acoustic analysis API for music.
a joint effort between Music Technology Group at Universitat Pompeu Fabra in Barcelona and the MusicBrainz project.
An example: http://acousticbrainz.org/1a4376a7-3bde-4ee5-b1df-715675077985
The sound of Wikipedia’s recent-changes feed.
By Stephen LaPorte and Mahmoud Hashemi
Sonification of Mass Ave buses, from Harvard to Dudley.
This patch sends requests to the MBTA developer portal to get the current location of buses – using the Max js object. Latitude and Longitude data is mapped to oscillator pitch. Data is polled every 10 seconds, but it seems like the results might be more interesting to poll at a slower rate, because the updates don’t seem that frequent. And buses tend to stop a lot.
MBTA developer portal: https://reactivemusic.net/?p=17511
Here is the get request URL used in the patch:
http://realtime.mbta.com/developer/api/v2/vehiclesbyroute?api_key=wX9NwuHnZU2ToO7GmGR9uw&route=01&format=json
https://github.com/tkzic/internet-sensors
folder: mbta
patches:
You will not need authentication to run run this patch. It uses the default developer API-key for testing. Please read the terms of service at the MBTA developer portal. Data should not be polled more often than 10 seconds. You can also request your own developer API key from MBTA.
Note: there will be more buses running during rush hours in Boston. Try experimenting with the polling rate and ramp length in the poly-oscillator patch. Also, you can experiment with the pitch range.
data-stream-switch.maxpat
Boston transportation API
http://realtime.mbta.com/Portal/Home/Documents
Curl example – predictions by stop – Back Bay Station:
curl "http://realtime.mbta.com/developer/api/v2/predictionsbystop?api_key=wX9NwuHnZU2ToO7GmGR9uw&stop=place-bbsta&format=json"
oggrx~ and oggtx~
by Robin Gareus
At Cycling 74 forum: https://cycling74.com/forums/topic/streaming-internet-radio-in-maxmsp/
I was able to receive mp3 files from a server in Max 6.18. using oggrx~. There doesn’t appear to be transport control – so this would need to be built in for synchronization.
Unexpected find: The external uses “secret rabbit code” for resampling. So it works in Max. And we have the source code but not the i386 libs that were used to compile it.
There is no binary for v.7 of oggrx~.mxo, but there is one for v.6
i managed to get Robin Gareus’ externals. They are available here, though they are unmaintained.
The binaries are still online at:
http://gareus.org/d/oggZmax-v0.6-i386.zip
http://gareus.org/d/oggZmax-v0.7-rc2-i386.zip
It’s been more than 3 years (OSX 10.5) since I last looked at it, it
should still work, but I don’t know. Please let me know if you encounter
any problems, so that I can warn others.
I don’t maintain this external anymore. I neither have a MAX/MSP
license, nor do I own any Apple devices. On the upside, complete
source-code is available from
Data.
Building a Max patch that displays, transforms, and responds to internet data.
Both available from Cycling 74 http://cycling74.com/
The Max patch is based on a tutorial by dude837 called “Automatic Silly Video Generator”
The patch at the download link in the video is broken – but the javascript code for the Max js object is intact. You can download the entire patch from the Max-projects archive: https://github.com/tkzic/max-projects folder: maxvine
API’s (application programming interfaces) provide methods for programs (other than web browsers) to access Internet data. Any app that access data from the web uses an API.
Here is a link to information about the Vine API: https://github.com/starlock/vino/wiki/API-Reference
For example, if you copy this URL into a web browser address bar, it will return a block of data in JSON format about the most popular videos on Vine: https://api.vineapp.com/timelines/popular
An HTTP request transfers data to or from a server. A web browser handles HTTP requests in the background. You can also write programs that make HTTP requests. A program called “curl” runs http requests from the terminal command line. Here are examples: https://reactivemusic.net/?p=5916
Data is usually returned in one of 3 formats:
JSON is the preferred method because its easy to access the data structure.
There are several ways to make HTTP requests in Max, but the best method is the js object: Here is the code that runs the GET request for the Vine API:
function get(url) { var ajaxreq = new XMLHttpRequest(); ajaxreq.open("GET", url); ajaxreq.onreadystatechange = readystatechange; ajaxreq.send(); } function readystatechange() { var rawtext = this._getResponseKey("body"); var body = JSON.parse(rawtext); outlet(0, body.data.records[0].videoUrl); }
The function: get() formats and sends an HTTP request using the URL passed in with the get message from Max. When the data is returned to Max, the readystatechange() function parses it and sends the URL of the most popular Vine video out the left outlet of the js object.
The qt.movie object will play videos, with the URL passed in by the read message.
Unfortunately, qt.movie sends its audio to the system, not to Max. You can use Soundflower, or a virtual audio routing app, to get the audio back into Max.
https://reactivemusic.net/?p=12570
https://reactivemusic.net/?p=12570
There is a large archive of examples here: Internet sensors: https://reactivemusic.net/?p=5859
We will look at more of these next week. Here is simple Max patch that uses the Soundcloud API: https://reactivemusic.net/?p=17430
Gokce Kinayoglu has written a java external for Max called Searchtweet: http://cycling74.com/toolbox/searchtweet-design-patches-that-respond-to-twitter-posts/
Many API’s require complex authentication, or money, before they will release their data. We will look ways to access these API’s from Max next week.
There are API services that consolidate many API’s into one API. For example:
Look at the Max tutorial (built in to Max Help) called “Data : data scaling” It contains most of what you need to know to work with streams of data.
Using the Vine API patch that we built during the class as a starting point: Build a better app.
Ideas to explore:
This project will be due in 2-3 weeks. But for next week please bring in your work in progress, and we will help solve problems.
Yes its a list.
Most of the examples are broken, but the ideas are great, and so is the cat.
at catswhocode.com
http://www.catswhocode.com/blog/10-awesome-things-to-do-with-curl
An example of the Soundcloud API in Max.
At the Cycling 74 Wiki
http://cycling74.com/wiki/index.php?title=MaxURL_SoundCloud
local version: tkzic/max teaching examples/souncloud-test