Language to code an interactive ambient sound art installation~

Hey! I’m venturing more towards taking my ambient productions and turning them more into installations, would love to integrate some programming into that, I know MAX/MSP is a powerhouse in itself and can do some amazing stuff but was looking to see if anyone had any other ideas of languages/environments.

Thanks!

Depends what you’re planning on doing, and what environments you’re comfortable in.

The big ones are Processing (Java) and openFrameworks (C++), and they can both interface with basically anything.

If you can provide a little more detail on your work I can give more detailed info. Feel free to pm me.

1 Like

Will check these out and PM you thanks!

To give some more info on what I’m planning :slightly_smiling_face:

Basically my project so far is to create an interactive sound experience of the human experience of ‘Anxiety’

I plan to have a generally relaxing ambient backdrop when there is ‘no input’ and then have an object on a pedestal in the middle of the room. As the guest gets closer the object the sound will start getting more and more distorted and adding in new voices in an almost schizophrenic way (possibly even some actual voices saying ‘get away’ and the such). these new elements would then peak when the person is closest to the centre and then fade as they moved away.

Generally looking for a good language/environment to start learning to make this a reality, so looking for some sort of motion tracking or IR signalling for the distance control and then a way to turn that into added audio elements. I don’t really have too big of a background in coding though.

Not really a language but a patching environment, there’s also Puredata, which is very capable, expandable and runs on pretty much anything. Has good support for all kinds of sensors/interfaces too.

1 Like

personally I’d suggest rolling with max/msp (graphical environment) because it has a lot of options to plug into lots of other stuff, and it’s quick for executing simple projects and is well documented. openFrameworks seems great for more developed projects.

not sure if it would be useful for long distance tracking, but this is a max project uses a webcam to track distance

you’ll probably want to consider whether you need the tracking to happen all directions, or whether you can put the object in a corner and use a one-directional method (which would be most IR/camera stuff)

a cheap but different thing would be using a contact microphone to detect footsteps.

1 Like

Based on what you’re describing, I’d work on finding the sensor/controller you plan to use and what music programming languages have an API (application programming interface) or driver to be able to read that data.

The Microsoft Kinect might be worth looking into as a potential controller for what you’re looking for. There have been a couple examples of people mapping the Kinect to MIDI (a couple quick examples https://www.kinecthacks.com/kinect-midi-controller/ https://www.theseus.fi/bitstream/handle/10024/157980/Sutelainen_Eemeli.pdf). With this option, you might be able to use a DAW instead of doing a full dive into a programming language.

I haven’t worked with the Kinect personally. But know someone who has and I remember there needing to be some sort of initial body mapping–though I’m not sure if there would be relevant if you’re just using distance.

1 Like

oh shit awesome, yeah I think max/msp is probably the route I’m going to go, now its time to learn hahah, guessing there’s a good amount of resources out there just gotta find some that relate to my project.

We’ve used a setup involving two Kinects at my work to do a ‘multi-player’ installation thing, which worked nicely. This looks interesting if you choose that route with Max MSP https://cycling74.com/tools/simplekinect

1 Like

imho the hardest thing to achieve here is not coding the intended behavior, but getting a reliable enough way of tracking one or more guests that will follow every path in the space except the ideal path you envision. “Reliable” and thus the technology choice will very much depend on the kind of interaction you want (and maybe costs, otherwise i guess every art install would use ceiling mounted cameras with computer vision software).

2 Likes

Max/MSP is a great choice for something like this.

FWIW ChucK is also really good for installation timescale stuff. (You can easily operate on time units of a week, a month, etc.)

1 Like

I think Max/MSP is worth exploring for this (it sounds like a really nice project too!) - you’ll open yourself to a full world of tools for future work, some of which can even emerge from your learning this environment. It would be very interesting to see this work with some kind of (carefully) electromagnetic centerpiece, whose voltage output would vary with the approach of a person, and that voltage output could go to Arduino, for example, to be read as data to be interpreted by Max/MSP, or even Ableton’s Connection Kit which wouldn’t require too much programming.

1 Like

I’ll add that sometimes it’s useful to stitch the solution together from a few different pieces, and have them talk to each other - whether via a serial port, OSC, websockets, etc.

I’ve done a few projects where I’ve handled the “making sound” part in Max/MSP, controlling it with OSC from another tool. You get to use the right tool for the job and keep the complexity of the individual pieces down.

1 Like

just chiming i’m with another big plus for doing this in MaxMSP.

it’s pretty straightforward to wire up IR distance sensors to an arduino and get that into Max if you don’t want to use something like a Kinect.

2 Likes

Ooh looking into ChucK for future projects most definitely! Also I know about the Delicious Max/MSP tutorial series on youtube but it seems to be a bit past beginner level. Anyone know of any good starting from scratch video tutorials and explanations for max8/Maxmsp? I’ll go through the manual as well but more of a visual learner.

1 Like

20 chars of “there’s a manual?“

Pure Data is another option as an alternative to Max/MSP. It is a little more bare bones but it’s free/open source and runs on pretty much any device you would need it too. It would allow for a lot more options when it comes time to figure out how to actually deploy the installation. You could even run it off of a raspberry pi or other small little ARM based computer (how well this works depends on how resource intensive your program ends up being).

If you don’t have much experience writing code then I would probably avoid openFrameworks. It’s powerful but it has a decently steep learning curve and it can be very hard to track down problems if you don’t already have some C++ chops. Processing is a bit easier to use and IIRC is targeted a bit more towards artists.

1 Like

as someone who built more than a couple installations/thingies where MaxMSP runs the show off a MacMini or whatever, the idea of a tight PD patch strapped to a Pi is sooooo appealing.

1 Like

Having the ability to run this off of a relatively cheap and small form factor raspberry pi does sound appealing both financially and in terms of space… would the knowledge I learn from maxmsp transfer over to PD since its also from the Max branch of things?

It will certainly help. They share some objects and functionality. I would also recommend the Bela, which is quite easy to work with. https://bela.io/
Not quite as cheap as a Pi, but probably more easy to work with as it supports drag-and-drop of PD files into the IDE. I’ve never used PD with Pi myself, but I’ve been told by an installation artist that it is indeed a lot easier to work with if you have no experience with the Pi.

1 Like