EMUSIC-L Digest Volume 41, Issue 14 This issue's topics: "Baptism of Fire..." (3rd CASSIEL Performance Report.) (part 3 of 4) Your EMUSIC-L Digest moderator is Joe McMahon . You may subscribe to EMUSIC-L by sending mail to listserv@american.edu with the line "SUB EMUSIC-L your name" as the text. The EMUSIC-L archive is a service of SunSite (sunsite.unc.edu) at the University of North Carolina. ------------------------------------------------------------------------ Date: Mon, 22 Jun 1992 17:57:49 +0100 From: nick@DCS.ED.AC.UK Subject: "Baptism of Fire..." (3rd CASSIEL Performance Report.) [Part 3 of 4] At around T minus one month or so Richard and Steve Hooper were having conversations about lighting for Steve's major Offshoot piece. As I've said, it was complex. There were a couple of major problems; one was the lack of resources, since there was one lighting rig for a dozen pieces (and I don't think we even had the full Assembly Rooms rig, for that matter). The second major problem was that the stage was rigged for concerts, which is what most of the Spring Fling was about. Dance requires a different kind of stage layout. (In fact, I still maintain that it requires a floor rather than a stage.) And Steve's piece required a large wing area with lots of side-lighting. I don't remember a lot of the smaller problems and solutions right now, but I do remember it being quite complicated. I'll describe the technical rehearsals and actual performances later. Let me do some catching up on other threads. Where's my notes... Press liaison. I was through to see the Yolande Snaith Dance Quorum perform at the Glasgow Centre for Contemporary Arts back around, I dunno, March or so. I was at a "meet the performers" evening which featured Yolande being interviewed by Mary Brennan of the Glasgow Herald. (Mary also gets air-time on national radio from time to time, so we're talking Serious Critic here. She's sometimes referred to as the Dangerous Hat because (i) she's always wearing a hat and (ii) she can be rather scathing of things she doesn't like.) Yolande then fielded questions from the audience (including one from me: I was curious why... but no, that's another digression). Discussion over, I put on my coat and headed home... and some thirty seconds later, spun on my heels, headed back, introduced myself to Mary and explained that I was doing a dance/music show in Edinburgh and would she be interested in covering it. She was interested that I was a musician, and thought it important to get performances going with various collaborations between dancers and musicians and so on, rather than have dance marginalised. I think she saw what I was doing as a potentially important thread in the Scottish dance scene. My memory's a bit vague on this conversation, so I won't elaborate, but I took her phone number. This was rather academic at the time since I didn't have enough performers yet for a complete show, but once it was all go Mary Brennan got Seriously Faxed. This meeting turned out to be another one of those crucial events, I feel. Who else? Hmm. A couple of weeks before the show I was at a plink-and-boing contemporary electroacoustic concert. (OK, so I'm being uncharitable here. It was better than some of the ones I've been to in the past, and there was some interesting material, as well as another octophonic sound installation, oooh yummy.) I bumped into a music critic named Susan Nickalls who freelances for The Scotsman. She duly got Seriously Faxed. I should backstep here and mention all the press release stuff. We attended a how-to-publicise-your-show discussion which explained all about press releases, contacts, publicity and this kind of thing. I made a huge pile of notes which I never got round to looking at again. I looked at the example press releases and starting drawing up my own. I decided two things: (i) all press releases, posters, programme notes and the like were going to be machine-readable and continuously online (I wasn't going to mess around with paper at all) and (ii) they were going to look as good as I could make them in the time available. We had some photographs of Sheila and Roanne from a photo/rehearsal session, so I scanned one of these at 300dpi, took some screen dumps of Performer and MAX controls, and put something together in ClarisWorks. By this time the PowerBook was proving worth its weight in gold. It was carrying notes, things to do, diary entries, programme details, names, addresses and fax numbers. I'd have it in meetings so I could refer to notes, appointments and so on, and keep prioritised lists of reminders and things to do, of which there were a great many. It also carried the original scanned images and final artwork for posters, publicity and faxes. And I was using it for electronic mail and modem dial-ups. I faxed everything directly from the PowerBook via a TelePort, rather than messing around with paper. This is what I mean by Serious Faxing: rather than having some pasted-up and snopaked artwork running through a fax machine somewhere, I had a fully made-up page with scanned artwork and photographs which I could just spool to the TelePort's 200dpi print driver. I chose TrueType fonts so that I could have text at any size (the CASSIEL logo is 75pt) and be sure of all the text being rendered at 200dpi on the receiving fax. The idea was to hit important people's fax machines with a high-quality page rather than some typewritten-and-fed-through-the-machine lump of text. So I gave it a try, and the PowerBook spent many a happy evening plugged into my phone line and squirting stuff at the press. I don't know if the presentation quality had that much of an effect, but Mary Brennan was impressed at least. (Good.) The lead times on newspapers isn't too great since it's mainly a case of making sure the critics hear about it in time, but for events listings in what's-on magazines you have to pay attention. We had a ten-day lead time on a fortnightly events guide for which we were tracking the publication dates closely. The deadline rolled closer, and the dance correspondent of The List got Seriously Faxed. At this time I was also faxing out the publicity material for Offshoot as well - this made sense since we were running a double-bill. Actually it was a bit of a mistake, since The List got things wrong and billed the show as Offshoot with music commissioned by CASSIEL, rather than CASSIEL sharing the evening with Offshoot who had some *dance* commissioned from Steve Hooper and ... but you get the idea. If you're going to put together a press release, put the text into a little column-wide box that they can quote verbatim otherwise they'll get it wrong. And for double-bills, it might be worth separating the press releases (I sent them out as a single, two-page document). And as for the dance correspondent of The List: well, I typed up a vitriolic letter of complaint and he got most Seriously Faxed with it. At this stage I should mention Debbie, Offshoot's press officer (and also a performer in the suddenlylastsummer piece) who did a huge amount of work making phone calls, tracking down fax numbers, chasing up contacts, running around with posters, and so on. I would get frequent phone calls from Debbie with another set of fax numbers for some newspaper or other. I'd then aim the targeting computer in the right direction and set off a barrage of Serious Faxing. There were a few snail-mail letters as well, since in a few cases we were informed that that would make a better impression. Fair enough: switch driver from fax to laser printer, spin off a copy, shove it in an envelope and stick it in the snail-mail. We didn't hear a great deal from the press until the day of the show. I got a phone call from Susan Nickalls saying that she'd be there and could I hold back a complementary ticket. (I've always wondered who pays for critics' tickets and how that all works. Now I know: they tell you they want to attend and you'd bl**dy well better have somewhere for them to sit. Maybe... or are they more impressed if it's sold out?) Then somehow, on the actual day I think, I found a message sitting on my Wavestation: it was addressed to Debbie and said that Mary Brennan would be there. The box office told us that they'd pooled a couple of comps. It took a while for us to figure out what this meant. I learned a little more about press liaison after the show. During the interval (before Offshoot's show) I spent some time tearing down the rig, which was in fact a mistake; I should have been out there talking to the press. If a critic has just seen your show then I think it's quite important to catch them at the end and chat. They might want some background information or context, or they might have misconceptions about how something was organised or whatever which colours their review. It's not a case of back-patting and so on; it's a matter of communication. I don't mind criticism as long as it's constructive and honest, and not due to any misunderstanding. I didn't have a chance to talk to anyone after the show, but I did chat to Mary Brennan a couple of days later at another performance, and described the motivation behind the show, what I was trying to do, how it was put together, and so on. It was a good move; I got one or two useful contacts for future projects. On to some technicalities. The keyboard rig consisted of the following: six synthesisers (Korg Wavestation, Roland D-70, Roland D-110, Roland D-550, Roland MKS-70, Waldorf MicroWave), the first two of which have keyboards; three effects boxes (Alesis MIDIverb II, Alesis QuadraVerb, Lexicon LXP-5), a Lexicon MRC controller, two MIDI patchbays (MOTU MIDI Time Piece, Digital Music MX-8), a Studiomaster Session Mix 16:2 mixer, Fostex jackbay, and two Macintosh computers: an SE/30 8/40 running MAX and the PowerBook 140 8/40 running Performer. And there were a couple of custom-racked 80meg Quantums carrying backups. (This is a lot of gear, and I made some current measurements to see if I was in danger of blowing the spike suppressor. The entire rig draws less than 1.4 amps. That was a surprise...) Both Macintoshes had specially-configured boot partitions installed with MIDI Manager and Opcode's OMS. The SE/30 was acting as network node, configuring the MTP and driving it in Fast/1X mode (which OMS supports). The PowerBook carried a couple of Apple's vanilla MIDI interfaces, one on each serial port. (They would have been Opcode Translators, honest Marsha, but my local dealer had a row with MCM in London.) I ran OMS on both machines in case I had to swap them over in a hurry - it would just be a case of swapping OMS configuration files. The rig requires two busses of 16 channels each to address it. The SE/30 did it with the multi-cable addressing of the MTP, and the MTP did local routing/merging to/from the PowerBook on its two cables. Oh, the MRC MIDI controller sat downstream on both busses, providing MIDI volume fader control, nonsprung pitchbend and the like. You haven't asked me yet why I needed two computers. Let me come to that. The PowerBook was running Performer to provide backing sequences and control. That's all. Because Apple have seriously f*cked the Power Management firmware on all the PowerBooks, they are incapable of doing MIDI input reliably, so I could only use the PB as a MIDI source. What's more I couldn't use it as a source to drive the MTP in Fast/1X transfer mode since that requires some handshaking and the back traffic can occasionally get lost, hanging sequence playback. Make a note of that, children. The SE/30 was running MAX because it's a solid machine in terms of MIDI In/Out, and it also has rock-solid SCSI, which is something MAX tends to think it wants. What function was the SE/30 performing daddy? Well, back in November or so I was programming up the keyboard routing for Sheila's piece on the D-70 and WS when it looked like we might be going for a live show at Stirling. And I spent days and days battling with the stupid keyboards. The Wavestation isn't too bad although it doesn't have zone-switchable sustain, mod and pitchbend for MIDI destinations and doesn't allow remote MIDI control of the local (keyboard) voices. The D-70, on the other hand, is basically f*cked in the head as any kind of master keyboard. It's gobsmackingly stupid in ways I can't begin to explain, and I really didn't want to use it for anything complex. So I decided to build myself a replacement master keyboard system in MAX, complete with multiple zones, notes and controllers held across patch changes, filters on various controllers per zone, configurable patch changes and volume/SysEx transmission with programmable delay/recovery times and routing to other MAX modules like arpeggiators. Figured I could do it in a couple of days. That was a little optimistic in fact; it took me most of the week, due in part to MAX's performance deterioration when the software systems get large. Let me talk about MAX for a second. I ordered my copy direct from the US last autumn, since that gave me a slight financial saving (under $300 from the US as opposed to around $900 street price here), and it eventually arrived at the end of January, giving me something like three months to make use of it (leaving a month of breathing space before the performance: a month is a good period in which to freeze a software system that's to be used live). MAX didn't take me very long to learn (a day for the basics, two or three days to memorise most of the built-in objects and get the hang of them), but my subsequent problem was assuming that complexity-wise it would have the same characteristics as a conventional programming language in which (static) code and (instanced) data are separated. This is in fact not the case. The hassle in getting (say) MIDI code written in C or C++ or something (apart from the cosmetic engineering) is making it work, concern for the details, storage management, all this junk. But if you get a complex, sophisticated, 1-MIDI-channel processor going then making 32 of them (2 MIDI busses' worth) is easy; just make an array of the instance variables or something. MAX has the opposite problem; knocking up one-off processors is really easy, but because of the abstraction (or lack thereof) of code and instance data, replication is very expensive. At one stage my full performance substrate (on which later, maybe) occupied over 10 megabytes of RAM and took half an hour to load on an SE/30. That was because it was thirty-two instances of a processor that was, what, 300K in size. Anyway, my point here is that I had to jettison a lot of plans to do complex things in MAX. I was going to port a lot of the music from Performer to MAX in order to get better, more interactive, more organic control over it live, but I decided not to since I wouldn't know in advance how much RAM it was going to eat. I was also having other problems with MAX (bus errors and the like) due to (as far as I can tell) bugs in some of the message switching objects which have now been fixed. So, the do-everything-in-MAX plan having been shelved, it was a case of either Performer on its own or Performer+MAX. Performer on its own would mean using the onboard intelligence of the Wavestation and D-70 as master keyboards, which I've discussed above. The best answer therefore was to run Performer and MAX simultaneously. At one stage I was thinking of having some music composed using specially built arpeggiators in MAX, with Performer providing some backing sequences and setup events, so I spent an unhappy day or two trying to run MAX and Performer in sync under MIDI Manager. I think I got it working eventually, with MAX as a time source (complete with Performer-like cueing controls and markers, local bar offsets and beat counters, and MIDI clock/SPP packets running into Performer). Tempo control was never terribly intelligent though. (Running sync. from Performer to MAX would seem more sensible because of Performer's sophisticated tempo mapping, but this caused system crashes due to improper saving of the FPU state or something - David Z. explained it to me at one stage.) In the end, these ideas got scaled down, due to the long turnaround times MAX was demanding. I ended up just with a dual-manual master keyboard arrangement. There were two keyboard processors, each of which ran four zones. Each zone had a note range and filters for aftertouch, sustain, pitchwheel and modwheel. Each zone also had a set of initial setup parameters (program change and volume). The program change message could be delayed by a specified number of milliseconds so that (for example) a zone for D-70 Performance could send a program change 200msec before a zone for D-70 Patch. The volume messages were also delayed because of brain-deadness in the MKS-70 and its ilk. Because of OMS, each zone could address anything in the rig (so, two keyboards mapped to two independent MIDI busses with the zones going anywhere). In addition, there were some pseudo-destinations such as the MAX arpeggiators for Loremarie. (For the first live performances of this I used an Oberheim Cyclone but, let's face it, would you use a Cyclone if you could possibly avoid it? PS: wanna buy a Cyclone?) There were also pseudo-destinations for patch change, so zones were also switching Wavestation multiset (which requires SysEx) and toggling between local and external wave sequence sync (which also requires SysEx). What else? Oh yes, notes were indirected through a couple of tables mapped to keys so that any held note would release on the device it was playing, regardless of the current function of the zone. This functionality also extended to controllers, which were zero-latched: hold a note, pitchbend it down, switch zone to another destination, pitchbend works on the original device until it hits zero when it unlatches and maps to the new device (assuming its filter is enabled). This functionality I consider essential for a sustain pedal to do what I want it to, and extending it to other controllers was easy (as well as avoiding potential problems or the nasty side-effects of doing controller resets). Oh, and almost everything had an activity LED. The actual zone configurations were just stored in MAX preset objects attached to all the zone controls. The preset was fired by a specific MIDI receiver which knew about either the Wavestation (which can send patch changes while essentially acting as a local-off keyboard) or the D-70 (which can't do anything nearly so useful, though the front-panel buttons can be intercepted). In fact the presets were fired indirectly through popup menus so I could name each configuration and see at a glance whether it was called up - useful on a darkened stage. Both keyboards were essentially run local-control-off. What's interesting is that the opening music, which was almost pure D-70, is impossible to actually play on a D-70 due to its brain-damaged performance architecture; the control software gave me the zoning and routing I needed for it. Sigh: if you want something done properly, ... So, why two computers? Well, either machine would run both Performer and MAX together under OMS and MIDI Manager (modulo the PB's problems) since both machines are populated to 8 megs. However, neither has nearly enough peak processing power to deal with a complex MAX event and keep Performer running rhythmic stuff happily. A zone configuration, for example, fires a preset at a lot of user interface objects and does a lot of computation. And the key thing is that this all has to run at interrupt-level, so that Performer's transmission routines are blocked out for, what, 0.1 or 0.2sec or something. It's an interesting situation: both machines are powerful enough to run MAX and Performer, but neither can deliver the peak performance for the demanding interrupt-level atomic actions I was doing with MAX. (Well, I'm lying: in fact, the keyboard mapping was rather slow, and it felt like I was getting as much as a 10msec flam when layering several zones, but I didn't actually have time to optimise the MAX processors doing the work so I can't complain.) The "proper" solution: decouple the zone configuration and key mapping processes with time delays so that they aren't atomic any more. Possible, but that would have required a fair amount of time and effort. The "easy" solution: run MAX on one machine and Performer on the other. This I did. The SE/30 controlled the MIDI Time Piece and ran MAX; The PowerBook ran Performer into two vanilla MIDI interfaces (Apple ones: ker-Ch$ng) and the traffic was merged through the MTP. I froze the MAX software a month or so before the performance. I had a couple of problems which I never managed to track down. Firstly, the Wavestation would drop or hang notes (or, *something* would before reaching the zone processors). My best guess is dirty keyboard contacts, but it was so infrequent that I never tracked it down, and the WS has never done it on local notes; just those running through MAX. Second and really weird bug: on Dawn and Brigid's piece, the volume level of the vocoder modulator from Performer to the Wavestation would occasionally vary depending how loudly I played the MKS-70 from the D-70's keyboard. This one has me pretty confused, but my best guess is that it's a low-level bug either in OMS or the MTP firmware, with volume and/or controller level bytes getting misrouted in MIDI packets. If you have a better idea I'd like to hear from you. Those were the only problems I had during two months or so of rehearsals (barring two rig crashes, one due I think to the Fast/1X handshaking getting dropped by the PowerBook, which is why I had it run vanilla interfaces only, and one most likely due to a delayed crash of the MTP caused by the PowerBook screaming AppleTalk into it - never power up an AppleTalk-enabled Macintosh in a MIDI rig). Given how complex the rig is and how heavily I was using it, I consider this almost miraculous. The moral is clear: design and program carefully, test thoroughly, freeze everything a month before performance, and Use A Real Computer. I think that's about it for the technical stuff. Let me think, what next? OK, T minus 2 months or so, and I went and fell in love with one of the performers. (No names here, though I'm sure you can read between the lines if you really want to.) Actually, it wasn't quite as predictable/inevitable as all that - life ain't Hollywood. I'd been rather interested in the young lady in question for about a year, having seen her in a number of dance performances (I was the one sitting in the front row each time). Did that colour my decision to ask her to perform in my show? Yes. No. Maybe. Anyway, the situation moved from one of interest to one of emotional involvement on my part over a period of a couple of weeks of meetings, a few drinks, a pagan festival and a Nick Cave concert. Emotional involvement on my part, not hers: she was in fact firmly attached already, unknown to me, and I was just completely misreading all the signals. A real emotional crash'n'burn job, this one. Why am I telling you this? A couple of points of interest: firstly, never underestimate the emotional investment that you can make over a long period of watching from afar. Secondly, in the world of theatre and *especially* dance, nothing emotional/personal is quite as it seems. Let me come back to this at the end. So, I spent a month or so trying to put myself back together emotionally and get the music rehearsed. Just as well the MAX programming was done; it's impossible to program in a state of unrequited love (well, it is if you want the program to actually work). This was all a bit rough, and I stopped eating properly until Sheila came along one evening and took me out and fed me lasagna. This single act quite possibly saved the entire show. At this stage, of course, the various dancers were rehearsing as well. Rehearsal space/time was actually a real hassle; there aren't that many rehearsal spaces available in the city, and I spent most of my time on the phone trying to book slots in the Assembly Rooms and trying to find other sites. Even with a time and place, getting several dancers organised can be a challenge. This is where there's an interesting comparison. For me and the music, rehearsal is (technically) easy: I just get up in the morning and play it a couple of times, and again later. The actual performance requires moving the rig, setting up and all sorts of stuff. Dancers really just need a nice room with a decent floor and no hardware to shift and troubleshoot, either to rehearse or perform; but getting that room and getting all the performers together at a mutually agreeable time, is a serious hassle. [Concluded in EMUSIC-L Digest, Volume 52, Issue 15] ------------------------------ End of the EMUSIC-L Digest ******************************