4

For about a year now I've been curious to have a different way of looking at the internet. having a way to see or hear data sets in a way that would give a "zoomed-out" look at the set, rather than at the individual points of data.

I've been dreaming up a project that involves using MAX/MSP to develop an audio engine or instrument that will ultimately be played by data sets pulled from the web, preferably in real-time. The end goal is a representation of those data sets through sound. Imagine hearing a ping or a note every time a certain hashtag is used on twitter, a certain mood is used on facebook, or a plane lands at a certain airport.

I've used Max for a number of years now, and am pretty familiar with a lot of basic objects and functions, but I have no background in programming and coding.

My main question is this: I am looking for either a place to learn what kinds of code I need to know in order to interface with Max, or potentially a collaborator who is familiar with both Max and the languages needed. I suspect JavaScript will be used, as well as "web API" codes from the individual websites.

I've looked through the Max manual and tutorials, but I don't know enough programming to make any sense of it.

If someone could possibly point me in the right direction, that'd be great!!

Thanks! Robert

PS - I've found this post, and was wondering if it would be beneficial to go through these, or if this is the other way round from what I'm trying to do: https://sound.stackexchange.com/questions/17435/interactive-audio-learn-how-to-build-web-mobile-audio-applications-using-java

2

A couple of years ago, one of my students created a Max/MSP patch that would read a Twitter feed and would give a live sonification, via an additive/granular synthesis engine. This is along similar lines to what you are talking about. You can find further details on his blog at: http://samharman.com/2011/03/twinthesis-twitter-powered-synthesis/

I think you should be able to do the whole thing in Max, as was done in this case, but you will need to decide how to pick your data feed from the internet and which feed(s) you will use.

  • Thanks @Bit Depth! I've looked for a while on this topic, but never came across that post before. I think my project would differ by being a little more real-time. Or at least that's what I would like (especially for flight tracking). My main hurdle is learning how max would send/receive requests to the websites. I've looked into it before, but I can't quite make heads or tails of where to begin with coding. Hopefully your student's project can give me clues. – rgbrobot Mar 21 '14 at 19:58
  • On this project it was just a matter of converting the twitter feed data into synthesis parameters. – Bit Depth Mar 21 '14 at 20:51
0

One approach would be to use a general purpose programming language (like Python) to access the internet data, and then send the data to Max using OSC.

There are some good Python libraries, such as BeatifulSoup, that make gathering data from web pages fairly easy.

The PyOSC library will allow you to send data to Max, which can be received using the udpreceive object.

  • Thanks @audiomason. That's the exact response I was looking for! It's starting to feel like I would have to go back to school in order to have the time to learn all this coding! Are there places online that teach this stuff for free? – rgbrobot Mar 21 '14 at 20:15
  • @rgbrobot Python is relatively easy to learn compared to other programming languages, and there are myriad tutorials and code examples on the internet to get you started. It also helps to know some web programming, like basic HTML, XML, and JSON. Many web sites have APIs that allow you to access their data programmatically. This data usually comes in XML or JSON format. – audiomason Mar 21 '14 at 22:52
0

A bit of a late addition here, but the new Max URL object is designed to do exactly this.

An example:

http://cycling74.com/wiki/index.php?title=MaxURL_Weather_Report

If you're still on your quest this should make your job a lot easier! Depending on what data you want to use you may not even need to learn another language.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.