Darwin: Okay today, we are going to speak to Tom Zicarelli. My first chance to meet Tom was at the Expo '74 that was held in New York. Tom is in fact David Zicarelli's brother, and they talk the same, but otherwise, they're really different people. Tom really drew me in with the project that he had in the 'Science Fair' at the Expo. It was some crazy scenario where you use a fishing pole with a radio antenna? I don't even remember what was all involved, but, it was really pretty remarkable and it was one of the funnest things I saw the Expo. So Tom, welcome to the podcast!
Tom Zicarelli: Yeah. Hi Darwin. Thanks. This is cool. I love the podcast - all the people you're interviewing are my all-time sports heroes in the world of computer music. So that's great.
Darwin: Yeah, it's, it's actually really fun because, some of them are friends and some of them are in fact my heroes as well. So it's been a real treat. Tom, why don't we first kick off by having you introduce yourself and the things you do, and maybe some of your current projects?
Tom: Yeah, so, well, I live up in Maine, I'm up in Bethel, Maine. It's in the mountains, near the Appalachian trail, and I'm a musician - that's the way I think of myself mostly, I play the piano a lot. And, I'm also a teacher and teaching at Berklee this fall. And, I guess my interest in using Max and in working with computers and various things, some of it came about because, being around David, he would just show me this stuff and I would be totally amazed by it. But for a long time, I didn't really get into using it cause I was busy raising kids and I had a full-time day job programming computers. So it seemed a busman's holiday.
And I was trying to learn this, and play the saxophone, but I got into it working with this artist, Wade Cavanaugh, and we were both teaching at a boarding school here and he asked me one day - we were in the movie theater. I think we were seeing the movie with JarJar Binks. What is it? Star Wars, Episode One or something. And so he said, "Hey, I was wondering, can you see waves? If you could, what would they look like?" And I was just completely taken aback. And so we ended up doing this art project together where he made this sculpture out of trees and stuff. And he wanted the sound of radio waves to fade in and out. And, I ended up doing it in Visual Basic because at the time I think Max only ran on on Mac products. And, it was either that, or I didn't want to leave my Mac computer in the art gallery. But then eventually converted it over to Max and kinda got started that way. Just trying to figure out how to hook things up, you know, hook up radios and various things to Max and control stuff, use the wrong tools, I guess...
Darwin: Always a good way to learn something. Now one of the things I know that you've must've been working on recently is - because we've interacted about it - is the Leap Motion. But, in looking on your website, I see that you have actually sort of had your fingers in a lot of different gear, and a lot of different interfaces. So whether it's interfaces with Twitter or the use of the Raspberry PI or all kinds of stuff, you're listing on your website is really pretty amazing in terms of the breadth of stuff that you've done. Do you feel like you naturally gravitate towards interface creation or is it just something that piques your interest or is it just something that no one else is doing - and so you have some opportunity to work on it?
Tom: Yes. To all of the above. I think the thing that intrigues me is - and this is something I learned, after moving up here, up into the mountains and the woods - is that the interfaces are really cool. Like animals tend to live at interfaces. If you want to find a deer, you go to a place where the meadow meets the forest. I think cool things happen at boundaries. Stuff like war and identity, crisis and change and things like that. So I like the idea of connecting things that haven't been connected before. So that's kinda what I daydream about. And, like for instance, I was thinking the other day it would be cool if you had a microphone between the water and the air. So the fish could hear the birds and the birds could hear the fish. And, probably - that might be a cruel thing to do to them, but it might create some interesting interaction.
Darwin: Right. It depends on if it would make the birds more empathetic towards the fish or if it would make them find the fish for food more easily. I guess it would be an interesting social experiment.
Tom: Yeah. Food is always, I think, key to everything. In fact, I'm teaching college students this fall, I found that by bringing food in - that was probably the most effective teaching tool that I used. So I ended up bringing like about 25 bags of apples down from Maine to Boston over the course of the fall and chocolate too. I like that!
Darwin: Yeah. Who doesn't, now? So you teach in Boston, you teach at Berklee, right? But you live up in the mountains - how big of a commute is that?
Tom: Oh, it's not really very good. That's about a four hour commute. And there is some transportation for half of it, but I ended up driving because I tend to, when I'm teaching, bring a lot of stuff into the classroom - like bags of not just food, but things that I'm making these interfaces with, like a quadcopter and toys. And, I brought in a bunch of radio stuff a few weeks ago. And so I ended up driving, but yeah, I got to listen to your podcast.
Darwin: Well, good. I'm at least good for something then. It's interesting that you and I share the mountain living thing is as sort of a common bond. What made you move there? For me, there was a very specific thing, which is that I started finding city environments to be very stressful, both from too many people standpoint, but also because of the constant noise. And so moving up into the mountains was really allowed me to kind of clear my head. What was the thing that caused you to make that move?
Tom: Yeah, it's, it's amazing when I go down to the city, the difference and the noise levels, and if you're not used to it, it's kind of shocking. The reason I came up here, on a whim, I took a job working at the Mount Washington weather observatory, which is up on top of Mount Washington in the White Mountains. And so I worked there for about a year, and during the winter you have to go up in a snowcat. So you're in, you're up there a week at a time. You're stranded up there. But it was really cool, I got to pretend to be a weather observer and they needed somebody to run their computer networks and figure out some computer problems. So it was a great exchange for me. I got to learn about the weather, spend a lot of time outdoors, and then after I quit the job, we ended up staying up here - and my wife is from this area. And it's really hard to go back to the city after a year in a place like this.
Darwin: Yeah, I have to admit, I, I can't even imagine it anymore. I mean, I really enjoy visiting the city, but I often find that as soon as I get there, I'm already anxious to get back up in the sticks. So getting back to this interface concept, when I look at your list of projects - and for those who are listening that are interested, you can go to tomzicarelli.com. And then there's a thing called portfolio. And, that will show you a jaw-dropping list of projects that Tom's been involved in. And, really the list of candidates for technologies is pretty much one-of-everything. Fair amount of Max on there, but also a fair amount of Processing, iPad, PD all this kind of stuff. One of the things that has come up as I've talked to a lot of people on the podcast is the decision-making process that goes behind technologies. Now some of them, sometimes I would assume that you're choosing a technology because it's the only practical way of getting something done, but you, in other cases, it could be arbitrary. First of all, what makes something attractive as a thing to interface with? And then secondly, what makes you decide the technology you're going to use to attack it?
Tom: Oh, those are great questions. So sometimes it's the only way to get something done. Like for instance, one of the projects that I'm going to be doing in the near future has to do with getting video from YouTube and processing it in Max. And so it turns out that, there's a few ways to do it, but they keep breaking. And, so I just happened to find one the other day with somebody who had written the program, it's a variation on a Chrome browser that puts the output through Siphon, and then you can read it into Jitter through Siphon. So, so in that case, it's just whatever is available, whatever works. But a lot of times I'll find that there's a certain pattern that kind of works.
Like I do a lot of stuff, mostly inspired by Luke Dubois, where I'm trying to get data from the internet and use that data for sonification or for controlling other things. And so what I've found that a really great way of doing that in general is in Max, you can communicate using Open Sound Control using the UDP send and receive objects. And then, it's really easy to set up a server in Ruby or Python or even PHP or Node.JS to read the OSC messages from Max and then send them off somewhere else. So for instance, if you wanted to draw something on a Google map from Max, the way I would do it would be to send OSC messages with the geo-coded data points, into a Ruby server from Max. And then from that Ruby server use WebSockets to send the information to a web browser. So basically, instead of trying to do it all in Max - which you could do - it is a lot easier to do some of the processing of HTTP requests in other languages. And then just have Max interface using MIDI or Open Sound Control. So that's how I ended up doing things: you find certain tools that work better for, for certain functions and then go with that.
Darwin: Yeah. This seems to be, something that was out of faver for a long time. And I think it's coming back: the idea of using small, almost server-like systems that speak to each other, rather than trying to have one monolithic tool that can provide access to everything. Now, how does that work when you're teaching people how to use a software; because, first of all, you then would have to teach them several different things, but also you have this ordeal where hopefully, the computer you're using is gonna give you security access to this or is going to be fast enough, or it's going to have connectivity. That it's good enough to pull it off. How does that work in teaching?
Tom: Well, yeah, a lot of times it doesn't work. Like for example, I was trying to do something a couple of weeks ago. I have a few examples that will allow you to send Tweets from Max or receive a stream of Tweets and then process them in Max. And so the first thing that happened was I had set up a lot of these programs back in early summer. A couple of days before I started teaching, I wanted to go through these so I could use them in my classes and they were all broken because Twitter changed the authentication to require authentication for all their API interaction. So I had to rewrite this stuff because it was all broken. And then when I did get around to trying to get students to do this, it turns out, so I was using a Ruby server as an intermediary from Max to Twitter.
And it turns out that all the students had different versions of Ruby on their computers, and the libraries (they call them Gems in Ruby). They're all different versions of that. So, yeah, so you get forwarded from a lot of different angles, but in terms of most kids, these days, they really have no fear of computer languages. So you can give them, for instance, a Ruby or PHP server as a black box and say, okay, here, take this, this works, put your information in it. And then for instance, if you want to change, if you want it to get all the Tweets that match a hashtag of cats, instead of dogs, we'll just show them where it is in the code and they, they can change it. And they're comfortable with that. They don't mind going into a text editor and changing some code, even if they don't really know how to write the code from scratch.
Darwin: Yeah. That's actually an interesting thing I've run into too, and it's not just older and conceivably more experienced students. Cycling is actually supporting me in an attempt to teach some fifth through eighth graders, teaching a combination of electronic circuits and creative coding. And, it's really quite remarkable that there's this thing that says "I don't need to theoretically understand everything I'm looking at, as long as I can understand where to go to change the thing that I want" is totally comfortable. And I think that's a big shift and I think it's something that a lot of educators still haven't wrapped their heads around.
Tom: Yeah. Well, as one of the things that you end up spending a lot of time on is trying to make it easy. So you have to have something that works, before you bring it into the classroom. And so, like I said, like a lot of this stuff just breaks all the time, and you have to do the work behind the scenes to make it easy to go in and edit something or change it. But it's worth it. I really feel like it's so much - my students are so much happier if I can bring in, like, I brought in some stuff related to underwater acoustics the other day. You bring in a pan of water and stick a microphone and a speaker in it.
It's more exciting than working out of the textbook. And then they'll start asking interesting questions like... Oh, what was one of them? I was showing, signal processing routines that are reversible. For instance, if you run an audio signal through a Max object, and I don't even know what the object is called, but if you do like exclamation-divide 1.0, I believe, it takes the reciprocal of the signal. And so it makes the audio into something completely unintelligible, but then if you run it through the same object again, it comes back to normal. So one of the students started suggesting, well, can we do this with light and make things invisible? And then you start getting really great questions, when you do things that are maybe on the pushing the envelope a little bit.
Darwin: And the fringe, right? The flip side of that is you can end up with real horror scenarios. I mean, what I would call one of the biggest failures for me was when I had put together this plan to do, to do an art piece for libraries. And basically what it was going to do was that you would have a overhead barcode scanner, it would read the barcodes as they came through. And then I would go off to Amazon and do like these really deep trails through the "people who read this, also read this" kind of thing, like to try and find unexpected connections between people like, "Hey, the person four spots ahead of you seems to be the exact opposite of you..." or whatever, trying to do some social gaming based off of the books that people were checking out. So I'd bought this big overhead scanner and all this stuff, display screens. And then, all of a sudden Amazon changed their interface and what they change it to made it impossible to do simply because of the authentication requirements. And it was one of those things where it's like a great idea, but because these interfaces are constantly changing, and there's a lot of risk involved in doing that kind of thing.
Tom: Oh yeah. I mean, I just felt a pang of sadness when you described that to me, because it's such a great idea. And, were you able to figure out another way to do it or no?
Darwin: There's the way that Amazon works, their site, it's very difficult to do any web scraping kind of thing. So I was actually using their commercial engine - my wife was doing some bookselling. And so I had actually access to the commercial API, but it went from being being a relatively straight forward query and response system to this really convoluted thing where you had to have signed requests and then they put limits that you can only have so many requests, cause what they didn't want was people just basically building their own database off of the requests that Amazon was giving only to their business partners. And it basically foiled the whole thing just because I wanted it to have some technical limits so that it wouldn't be very fragile when it was in the field. So I wanted to set this up and have it run for months. And, what I instead found was something that constantly required re-pinging the system and authenticating that, "Oh yeah, I'm a real partner on the other end." And I probably could have reached out to Amazon for some help, but I was so discouraged by the whole thing that I just dropped it.
Tom: There's probably another way around it, but maybe their top corporate priority is not interactive art. This is when he [Jeff Bezos] was... is he the one who was trying to dig up the space capsule under the ocean? So he's got some money for our projects, he's one of the people that's like funding one of the space things too, isn't he? So, to me, this is a really exciting time just because, the pace, well, first of all, the cost of entry to do these kinds of projects is really low. Now you can get in, you can build a digital synthesizer signal processor for no less than 50 bucks using, something like a Raspberry PI and a sound card. And also the knowledge is being passed around.
One of the things I try to teach my students is just how, if you have an idea, it's really easy to just type something into Google and get started with it, and put something together. So actually talking about the thing you were doing with Amazon reminded me of something I did - I was out visiting my brother David at the beginning of summer and he bought a Tesla electric car. So we got to take a tour of the factory and that was really cool, science fiction, like robots building cars. And Tesla has an API, so I was like, "Oh, I think I can, control your car using Max." So, I was able to write a patch to beap the horn of his car from Max.
And then, he went to the airport to pick up his wife. And so we managed to build a little map. So it was tracking his route to the airport and sending it back to an LCD object in Max. And that stuff just really intrigues me. I just feel like it empowers us to do these kinds of things, there's a lot of surveillance going on from that that's out of our control. So I think it's cool that we can learn how to do the same things.
Darwin: Well, the Tesla's actually an interesting story in itself. So I was out in San Francisco earlier this week and David actually drove me around in his Tesla a little bit. And, it's really remarkable how that is. If you think of it, if you don't love cars - and I don't love cars. I think they're fine. I think a good car is really a good thing, but I don't, like, crave car stuff. And so for me, since I'm not a car lover per se, when I get in the car and I see what it is, what it looks to me like is a generic car interface with a really cool app running, you know? And I think that as things move to being those kinds of systems where there is the physicality that you expect out of a car or whatever, but when it's so software defined, it really opens up doors for some creative, interaction with those things.
Tom: Oh yeah. If instead of thinking of a car as a way to get places, if you just think of it as this transportation robot, it opens up doors for a lot of interesting projects and just being able to track cars and put them on the Internet Of Things. That's provides some really interesting motion for interactive art type things.
Darwin: Well, it's interesting that you bring up the Internet Of Things because, I don't know about you, but occasionally I get spam that doesn't seem to get filtered out. And at some point in my long internet history, I must've told the Motley Fool investment letter that it was cool to send me crap because I get a webcast from them that's like "The Internet's dead, it's gone. Here's what's next!" And so then you click on it and you have to like go through a self-congratulatory hour long Gab-Fest before they finally tell you that basically what it is is this new thing they're calling the Inter World. And it just goes back to the Internet Of Things. Now was it Cory Doctorow or was that like Bruce Sterling that originally came up with that concept? I don't even remember.
Tom: I think I was Philip K Dick.
Darwin: Oh, really? I think when you're talking about futurism, you've probably hit something there, which is that you could conceivably say either he or Robert Highlands started everything. Yeah.
Tom: Yeah. I don't know. It's funny how he names of stuff keeps changing, the same things, now I can't think of a good example, but we keep, coming up with new linguistic expressions for basically the same stuff.
Darwin: Right. Well, I think everyone's hoping everyone gets a lot of value out of being the person to name something. So I think that that's a big part of it, but I would say that a number of the things that you've worked on sort of take advantage of that sort of stuff - limited interface capability that wasn't meant for any artistic attachment, but you just did it. Whether it's radio stuff or Twitter interfaces. And I'm looking at this list, I mean, toy raygun, cat alarm, I mean, taking advantage of it and really those kinds of things come from a lot of different places. Some of it is an extension of the circuit bending world. Some of it is an extension of pervasive networking, but some of it does bridge on taking advantage of this surveillance technology. That's kind of slipped in the back door.
Tom: It's actually an interesting thing that I read a couple of weeks ago and it was, I don't know if you are familiar with the concept of an air-gapped computer. This is when you have computers with top secret information on, they don't want them connected to any network at all. So they put them in a room, and they say, "Oh, it's air gap because it's, there's air between the computer and all the other networks." So I read this great article. It was about someone who'd come up with a project on how to break into an air gap computer using the microphone and the speaker on the computer as a communication device. So what they're using is, essentially, writing a program that works like an acoustic modem, and doing it near ultrasound.
So you can't hear it. And so I started reading this and it was referenced to a paper and I looked at the research paper and then it was all about, and I'm going back into water here, but, underwater communication - like underwater data nets - are built using acoustic modems. And I was like, "Whoa, I didn't know that!" Because apparently radio signals don't work so well in seawater because the electrical properties of seawater. So I started getting into this more and finding out that there's all this research being done with underwater data networks and I thought, "Oh, it'd be cool to actually write a program that allows you to communicate data acoustically." So actually, I just figured that out in this patch the other day, I think I just put up a YouTube video that shows how you can use this method called TTY - it's radio teletype, which is the old, it's like a two-tone system.
Tom: So, the lower pitch tone is a zero and the higher pitches of one. You encode text into bits and then send it over radio. So I have my two Mac books now sending the word "hello" to each other over the speaker backs at about 12 bits per second. So, so yeah, the problem was interesting because in one of your podcasts, when you're talking to Dan Nigrin, he wrote the program to communicate with the Roland, was it the MC-202 with that cassette recorders interface? So that's basically the same idea. And the hard part about trying to decode acoustic-digital signals is the timing on the receiving end has to be really precise because you don't know, so if you forget, for instance, and encode a character into seven bits, you don't know if you're getting bit number zero or a bit number three. So that's why they have start bits and stop bits. Right. And, so the timing has to be really precise. So that's what that's my next project is to get this thing up to 2,400 BPS that's 2,400 BPS. Yeah. So then it'll sound like your classic 1970s modems.
Darwin: You might have the chance to reinvent AOL then, which would be...
Tom: It's just about, it's about time for that to happen. Everything's relevant in cycles...
Darwin: Industrial music's coming back. AOL has got to come back too, right?
Tom: Yeah. The ukulele is the top selling instrument,
Darwin: All cycles. You brought up something a little bit ago that I want to dive into a little further because it represents a sea change, I think to me, and that's the Raspberry PI device. It's pretty fascinating when you see the amount of stuff that's on that board and you can go to Amazon and get one for 25 bucks and it has a reasonable amount of memory, it's got a relatively high speed CPU and all that stuff. It seems on the surface to be a pretty fantastic platform for media work - artwork in general. And just general computing. So it's clear that you've got some experience playing around with that particularly, doing some programming in the sound domain. What did you find when you started digging into that?
Tom: Yeah, the Raspberry PI is very cool. Well, what I ended up doing, actually - let me tell you, I saw a really cool student project a couple of days ago at Berklee. Paul Bachelor, so what he did is he had this a basket full of Raspberry PI's together with a wifi router and some simple networking stuff. And he programmed a generative music program using the Monome as a trigger and Open Sound Control. And then the music was actually done using CSound, on the Raspberry PI. And so the stuff that it did was really cool. He was able to do multiple channel audio synthesis just by using a bunch of Raspberry PI's since they're so cheap that, instead of trying to do a polyphonic synthesizer, which would have crashed because of the, CPU, right? You just did everything in parallel by networking together a bunch of, Raspberry PI's.
But the stuff I did was using, I ran a PD in a command mode on the Raspberry PI. And GeM, then you can just use a cheap sound card, like, a Griffin iMic, or Berenger has these little IO interfaces that you can just plug in and so you can write effects processors and synthesizers and all these different things. And it's really easy to control them either using MIDI or Open Sound Control through something like TouchOSC. You have to run funded, you have to run the Raspberry PI in mono and at about, I think the highest sample rate we could get with breaking up was like 22.5K. But that was through an external interface.
Darwin: Like, I mean, I'm sitting here. I had literally a Raspberry PI and iMic sitting in front of me at this moment. You're saying that with that combination 22.5K is the realistic limit.
Tom: Yeah. You can run PD you can run input and I'll put... so what I would do, this is the way I would do it. So I would write the PD program on the Mac book and then just, copy of the PD file onto the Raspberry PI and run it in command mode. So there's no screen. So you have to do a few things in your patch. You have to turn the audio on first and set up any, the communications interface, but it'll run PD extended, which allows you to use, Open Sound Control and it works. It works great.
Darwin: Well, one of the things that to me is, and again, I just got this thing. I just started playing around with it, but one of the things that's very different - I got very comfortable with like Arduinos and the Maple board and some of these other things that were sort of - I guess it's the Harvard technology. And I can't remember ever which technology they call it, but basically there's not an operating system. It's a protected memory system and real simplistic, but the idea of not having an operating system seemed freeing in some way. I mean, maybe it was just hearkening back to hacking my Apple 2e or whatever, but there was a cool sensation and feeling like you were really close to the hardware. Now at the Raspberry PI, you're working through the Linux stack, which seems somehow a completely different experience. What's your feeling about that? And, and how do you think that affects people's approach to what they're doing?
Tom: Yeah, it puts you back into the realm of computer programming instead of... The other cool thing about Arduino is that you just plug stuff in and you can actually get a lot of these programs that are already written and just tweak them and you don't even feel like you're programming, and I think that will happen if it may have happened already with Raspberry PI just to a certain extent. I mean, just being able to use PD is a huge thing.
Darwin: Yeah. That changes things versus say Python or...
Tom: But, yeah, they have these GPIO pins on a Raspberry PI and so you end up, and this is something I really haven't had a lot of experience, but the stuff that I wrote has been C programs that just do serial IO. And it's not as friendly as the Arduino stuff by any means, but there may be stuff out there that I'm not aware of yet that simplifies it.
Darwin: Yeah. Well, we burned through that time really quickly. I'm actually surprised to see that we've been chatting so long. It's been really fascinating talking to you. Are there any current projects you want to turn people's attention towards?
Tom: Well, I'm doing a an interesting thing with, the Leap Motion sensor that you mentioned. And, actually, to me, the interesting part about it is, this is actually a thing I'm doing with Richard Boulanger at Berklee, an amazing teacher. He's really, he just inspires students to do some really cool things. And so in this project, actually, we have a student, a couple of students, one student, and a former student working on writing the sound engine in CSound, and then that's running inside of a PD wrapper in this thing called libPD which Peter Brinkman set up. So you could run a PD as a library in C++ or Processing or a Python program. So we have, PD running as a library and a C++ program which is doing the the Leap Motion and the OpenGL part of the program. And I think it's really interesting, it appeals to me just because there's all these interfaces. So at Berklee we have an open GL programmer working in C++ and we have a music program working in CSound and PD and they just communicate with each other, sending message, Open Sound Control type messages, back and forth. And, and to me that's a really cool way of putting together a project. So it'd be interesting to see what happens with it.
Darwin: Yeah, that sounds great. So what's it like working with, Dr. B? Every time I'm around him, he just seems like a force of nature.
Tom: Yes, that's exactly right. He's just non-stop energy. And he's the kind of guy that will get you all of a sudden, you just realized that you promised you would do something that you never intended to do and, you're 20 hours into it, but it's really been great working with them. And, so yeah, he is a fantastic teacher.
Darwin: Yeah. That's what I've heard. I've, I've heard from so many people about how inspirational he is. Well, Tom, thank you so much for your time. I really appreciate it. It was fantastic talking to you and, you turned my brain onto some things I've got to spend a little time with Google, cause I've got to get some ideas now.
Tom: Yeah, it was great talking with you. And, I, like I said, I feel it's a really exciting time right now, and there's just so many possibilities for ordinary people to do pretty much extraordinary things.
Darwin: Yeah, I agree. All right. Thanks a lot and have a great day
Copyright 2013-2020 by Darwin Grosse. All right reserved.