Wednesday, December 21, 2005

God damn.

This project has been a challenge in every sense of the word. In a "one step forward, ten steps back sort of way." I can't wait to have it done.

Getting the patch to fade between files correctly took the better part of a day. I finally came across an older version of the Tap Tools [tap.crossfade~] object, made by the fine people at Electrotap. It's helpful. I've still been having problems getting the assignments right (i.e. when you click on a particular stop on the subway, I want a switch to direct that sound to selector~, a crossfade to that sound, and a tag that will tell the player to use the other selector~/sample loadup set for the next stop you travel to -- that's a lot with one mouse click, after all). That's what tonight's dedicated to.

I also have been having freak problems like all of a sudden, loop function on sfplay~ not working. It also took some considerable time and some help from Jonathan to get it to unlock with the 5 necessary keys: 2 coord range operators (< >) each for X and Y, and the bang from mouse-click.

I've kind of felt all semester that there's no substitute for sitting and doing work in MAX regularly -- it is a language, and it's not learned easily. You begin to have objects and concepts at hand more when you've put that time in. That's not to say I haven't worked hard, but if I had my way it would be hours daily put into learning and using this, at least for awhile, rather than sitting at it on the weekends and trying to remember what I lost last week. Work schedules and holiday commitments and all that stuff kind of conspire against that possibility, though.

Alright, back to work.

Tuesday, December 20, 2005

By the way...

Thanks Jesse and Jenny.

This wouldn't be getting done (and wouldn't be nearly as good) without you.

Where it's at

I'm in edit mode now, slimming down all the files from the subway field recordings to around 2 minutes and trying to get rid of annoying windy plosives and mic handling noise, as best I can. Given the choice I will probably go out and re-record the first (Bklyn) leg of the F-train map with softie but I am going to use what I have because of 1) time and 2) impending MTA strike.

The F-train sonic subway map is coming along, I emailed the max list for the first time requesting some help, because, well, poly~ is just so damned big, and I want to use it to my advantage. I found that last time I probably programmed things in a less streamlined fashion and could probably do better to make this one smoother, more interchangeable parts and less monolithic and stodgy. I think poly~ is the answer with its allowance of multiple iterations of one patcher but I need to understand fully how to interface it with a bunch of samples that I want to be ongoing, in stasis and not activated by the interactivity -- rather, I want them opened and closed.

Time to get back to figuring it out.

Sorry for not keeping up with you, blog.

McCarthy fans unite...

and rejoice...
and enjoy the sweet taste of the bait and switch
Bless this food for our use this day.

Tuesday, December 06, 2005

a sure sign of things to come...

Work for my final project patch is underway. This patch is going to be an interactive / sonic subway map. It's going to be an installation work using recordings and images from outside / near every station (in this case for the F train, given its diverse locales). While the sounds of the subway are interesting and provide a sort of common ground for most New Yorkers, I'm more interested in the way we view the map as a series of destinations, so I'm doing wo minute field recording outdoors (above-ground) at every stop on the line. So far the results have been pretty fascinating; I've documented an expansive Jewish cemetary that sits steps from the train, sounds of a recyling center, a desolate Coney Island in winter, the bustling chic of Park Slope and Carrol Gardens, and more. Tomorrow I'll be editing down the sounds for use in the MAX patch.

It would be great, as Jonathan mentioned, to have a live setup for this, but that's looking at, at the very least, dozens, and at most hundreds of transmitters and mics. Money I don't have right now, but it'd be great to try and look at a grant for it.

As for this project, in MAX, once the map is clicked on, it will be activated with the sound of the stop nearest where the mouse has been clicked. Once another stop is clicked on, the sound will crossfade through to the clicked-on stop. The program is going to be set up in such a way as to be able to move easily between (sonic) locations. So now it's just a case of trying to get all this to work. I'm excited to be getting started on this.

Wednesday, November 09, 2005

back in action

Cycling 74 are good people. Gave dude a couple months' extension while the ITP / Parsons folks sort out the group purchase. Now, I can breathe a little easier and get my semester's work done without any issues, aside from my own motivation.

I never really gave a rundown of my midterm patch. Those in my class got to see it, but for an explanation, what it is, is a Random Voice Switcher that takes several readings of news stories from a day's issue of a paper, and blends them together. Stories are selectable from a drop-down box, and activated via space bar (though a bug in it currently means that, after first playback, you have to press spacebar twice to play -- I gotta figure that out). Also, as an added bonus, one can deactivate the random switching, and mess with the levels on one's own, which can be great fun.

I'd like to add tweaking like modulations, filters and more as user-controlled functions from the main patch page, and the idea is that this patch will do accomplish two things:

1) It will be part of a process of randomly generating the design for a climactic portion of Lindsay's Metro dance piece, in which voices upon voices reading five-six different stories will be heard at once.

2) When finished, It will be installed in the lobby of the performance space for this piece, for performance attendees to explore their own readings of the Metro stories and for them to hear in their own way what will take/has taken place on stage.

As a note to classmates (do y'all actually read these?), I liked seeing where everyone else in class was with their MAX midterms. Everyone is doing some interesting things and coming from their own unique angles, displaying the use of different ideas and functions in MAX. I think there is great potential for us all to learn a lot from one another...

Monday, November 07, 2005


I wish the crew getting the MAX authorizations would get on with it, already. This is taking far too long. Right now, I'm out of luck, and demo days. :(

Monday, October 31, 2005


I think I had my breakthrough today in building the midterm patch. I hope it's complex enough to merit its status as a major project for me. I was having some difficulty due to not having voices to work with and having to work in the abstract. I'll be collecting more voices to input on Wednesday before I finish this all up.

Where I had been thinking of actually editing word-by-word in Pro Tools, I decided I'd use the VocAlign plug-in to time-align voices for each story-bank, so that verbal flow is more seamless and the switching is not dependent on samples butting up against one another and sounding more jerky than necessary. As of right now, I'm switching at random between voices using selector~. I wonder if there might be a good or interesting way to control the switch rate (metro-banging a random object right now that is static at 200 ms).

Now, I just have to build the bank/story-selection portion of this patch. Next couple days should be plenty of time for this.

Tuesday, October 18, 2005

Bang 'Metro'

I've come up with my midterm proposal:

The dance project this MAX/MSP patch will interface with utilizes content from a New York Metro newspaper from one day. It will feature separate banks of spoken word or phrase samples. Each bank of samples will comprise a particular story from the newspaper, read by multiple voices. The words will be heard in the order they appear in each story, chosen from different voices at random. Different story banks will be "loadable" from an interface within the patch. I also plan to allow for different playback speeds, and I may explore different uses for separate audio in the left and right channels.

The idea is to de-contextualize the news stories, to isolate them from their original use/functions as banal, semi-journalistic interpretations of daily events, and reinvent them through the use of multiple voices in a completely unplanned order (which will be different upon every playback). New meanings will be derived from the news as imagined by a cacophony of voices ranging from children to the elderly.

It is ultimately my goal to use sensors as control inputs to MAX to allow a dancer to manipulate the sound with envelope filters, sample retriggers/delays, and other effects. At this point, however, my budget and scope have to be limited, so this patch will serve as a dry run toward that goal, more of an installation to accompany a dance than a program that interacts with the dancer as of yet.


Now: gotta learn how to do it, and get some voiceover tracking sessions in!

Thursday, October 13, 2005


I've been plugging through the MSP tutes again in an effort to try and understand this stuff better on a second run.

I am toying with a few different ideas for midterm/final and the dance project. One will necessitate a lot of recording work so I think it might be more viable as a final or as an extension of this class' work -- the idea is to track many excerpts from a newspaper, have possibly dozens of people reading the same stories, and then triggering different samples (opening different gates) with movement (the idea at its most sophisticated) or several wireless mouse-es. I've read up a bit on sensors and am not sure what to do yet: several cameras could be very cool to use but then there's a big jitter element added to the project. That could be cool but I'm not sure I'm ready for that yet.

I'll have to make some decisions and roll with them for the 18th.

Thursday, October 06, 2005

Tempo patch

For some reason while in the course of working with tutorial No. 31, I couldn't get the "tempo" object to do anything.

I re-booted MAX and it was then fine. Wondering if in general that's something that just happens from time to time, or if it's just a bug with this object related to the patches I had open before.

Wednesday, October 05, 2005

When the current died

I experienced some computer scares this week and reformatted / backed up my Powerbook's internal HD, which needed to be done. Judging by the performance of the machine since, I came to the conclusion that the new 2 gigs of RAM I installed a week and a half ago were not right for my system. Specifically, it was causing constant reboots without warning, which was scary.

Finished the MAX tutorials this week -- my pace was OK, I guess I thought through #25 was due last week, and I'm glad it isn't because it gives me some more time to both revisit what I've already looked at, and play around with the program today. It's one of my "free" days until class at 6pm. In general, it's easy to get sidetracked making sounds with the MIDI-based patches. I'd like to mess around more with the different controls on my Oxygen8 and see what kind of noise I can make -- I never really dived into synths as more of an "organic" instrumentalist looking for synths that would just come close to "real" sounds like the B3.

Note to self: one really needs to explore the sensor-building / use aspect of the MAX community in depth if one is to have any success creating patches that interface with dance.

On that note, this week I'm going to meet with my good friend Adrienne, choreographer for VIA Dance, to talk about logistical and conceptual issues for the piece I'm going to set in motion for this class. Being able to shape my designs to her neeeds will definitely sharpen my focus.

Wednesday, September 28, 2005


So far, so good as I work my way through the tutorials for MSP and the MIDI elements of MAX. MIDI has always kind of mystified me a bit, even though I've had plenty of experiences setting it up for others' use, so I can appreciate this turn through it.

On a side note, today I finished mixing "Terry Sanford and the New South." It's a relief that it's over, I'm very grateful to have had the opportunity and it's been a fantastic start to a new aspect of my audio career in mixing for picture / post-production.

On the subject of documentaries that are just pretty rad to watch, the new Scorsese Dylan doc "No Direction Home" was stunning. It definitely merits repeated viewing, and is so comprehensive in its coverage of the 60s folk scene that Dylan was born out of and later turned his back on. While it owes a lot to the Pennebaker "Don't Look Back" picture, the recent Dylan interview footage is fantastic, and there are some other real nuggets (the Ginsburg interview, very rare JFK/Oswald footage and studio stories) that really set it apart. It was also pretty interesting to see where it diverged from "Chronicles," and what different stories were told in each bio. I'm not much of a salesman, but seriously, go get it from Netflix or buy it.

Sunday, September 25, 2005

Work, Agora, Work, Work

The Production Intensive class is living up to its name and I'm finding I have to draw upon some old, old foundations to help some of the students understand audio principles. A LOT of class time here, I really hope it's worth it -- and I really hope that the students are learning. So far we have spent most of the time with video and lighting.

I feel I am rapidly falling behind with MAX as I'm just not spending enough time on it. Tonight I've got some free time so after this, it's to the MAX patch.

But for the next two days it's a mix that I'm nervous about, the first real full-length doc I've mixed, and even though I have finished most of the work, it feels like there's a lot of responsibility on my shoulders. I want to rise to the occasion.

I worked to fill in for a co-worker at Earwax today and wish I hadn't. Feeling drained when the work that I really want to do has not been touched is, for lack of a better word, crappy. I just have to get through this week. I have to.

Found a free moment to at least witness some creativity yesterday. Went to Agora with Jenny and Kevin from the New School. Use of the McCarron Pool space in Greenpoint was definitely cool to see. I am not sure that everything that Noemie LaFrance came up with tied together thematically, and parts of the piece were far too dark in contrast to the show's highlights, which came in an immense wash of color, movement and sound. The space itself was the star, and it shone brightest when it was packed with the full ensemble. The happiest part is that this piece is to serve as a catalyst for the rehabilitation of the space, and with hope, its eventual rebirth as a public pool.

Now: gotta get back to work.

Thursday, September 22, 2005

the video mixer patch

I seem to be having the same difficulties uploading the patch .dmg that Kevin was having. So I'm going to follow his lead and post my text here, late, unfortunately.

It ain't a work of art, I just followed a lot of the leads of the tutorials, copying/pasting/blending a bit, I have to admit, after screwing around with the items and seeing what they do. I am not proud, but I think I have a relatively decent idea of what's going on. I'm anxious to see what more ambitious classmates have pulled off this week.

max v2;
#N vpatcher 89 77 1239 814;
#P origin 0 24;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 559 405 58 196617 prepend op;
#P user ubumenu 514 376 100 196617 0 1 1 0;
#X add +;
#X add -;
#X add %;
#X add ||;
#X add avg;
#X add *;
#X add /;
#X add sin;
#X add pass;
#X add !pass;
#X prefix_set 0 0 0;
#P user multiSlider 841 252 84 18 0. 1. 1 2680 47 0 0 2 0 0 0;
#M frgb 255 255 239;
#M brgb 26 132 0;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P window setfont Verdana 9.;
#P window linecount 2;
#P comment 936 246 61 472055817 live channel;
#P window setfont Verdana 10.;
#P window linecount 1;
#P comment 367 343 14 472055818 B;
#P comment 213 343 15 472055818 A;
#P flonum 381 343 35 10 0 0 0 7203 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 228 343 35 10 0 0 0 7203 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 302 343 53 472055818 scale \$1;
#P message 149 343 53 472055818 scale \$1;
#P newex 286 366 143 472055818 jit.scalebias @scale 0.;
#P newex 134 366 143 472055818 jit.scalebias @scale 1.;
#P newex 134 412 162 472055818 jit.op @op +;
#P newex 841 303 43 472055818 !- 1.;
#P comment 1089 487 15 472055818 B;
#P user jit.pwindow 172 446 322 242 0 1 0 0 1 0;
#P window setfont Verdana 9.;
#P newex 689 204 32 472055817 print;
#P window setfont Verdana 10.;
#P user jit.fpsgui 90 258 60 472055818 0;
#P message 602 277 64 472055818 vinput \$1;
#P user ubumenu 602 255 100 472055818 0 1 1 0;
#X prefix_set 0 0 0;
#X pattrmode 1;
#P newex 725 226 50 472055818 t clear;
#P newex 602 226 99 472055818 prepend append;
#P newex 602 204 32 472055818 iter;
#P user jit.fpsgui 347 260 60 472055818 0;
#P user ubumenu 427 255 105 472055818 0 1 1 0;
#X add "IIDC FireWire Video";
#X add "USB Video Class Video";
#X add "IIDC FireWire Video";
#X add "USB Video Class Video";
#X prefix_set 0 0 0;
#P newex 427 180 133 472055818 route vdevlist inputlist;
#P newex 533 226 50 472055818 t clear;
#P message 427 277 68 472055818 vdevice \$1;
#P newex 427 226 99 472055818 prepend append;
#P newex 427 203 32 472055818 iter;
#P user jit.pwindow 313 187 82 62 0 1 0 0 1 0;
#P window setfont Verdana 9.;
#P window linecount 2;
#P newex 37 624 100 472055817 bgcolor 80 100 190;
#P window setfont Verdana 10.;
#P window linecount 1;
#P message 550 131 80 472055818 getinputlist;
#P message 475 131 73 472055818 getvdevlist;
#P message 435 131 38 472055818 close;
#P message 400 131 33 472055818 open;
#P newex 314 158 122 472055818 jit.qt.grab 320 240;
#B color 5;
#P newex 201 94 95 472055818 sel 1 0;
#P comment 130 1 57 472055818 restart;
#P flonum 158 60 35 10 0. 0 1 7203 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 201 120 33 472055818 start;
#P message 147 21 43 472055818 time 0;
#P message 112 22 14 472055818 1;
#P button 112 0 15 0;
#P user jit.pwindow 69 187 82 62 0 1 0 0 1 0;
#P message 243 120 29 472055818 stop;
#P button 41 115 27 0;
#P toggle 77 54 15 0;
#P newex 77 84 82 472055818 metro 33.333;
#P message 95 118 30 472055818 read;
#P newex 70 148 127 472055818 320 240;
#P window linecount 2;
#P comment 17 55 57 472055818 play movie;
#P window setfont Verdana 9.;
#P comment 780 246 56 472055817 recorded channel;
#P fasten 4 0 6 0 82 107 46 107;
#P fasten 7 0 2 0 248 144 75 144;
#P fasten 12 0 2 0 206 144 75 144;
#P fasten 3 0 2 0 100 141 75 141;
#P fasten 11 0 2 0 152 44 198 44 198 107 75 107;
#P fasten 6 0 2 0 46 147 75 147;
#P connect 2 0 8 0;
#P fasten 10 0 5 0 117 47 82 47;
#P connect 5 0 4 0;
#P fasten 8 0 35 0 75 253 95 253;
#P connect 9 0 10 0;
#P fasten 8 0 41 0 75 351 139 351;
#P fasten 43 0 41 0 154 362 139 362;
#P fasten 52 0 40 0 564 431 316 431 316 403 139 403;
#P connect 41 0 40 0;
#P fasten 9 0 11 0 117 18 152 18;
#P connect 13 0 4 1;
#P fasten 45 0 43 0 233 361 205 361 205 339 154 339;
#P fasten 40 0 37 0 139 439 178 439;
#P fasten 9 0 15 0 117 18 206 18;
#P connect 15 0 12 0;
#P fasten 39 0 45 0 846 327 233 327;
#P connect 15 1 7 0;
#P fasten 22 0 42 0 319 332 291 332;
#P fasten 44 0 42 0 307 362 291 362;
#P connect 42 0 40 1;
#P fasten 46 0 44 0 386 361 358 361 358 339 307 339;
#P fasten 4 0 16 0 82 146 319 146;
#P fasten 7 0 16 0 248 153 319 153;
#P fasten 12 0 16 0 206 153 319 153;
#P fasten 34 0 16 0 607 317 303 317 303 154 319 154;
#P fasten 25 0 16 0 432 317 303 317 303 154 319 154;
#P fasten 19 0 16 0 480 154 319 154;
#P fasten 17 0 16 0 405 154 319 154;
#P fasten 18 0 16 0 440 154 319 154;
#P fasten 20 0 16 0 555 154 319 154;
#P connect 16 0 22 0;
#P fasten 22 0 29 0 319 253 352 253;
#P connect 16 1 27 0;
#P connect 27 0 23 0;
#P connect 23 0 24 0;
#P fasten 26 0 28 0 538 246 432 246;
#P connect 24 0 28 0;
#P connect 28 0 25 0;
#P connect 51 1 52 0;
#P fasten 27 1 30 0 493 202 607 202;
#P connect 30 0 31 0;
#P fasten 32 0 33 0 730 247 607 247;
#P connect 31 0 33 0;
#P connect 33 0 34 0;
#P fasten 27 2 36 0 554 202 694 202;
#P connect 50 0 39 0;
#P pop;

Wednesday, September 21, 2005

Week 2: anger rising, rising, falllling...

Sill working on my video-mixer patch. Getting down to the wire, hope I can finish it before midnight as I'm getting killed with reading in my other class, booking equipment + teaching + helping people catch up on what they've missed in the 2 classes I'm TAing, mixing a documentary & meeting with clients... Time for myself, expecially to be creative, is at a premium and I feel like I'm not getting the most out of this exercise, especially looking at my 'mates' work.

I'm trying not to treat these as excuses, but I would feel a whole lot better about learning the language here if I could just spend some more time with it. I feel like it needs to be daily, not on/off. I'm sure my instructor would agree. Once I finish this documentary mix next week I feel like things are going to get better.

I feel like the tutorials are helpful and I've been option-clicking everything, it all makes sense but it still doesn't come together in my head in terms of pointing me to action. (JB, thanks in advance for getting me the paper-copy of the manual, I think it will help!). I am relying heavily on looking at existing patches and applying what works out of them for me, which means I still don't totally understand what I'm inputting into the patch. I felt like this last time I started working with this program (and then left it alone for a long time) -- I understood the very basics and then got slightly lost. We'll push ahead this time.

Edit: does ANYONE know WTF the function of the "prepend append" message box is? I just don't get it. I know the flow of the router chooser/drop-down box works/depends on it, but why? I can't find this in the tutorials or ref manuals by searching.

Thursday, September 15, 2005

MAX the envelope and such

Exhibit infinity of a bad first blog, coming your way right here, so pardon me if I dispense with the formalities.

I like to listen to and hear what others have to say a lot more than I like to write it, even if I have inhabited a past life as a writer of sorts. I suppose I'll get used to it and jump on this just like any other sort of technology.

But the immediate purpose of this blog is to document my status with and share the experience of diving into MAX/MSP with my New School classmates.

So on that note...
After the first week, not a whole lot to report. Following the instructions of the tutorials is pretty straightforward and this pretty much mirrors what we were covering early on in my MAX workshop at Harvestworks, which was painfully brief. Like any software, especially programming languages, the time I spend screwing around and making patches is going to teach me a lot more than these examples, but that's part of what this class is for, giving me the deadlines and impetus to do something with this program instead of just thinking about it.

I'm sure that some real inquiries will develop as I continue here.

Until then...