Writing MOO themes

Ok, so my moo theme playing thingee works. it’s not mp3 streaming yet, but it will be very soon. (i hope. depending on how hard it is.) why not prepare for the web radio launch by writing your themes now?

Notes

Notes look like “4c#3”. the first number is the length of the note. ‘4’ indicates a quarter note. ‘8’ and eighth note. you can use any number at all that you want for the duration. bigger numbers are shorter than smaller numbers.
the ‘c#’ is the pitch. The ‘#’ can go before or after the letter. You can’t currently specify a flat, so use a sharp if you want an accidental. using sharps, is, of course, optional. note names go from a-g.
The ‘3’ is the octave. the lowest octave is ‘0’. the highest octave is as high as you want to make it, but if you get too high, you won’t be able to hear it. Octaves start with c, so the note below 4c3, is 4b2.
What notes to use? Just make some up. Or you could have your theme say something about your player or object in SolReSol. AOL_USER’s theme is SolReSol for “girl, I want your body.” seriously. Also, astute cell phone users will note that this is the same format for notes used by nokia, so you could go to a ring tones web site and copy some notes from a pop song or something

Adding the notes

you’ve got yer notes all picked out, now you want to add them.

@property me.theme "4c#3, 4c3, 3b2, 4c#3"
@chmod me.theme +r

That example puts a theme on your player object and marks it readable. you need to make it readable, or the program won’t be able to read it. If you want to add a theme to some other object, just replace “me” with the name of the object.
If you finally hear your theme and can’t stand it, you can change it.

@set smoothie.theme to "8a#2, 8#a2, 4c#3, 8a#2, 2d#3, 2f#3, 4c#3"

You could also write some verb to change your themes periodically. in the future, there will be support for a get_theme verb, so that you can modify your theme every time the verb is called.

More moo documentation

I have docs! check out http://www.xkey.com/~celesteh/computers

Moo themes

Ok, so I was looking at modifying the source code of SuperCollider to make network connections . . . what a nightmare! So instead, there will be a perl program, that SC will execute that will handle all of the text stuff and the network stuff and everything that supercollider isn’t good at. so the perl thing will do everything but make sound. (Note: maybe someone ought to add sound capablities to Perl. An OSC lib, maybe?)
Players will have the options of attaching arrays to themselves caled themes. So you would need to create a property on yourself called a theme and then put stuff in it. This theme will look *cough* just like a ring tone on a Nokia phone. Some of you have experience with cell phone ring composers and will be able to hear your theme on a phone before comiting it to yourself. I just wrote a ring tone. It goes 4d1 4a1 4b1 2c2 32d2 32#f2 8a2 8f2 8f2 16d2 16f2. It’s pretty jazzy at the end.

Anatomy of a Nokia Composition

the first number is the note duration. It is the denonominator of a fraction whose numerator is 1. So smaller numbers are faster. In musical terms, a 1 is equivalent to a whole note, 2 a half note, 4 a quarter note, 8 and 8th note, etc.
Then comes an optional # and then the note name. There are no flats. but that’s ok because in equal temperment Bb = A#. but since it’s backwards, in this case it equals #a.
The last number indicates the octave. A low number is a low octave. A d2 is an octave higher than a d1.

Garunteed support changes

You will be able to use any number, not just a power of 2, to denote duration, but it will still be in denominator format. therefore a starting number of 3 will be meaningful (in musical terms, it would be a half note triplet, since our notation isn’t so good at divisions by 3). You will be able to specify b for flat or # for sharp. Equal temperment may not be supported. Because an optional ‘b’ means flat, all the note names must be in upper case. and the final integer specifyin octave will be optional (if you don’t specify, then the program will pick an octave and your theme may get moved around, from high to low). you can pick an arbitrarily large or small octave number. the low threshold of human hearing is around 20 Hz, so octave 0 will be down there someplace. the high threshold of human hearing is around 20000 Hz, so figure out what octave number that is and that’s you upper lmit. Extremely high pitched sounds are likely to be played at a much lower volume.

yeah, yeah, ringtones

I’m not crazy about cell phone, or their ringtones, but I have to admit that this has cross-fertalization possibilities. Some phones allow you to specify different rings for different people in your addressbook. Also, some websites have the ring tones for different songs up on them. My phone plays the Indiana Jones theme song, for example. there are Ives-ian possibilities lurking danegerously around.
telnet happy.xkey.com 3333

Moo song

I’ve decided that my midterm SuperCollider project will be a program that logs into the MOO (telnet xkey.com:3333) and interprets MOO text somehow into sounds. for this, I will need to create a $room, which will be called the Music Studio and a $player for my SuperCollider program to use. It would be better if the MOO and SuperCollider could communicate through some other means, besides a fake player. But I don’t think MOO objects are allowed to make network connections and I can’t think of another way to log in. (If you know otherwise, please let me know.)
anyway, the SuperCollider program will log into the MOO and from the text, create sounds. There’s a few ways to do this. I could scan the text for particular key words, which would cause particular actions. for instance, the word “teleport” usually signifies that a new player has come in, and so when “teleport” comes across the network connection, some particular responce could occur. Or, I could do statistical analysis on the network text, changing the texture of the music based on the frequency and length of the received text. for instance, a lot of text arriving quickly would indicate that there’s a lot of activity on the MOO and perhaps the program could respond by creating a dense texture of sounds. another thing that could happen is that $plays (and other objects) could have an optional “themes” property, which would contain information meaningful to the SuperCollider patch, so it could look at your theme property and, in Wagnerian style, play your theme while you are in the room.
If you have any suggestions or ideas about how you would musically represent MOO communications, you should pass them along. to be fair, the patch output will have t be streamed, so $players can listen. so think also of what musical noises might convey useful information. If you have a desk job and can sit with headphones on, would you like to hear it play something that tells you that somebody just logged on or one of your friends is talking?
One of the local guys is giving me and old PC with linux on it, so I can set up a test streaming server. Alas, it will probably not have a fixed IP address until it passes a certain amount of testing, since xkey must be stable. Or, Mitch could put a stable RedHat PC in the CN kitchen that could get nightly builds put up on it. The PC currently there is having some sort of disk problem.
This project probably wouldn’t work well for Stony Brook, but that’s ok. I have a final project after this one.

My Copious Free Time

I’m ashamed to admit that I don’t know what “copious” means. I just know this phrase means that one is unlikely to get to whatever project is being proposed. “I’ll get to that in my copious free time.” Is it ironic? I’m so ignorant.
You may be wondering what I do with myself when I’m not reading hundreds of pages about composers, writing homework assignments in Super Collider, and sitting in 27.5 hours of lecture and 3 hours of Gamelan playing per week. Well, sometimes I walk Xena. sometimes I got the store to buy produce (alas the produce store is closed on mondays). sometimes I sleep.
I went to a party at Sumarsam’s house yesterday. He’s the professor in charge of the Gamelan. He’s also director of the grad program. He had a party for faculty, grads and gamelan players yesterday. Only a few grads came because it was not well publicized before thursday night. there are not classes on friday, so many folks go to a nearby big city for the threeday weekend and thus didn’t hear about it until it was too late. Anyway, it was groovy. there was a lot of food, all of which was really, really good. Alvin Lucier came (THE Alvin Lucier) and I heard a student comment “this is the first time that I’ve seen Alvin at a party.” I haven’t really talked to Alvin since arriving, since I didn’t think he remembered meeting me from before and he’s kind of intimidating. Well, he’s not intimidating but the famous composer thing is intimidating. Anyway, he sat down next to me and said he was “mixing” at the party and asked who I was. when I told him that I met him in the spring, he remembered that, which is good, as I was initally alarmed thinking that perhaps I had been entirely forgettable. Anyway, he asked what I was writing and I explained that I was in three seminar classes and he said that I shouldn’t spend all my time on papers or I would give composers a bad name, since we’re supossed to be lazy. He told me to bring by my latests composition project on wednesday.
So right now, I’m writing a paper about RCS (see previous post) due wednesday morning. I’m preparing a lesson plan for teaching analog synthesis to grad students and undergrads (this is a half hypothetical pedagogy exercise. I actually will be presenting synthesis to undergrads) due tuesday night. God knows what due for for the Supercollider class on tuesday. Periodically I email code to Ron (the teacher. My advisor.) that is somehow related to what we did in class, but often only barely. The class is covering SuperCollider 2.x. the latest version is 3.0bx, out for OSX instead of OS9. [You can skip the geeky stuff] My OS9 system is pretty much ded, and I like being cutting edge, so because I want the class to be useful six months from now and when I go home, i keep trying to do stuff with SC3. The main difference between 2 and 3 is kind of an obscure thing (OSC is some UCB thing that’s very popular these days and is important in SC3 and absent in SC2, so there’s a semi-major redesign), which causes many of the methods of creating a “synth” and getting it to play to be completely different. As you can imagine, getting something to play in a computer music is pretty important. the help files in SC3 contain broken code. After all, it’s only beta. Christi thinks I’m being stupid (that’s not her exact words) and I should just do what the rest of the class is doing. she has a point. OTOH, why am I taking a class to learn something that I can’t use? It’s not like I need more experience taking CS classes. Especially one taught by a music professor. Ye gods.
anyway, ron seems happy about what I’m up to. Right this very second, I’m compiling the latests CVS version of SuperCollider 3 on the computer in the recording studio. I have root passwords to all department lab machines. Go me

Perfect Lives

the geeky portion is over. skip down to here

Blue Gene Tyranny is coming here on wednesday. It has something to do with the Bechstein piano in Russel house, I think. This school is swimming in pianos. From where I’m sitting I can see four of them (and three harpsichords) in just two classrooms. But some alum decided the school needed another one and so donated a turn of the century german baby grand made by Bechstein. It has been lovingly restored and put in Russel House, an admin building. They shoudl ahve stuck it India House. India House only has an upright and something traumatic happened to it and so it sounds like it’s been possed by demons. Deborah tried tuning it, but suceeded only in lowering some of the tuning and making it sound more weird. Anyway, there’s a new (old) Bechstein and the piano-type people (which seem to be lurking around in disturbing numbers) and very excited. A concert series is going on. Angela and I went on saturday to see Neely Bruce play Debussy and Chopin on the piano. It was a house concert and we showed up when it was supossed to start and ended up sitting three rooms away from the piano, althought I was line-of-sight to the keyboard. Loud motorcycles periodically went roaring past on the main drag, and the School is conviently located right in the middle of all the emergency services, so some sirens went by, and it’s next to the Italian Catholic Church, so some bells rung. It reminded my of John Cage’s story in Interdeterminancy about Christain Wolff playing the piano. Wolff was playing next to an open window and outside noises were sometimes drowning him out. someone asked him to repeat playing the piece with the window shut. He said that he would, but the sounds coming in through the window had in no way interrrupted or interfered with the music.
I dunno what Chopin or Debussy would have thought about mid 20th century experimentalist ideas, but I was ok with it. Actually, the bells provided some unexpected nice sonorities.
Anyway, Blue Gene Tyranny is coming, so I checked Perfect Lives out of the library. This is Robert Ashley’s opera for television. BGT is in it as Buddy, the World’s Greatest Piano Player. He improved all his parts and was (i think) a mjor collaborator in the compositional process. It’s organized in seven half hour long segments. It’s “some songs about the Corn Belt and the people living in it. Or on it.” It aired on BBC 4 about 20 years ago. Despite it’s intensely American theme and that the visual FX were very similar to what would have been in a music video of that era, and thus it’s relative accessibility, it was too weird for even PBS, I guess. Anyway, Angela and I watched all of it. Deborah watched a section or two and was disturbed about the oddness of it and went to do other work, so maybe PBS was right. Actually, I’m copletely ignorant of it’s broadcat history outside of it’s BBC premiere, maybe PBS aired it. I dunno.
One of the main charecters in it, who is going to Indiana to get married is a vegetarian theosophist. Ruth Crawford Seeger was a theosophist, something I’d never even heard of before wednesday. It’s weird how things intersect like that. Dane Rudhyar and a bunch of midwestern composers in the 1920’s were also into theosophy. It got it’s start in the US at the Chicago world’s Faire in the 1890’s. I’m sure that it’s inclusion in an opera about the Corn Belt is no coincidence. (there is no coincidence.) (I’m surprised to see it classified under “occult” in dmoz. It ought to be moved. And someone ought to add @links to the theosophist composers. ok, i just emailed the editor.)

writing music

I’m writing a piece for hammer duclimer, for Deborah. It’s going to be based on the fibbonacci series. One part will be 8 – 5 – 3- 2 – 1 and the other will be 2 – 3 – 5 – 8- 5. I’m using half rests as seperators. So for 8, there will be 8 beats of information (including quarter rests) and then two beats of rest. for five, there will be five beats of information and two beats of rest. For three, there will be three beats of information and two beats of rest. I say “information” because I haven’t yet decided whether I will use solresol for musical material or a pentatonic mode (don’t worry, i don’t know what a pentatonic mode is either.) If I use solresol, I only have acess to words that are four notes long, so I will have to use rests between words, and the rests are needed to keep the words seperated, so they count as information. So one part has 29 beats and the other has 33 beats. So, if the go ostinato (that means repeating over and over again), there will be 957 beats until they line back up. If it goes at one beat per second, that’s a very repetitve 16 minute piece. I just have to get some of that down by Wednesday

That is all

I have now squandered my class time. I could have returned my overdue Perfect Lives tapes to the library. I could have downloaded the solresol dictionary. I could have gone back to sleep. My alarm clock has tweaked out. It now rings within about 15 or 20 minutes (either direction) of when I set it. the alarm thignee is analog, so it wasn’t all the precise to start out with. It and my cell phone are in danger of being flung from open windows. If I went to bed earlier, it wouldn’t bother me to wake up half an hour earlier in the morning. yeah. zzzzzzzzz