Art and Movies

I’ve been a big mess of stress lately, so I took a break by catching a movie and some art.

The movie I saw is Marie Antoinette. My French is not good enough for most French films and nothing is shown with English subtitles, so I end up seeing english-language movies in VO (that is – undubbed, but with French subtitles). Alas, I go to the place with some fo the greatest films in the world and I can’t watch them. So I watched this American movie instead.
The costumes were apparently accurate. The sets look exactly like Versailles. Those are the good points of the movie. All of the good points. Oh, there was one kind of nice bit where they were playing period music over a montage and it ended in a scene where there was ensemble “actually” playing the tune. I like those kinds of transitions. But, to be geeky, the strings were panned to the elft, which is fine as that’s where they were visually. To the right was an invisible harpsichord. I heard it, but I couldn’t see it. Perhaps Versailles is haunted by ghostly harpsichords. This was the high point of musical editing. The rest was waaaay more sloppy. The movie didn’t even have a score. It had no musical theme whatsoever. Usually shitty movies can be held together by a repeating musical theme (think Laura), but this gave us nothing. I think one of the period pieces came back once or twice, but mostly it was pop tunes, all of which faded out in exactly the same way when they were finished.
So in the first part of the movie, all the outdoor shots were of spring time (“isn’t it ever winter at Versailles?” I thought to myself.) Then, in the middle, all of the outdoor scenes are high summer. Near the end it’s autumn. Sort of. It’s never winter. Wow, what a compelling metaphor! How artfully done! Perhaps in the next scene there will be the 731294679126346th montage of nobles drinking, gambling and eating cake while a silly pop song plays!
Kristin Dunst had an emotional range than ran from indigestion to constipated. She spent the whole movie looking as if she had over-indulged on cheese. The dialog? boring. (There was actually a section near the end where somebody was complaining that The Marriage of Figaro was too long. The Marriage of Figaro is good, unlike some movies I can name.) the plot? what plot? The historical time period and whatnot? You never see a single peasant until the end and you don’t even see their faces. They’re some inexplicably unhappy mob. In Dangerous Liaisons, the folks at least talk to servants. This movie doesn’t even get that much class consciousness. Bah. (You know aside from the constant CAKE EATING. hey, hey, get it? get it? a nod is as good as a wink to a blind bat!)
it sucked. I wanted to leave, but I didn’t because I was eagerly awaiting seeing everyone get beheaded. But, no, it ends before then.

art

There’s a bunch of modern art installations at Jardin du Luxembourg. My favorite kind of art is this kind: casual, free to the public, small doses. I like the integration of fine art into every day surroundings rather than a temple-like museum. So Nicole and I went to see some of the art, especially the display in the Orangery. It was all kind of perplexing and captivating in the way that I think art should be. A lot of it was (male) fascination with the female body and especially female sexual response. (Something that’s fine in small doses.) Almost all of the art in general was fascinated by corporeality. There were scenes of death. Images of pregnancy. Strange images of ruined flesh forms, which hinted at a destroyed humanity. Almost all of it seemed to be coming to terms with what it means to have a body and what it means to be human. How does our physicalness and ultimately our frailty form us?
I can’t think of a musical equivalent. It may be that the medium is the message in that visual arts are more able to represent such images and ask such questions where music is necessarily about time. Or it may that composers have not asked the same questions. I don’t know how to make music that contains those ideas, but I’ll be thinking about it.
Anyway, I feel much better and kind of inspired after looking at some art. The moral of this story is to avoid American films about France.
Tags: , , ,

A class for live timing

I’ve just made a simple class to handle some timing issues for me. It’s for a tap timer in which one can tap on a button, an external device or keyboard key in order to get timing. Useful for live situations. Also compatible with BBCut. I just wrote it today, so it probably has bugs in it or misunderstandings of how clock works, but I find it’s fixing the little timing errors I get by trying to trigger things from the computer keyboard. If I’m always a bit ahead, everything works out. Easy for a tuba player (it takes like 1/16th of a second for the sound to get from a tubists lips to the end of the horn!)

To do keyboard triggering, you use the Document class. For example:

var doc, timer;

timer = TapTimer.new(32);
doc = Document.new;
doc.keyDownAction_({arg thisDoc, key;
  var time;
  if((key == $t), {
      time = Main.elapsedTime;
      timer.tap(time);
  });
});

Then, when you want something to happen according to the clock, you wrap it in a routine. From within the same doc.keyDownAction:

    if((key == $a) , {
        Routine.new({Synth(example).play; }).play(timer.tempoclock);
    }, { if ((key == $b), {
        Routine.new({Pbind.play}).play(timer.tempoclock);
    }) });

You can also pass a clock to a Pbind, but the results don’t work the way I expect them to.
Anyway, my class gets times and does a bit of averaging if you hit ‘t’ a bunch of times in the above example. It has a start_tap method, which you would use if you wanted to start playing by triggering a sample or starting to record, but only
wanted the first time you did that to be able to mess with the timing. also, it has some convenience methods for changing
the phrase length, but not the clock, in case you want to make your samples play longer or shorter. And finally, I built in the idea of a maximum length because of constrains on Buffer sizes or delay lines, but if you want your taps to be indefinitely far apart, just pass in inf as the first argument to the constructor and it will do the right thing.
It’s short, so here it is:

TapTimer {

 var <externalclock, last_time, <phrase_len, <tempo, <beats_per_phrase, mAX_LEN, timearr,
  <>error_margin;
 
 
 *new { arg max = 16, phrase_len = 4, beats_per_phrase = 4, error_margin = 0.01;
 
  ^super.new.init(max, phrase_len, beats_per_phrase, error_margin);
 }
 
 
 init { arg max = 16, len = 4, beats = 4, error = 0.05;
 
  mAX_LEN = max;
  phrase_len = len;
  beats_per_phrase = beats;
  last_time = 0;
  tempo = phrase_len / beats_per_phrase;
  externalclock = ExternalClock(TempoClock(tempo)).play;
  timearr = [];
  error_margin = error;
 }
 
 tempoclock {
 
  ^externalclock.tempoclock;
 }
 
 beats_per_phrase_ { arg beats;
 
  beats_per_phrase = beats;
  tempo = phrase_len / beats_per_phrase;
  externalclock = ExternalClock(TempoClock(tempo)).play;
 }
 
 
 start_tap { arg time;
 
  
  (last_time == 0). if ({
   ((time.notNil).not). if ({
    time = Main.elapsedTime;
   });
   last_time = time;
   "first tap".postln;
  });
 }
 
 
 tap  { arg time;
   var current, avg, fudge;
 
  ((time.notNil).not). if ({
   time = Main.elapsedTime;
  });
  
  (last_time == 0). if ({
   last_time = time;
  } , {
   current = time - last_time;

   (current <= mAX_LEN) .if ({

    avg = timearr.sum / timearr.size;
    fudge = error_margin * current;
    
    (( avg < ( current + fudge)) &&
     ( avg > ( current - fudge))). if ({
     
      timearr = timearr.add(current);
      phrase_len = timearr.sum / timearr.size;
      tempo = phrase_len / beats_per_phrase;
       externalclock = ExternalClock(TempoClock(tempo)).play;
    } , {
    
     phrase_len = current;
     tempo = phrase_len / beats_per_phrase;
      externalclock = ExternalClock(TempoClock(tempo)).play;
      timearr = [current];
     });
    }); 
    last_time = time;
  });
  phrase_len.postln;
 }
 
 double {
 
  var new_len;
  
  new_len = phrase_len * 2;
  
  (new_len <= mAX_LEN).if ({
   phrase_len = new_len;
  });
 
 }
 
 half {
 
  phrase_len = phrase_len / 2;
 
 }
 
 quad {
  var new_len;
  
  new_len = phrase_len * 4;
  
  (new_len <= mAX_LEN).if ({
   phrase_len = new_len;
  });
 
 }
 
 eight {
  var new_len;
  
  new_len = phrase_len * 8;
  
  (new_len <= mAX_LEN).if ({
   phrase_len = new_len;
  });
 
 }
}

I’ve always been more involved with coding for the interpreter, stuff like this than doing weird SynthDefs. The other day, a commenter here told me about the PitchShift UGen. I don’t know if I just missed seeing it or it’s new or what, but I have never heard of it before. It’s so exciting! Also, all the wonky, buggy granualization code I wrote to pitch shift was for naught! Sort of. So leave a comment and tell me what your favorite Ugen is. Mine is Ringz, cuz I do love the bell sounds.

Tags: , ,

Tape Music in Bainbridge Island, WA

I’m going to be in a tape music concert in Washington soon, however, I will not physically be there. My one minute piece is brand new and you’ve never heard it before. Details:

60 x 60 Pacific Rim

An evening of original works involving music technology by sixty composers from countries around the Pacific Rim. Each work lasts no longer than one minute and is accompanied by projected computer-driven visualizations. 60 x 60 is a concert containing 60 compositions from 60 different composers, with each composition being 60 seconds or less in duration. These 60 recorded pieces are performed in succession without pause, one after another, creating a 1 hour concert.

The concert is sponsored by The Island Music Guild and the Bainbridge Island Arts and Humanities Council as part of the Sharing an Ocean Paciifc Rim Festival. The event is produced by the Vox Novus Foundation in New York City and the Island Music Guild. The 60 x 60 Project is now in its fourth year of production
Date: June 06, 2006

Time: 7:00 p.m. (6:60)

Admission: $3.60 (.60 x 6)

Place: Island Music Guild Hall

10598 Valley Road

Bainbridge Island, WA 98110

Tags: ,

If you were going to do live processing of a recorder

what would you do? I have no fucking clue. The recorder player seems to want me to have a sampler, which I don’t. I have supercollider and trying to generate a sample loop is causing me mad timing problems and also, wtf is with this “live” stuff? who does things live? ok, aside from everybody else on earth. jesus god, i have like 5 days (practically) in which to pull something together and almost nothing in the way of a clue.

Last night, I dreamt that I had to pass an exam in order to get some sort of certificate from my school (have I mentioned that I got confused and missed the last class?). The exam booklet was like 100 pages long and nobody told me I only needed to do the first few pages, so I skipped over them to do the easier problems first. Also, doing the test required me to wear these headphones in a weird stretchy helmet which was squeezing my head with great force. Anyway, I got no credit whatsoever and they told me to leave. Also, the school doubled as a bike shop and Stephan, our tech guy was also a bike mechanic.
Hey, I have an idea. I could break up a recorded stream into long grains and scramble them! oh, no, wait, that sounds like shit with a recorder. no, i could learn an entirely new thing like bbcut of fft in record time only to have it (A) exhibit unexpected behavior which sounds like shit. (B) no, wait, A sums it up.
Fast solutions = fast hacking, right. I’ll have something in the next 2. 5 hours, i’m sure. @#@#%%@#Eg3tt675rfvhjksvDhjkvsdfhjkgsdfhjkfsd
Tag:

Anybody able to recommend a bbcut tutorial?

I’m trying to learn bbcut extremely quickly, so I can use it in a fast-approaching show. However, the learning curve is unfriendly and help files are probably much more useful to people who already understand the idea. Has anybody out there got a tutorial or cookbook? Also, can anybody tell me why all the name buffer classes don’t have a common ancestor or something to make them interchangeable? I mean for god’s sake, how many classes does one need? Why does SF3 not understand a bufnum message? I know people like their files, but I like delay lines and live audio and I ought to be able to do the same things with it than I can do with recorded audio. I have my own Buffer classes, but I’d like to be able to do bbcut-ish things and anyway, my classes all broke when I got a more recent build. I know I shouldn’t have upgraded right before a gig. arg.

Update

Yesterday’s SC build from Wesleyan was messed up, but today’s is ok. If you want to use BBCut, don’t just grab the most recent build, as it’s a universal binary (huzzah!!) but does not include extra libraries like BBCut. You can put them in yourself, of course, but if you’re lazy and not on an intel platform, grab the 10.3 version.
The mystical helpfile that explains all is called BBCut2Wiki. Huzzah for explaining all. But now it’s 5:30 and I have ten million things to do and no working code yet. I’m not sure doing glitch processing on a recorder (non-transverse flute) is really a good idea anyway. It’s just not glitchy. Although the performer likes loop processing, so maybe there’s hope. I just need to travel back in time a month (or two) and everything will work out great.
Tags: , ,

Bloody Vikings

I can tell that my effort to generate publicity about my upcoming concert (June 9, 8:30 pm Paris click link for details) is working because I have been getting a lot of attention lately on my podcast, via comments left by spam bots. Yes, the online poker world is abuzz, as are mortgage brokers and those who claim to have cures for male impotence. My concert will be as exciting as texas hold ’em, as . . . (I’m going to stop this train of thought pre-emptively). How much buzz you ask? Over 120 comments since this morning! I’ve never before been so popular with software agents.

However, I’m annoyed that the software agents are so self-centered. It’s as if they never even listened to the mp3s. Plus, I have it on good authority that none of them are planning to, nor are they planning to coming to my concert, so I’m testing the spam blocker Bad Behavior. If it works, I won’t need to know where to get cheep (headache) painkillers without a prescription.
P.S. If you understand the significance of the post title, you’re a big geek. The first person who can identify it will get comped in to my next show in their region. EDIT: Aside from it’s presence on the Bad Behavior page. Why do they reference it and where does it come from?
Tags: ,

Concert de Musique Expérimentale


Concert 9 June 8:30 PM
Originally uploaded by celesteh.

Featuring never-before heard works! Music so new that a lot of it has not yet even been written!

Concert de Musique Expérimentale

Vendredi 9 juin 20:30
10 rue Bisson
75020 Paris
Metro: Belleville
Flûte à bec, Cornet à bouquin, Ordinateur
Solène RIOT et Celeste HUTCHINS
Entrée: 5€

Friday June 9, 8:30 PM

10 rue Bisson
75020 Paris
Metro: Belleville
Recorder, Cornetto and Laptop
Solène RIOT and Celeste HUTCHINS
Entrance: 5€
For more information: www.berkeleynoise.com

Fucking mother’s day

In the grand spirit of internationalism that so pervades American society, mother’s day is celebrated on a different Sunday in May than every other country on earth. Which means I have yet another set of Mother’s day crap to endure, although since I mostly still consume American media, there will be less of it.

I feel a little nostalgic and not violent this year. Well, a little violent. Anyway, if you have a mom, go make nice with her even if you have some long-standing disagreement, cuz she could fall sick and die faster than you can say “hey, what just happened?” and you might never have a mothers day again. Well aside from the one a week or two from now in every other country in the world.
Tags: ,

Getting to my flat

This post is designed to enlighten those who would like to come visit me. One such person will be coming soon. I always love it when people visit because it’s fun to show people around and I actually get to those museum exhibits on my list. Plus, they tend to buy me food sometimes. Staying at my place and buying me a nice dinner is cheaper than a hotel!

If you come by plane to one of the major airports, you’re going to want to hop on the RER train and take it to the Gare du Nord. You will buy a ticket at the airport RER station. That same ticket will take you (almost) to my door. You do not need to buy a new ticket to transfer to the metro, but you must keep your RER ticket with you and be prepared to run it though the ticket machines a second time.
If you take the Chunnel, it will drop you right at the Gare du Nord. Therefore, these instructions start at the Gare du Nord.
Go to the metro. Buy something called a
carnet. (Tell the station agent “zh-uh voo-dray uh kar-nay, see voo play” and hand over 10.70€.) It’s 10 tickets all together for about 4€ cheaper than buying
them separately. Then, using one of those new tickets (unless you already have an RER ticket), get on the 5
line towards Place d’Italie. Get off at Jacques Bonsergent. When you
come out of the metro, you will be either in a little square with a
press or across the street from it. That street is called Magenta.
Go to the Presse and buy a map of paris. He sells a nice one with a
light blue cover and a pull-out map. It’s got many colors of
printing. It’s a good map.
Anyway, then turn around so you have your back to the presse. Look
down Magenta. On the left hand side of it, there is a street. Walk
up to that street. It is Pierre Chausson. I’m on the right hand of
the street. You will see just a large door and a keycode thingee. My
door code is [ask for it via email]. Go through that big door. I am the stairway on
the left. There is a list of names next to the door. My buzzer is
labelled Hutchins/Wilkins or vice versa. I am on the second floor (if
you start counting at zero). My door is on the right.
I’ve got the place until August 1st. So you could some stroll by the lovely canal, eat some crepes and some chevre, drink some wine, look at a museum or listen to a concert or just bike around.