pew pew pew…

my brain is firing in about eight different directions right now. these should be written down somewhere for myself if nowhere else.

1. my wind ensemble piece entitled beauty…beholder is almost done. I feel a lot better about it than i did about a week ago because things in the end finally started to click into place. It’s not my best work mainly because i’m out of practice writing original stuff for large groups – the last large ensemble piece i wrote was somewhere around ten years ago, and between 2004-2009 i wasn’t writing any music at all. I’m happy enough with the piece generally, it’ll just need some revision if i ever get it performed again. Hopefully it’s well received, i’m a bit tickled with the shock moment towards the end of the piece. John Cage would be proud.

2. This spring i’m going to try to start writing a percussion quartet for the Portland Percussion Group. Originally i was going to have it be all thematic about my family, but these days i tend to do better writing music based on a musical concept that i then translate to a real one as opposed to starting with a real concept that i then translate to a musical one. I think that will change as i start writing more music again and get reacquainted with how my voice translates to solid ideas.

3. Also this spring i’m planning on putting the pieces together for my musical internet installation project. Basically what i’m planning on doing is buying some muscle wire and playing with it in the hopes that i can attach it to some guitar strings and have a mechanism for heating/cooling the muscle wire and a mechanism for playing the strings that is controlled and activated by both random and controlled actions from the internet. This is very early experimental stages so i can figure out what’s possible.

4. Aside from my nienteForte concert happening this spring, Mark and i had a conversation earlier about trying to pitch playing a percussion duet for the percussion ensemble concert run by Doug Walsh, and we’re already talking about trying to write a duet for the nienteForte concert in 2014. I already have a guest ensemble tentatively lined up for that, and i want to write a piece for *that* group too, which i’ll probably start in early summer right after Jazz Fest.

5. Also in mid-spring i’m going to start thinking about marching band arranging again for Hermiston. Paul was very happy with what i did this past season, so i don’t doubt that i’ll be able to write for the group again.

6. I’m planning on putting together a new music seminar class sometime in the spring semester, a volunteer thing since i can’t officially register a course with the university at this point. I just want to get people excited about some of the music that got me excited in college as well as going out there and finding other music, newer stuff that i don’t know to keep my own creative brain fresh and current.

7. Also this spring i imagine that i’ll be in some final talks with Galaxy Interactive to figure out exactly how my contract is going to work for TerraLife, a project that they anticipate will start occupying a lot of my energy this summer.

8. Sometime a year ago, Tyler and i talked about trying to put together some sort of DDR reunion this coming summer. Originally it was going to be another sight-read tournament, but the context for that sort of thing has died out as far as we’re both concerned, so more and more i’m thinking about making it into some big Johann Sebastian Joust competition or something.

I know i’m missing something, but that’s okay. Brain will continue firing off on all of this probably until next fall. Then i can relax.

In general something that’s come to light from this past fall is that I shouldn’t try to tackle a lot of creative projects in the fall. Thankfully i had the foresight to turn down an opportunity to write a piece for Kim Walker’s fianceé who wanted the piece by around christmas. I said no mainly because i knew that the wind ensemble piece was going to take a major chunk of my time, but the thing that i didn’t anticipate was how busy the fall season was – partially brought on by my rather sudden medical issues, but also because the marching band season was much busier than i anticipated it would be and i didn’t have a whole lot of energy to devote to independent projects.

Granted, it’s not like my spring and summer isn’t occupied a great deal as well, but the method behind that busy is much more in line with creative and original efforts as opposed to the fall semester teaching and administering a marching band organization. Clearly a lot depends on exactly how the football schedule falls out, but i’m starting to come to the conclusion that my creative calendar should be much more dense in the spring and summer than in the fall.

We’ll see what happens. In the meantime, much needed website updates coming soon, time to try to send my Timpani piece off to another publisher for consideration of publishing, and keep the ball rolling.

overcoming granular limitations of the stepmania editor

Above is one of the charts i’m more proud of from DSR Squared, a refined version of some earlier attempts at the BPM speed up/freeze effect i’ve used in a few other historical charts. Someone had asked about the details of the construction of the chart to which i gave a brief answer as it was in the middle of the tourney. This is the more complete answer which explains how a fundamental flaw with the stepmania step editor engine makes this more difficult than it should be and how to work around this flaw.

I can’t take credit for this technique – this was all Tyler.

The problem: The timing window for hitting an ITG “Fantastic” or a DDR “Marvelous” or “Perfect” is measured in milliseconds. However, the stepmania step editor can only measure absolute time at a grain of centiseconds and a BPM at a grain of hundredths. For charts with no or very few BPM changes or pauses this is merely an inconvenience, but for charts that make heavy use of BPM change and pause effects, this can create significant changes to the sync of the Fantastic window in relation to the audio, particularly if the “convert BPM to pause” feature is used (which should be never).

Example: Suppose you have a song at 144 BPM and you want to have the equivalent of a quarter note (a crotchet for those in the UK) of pause somewhere in the middle of the song. A single quarter note of pause at that tempo is 0.4166666… seconds. If you use the “convert BPM to pause” feature of stepmania, it translates this to 0.42 seconds (rounding up). Again, if used once this isn’t necessarily a big deal, but if used several times, the timing window for being “on” shifts drastically since each iteration will offset the sync by 4ms. After five times of doing this, what was previously a spot on Fantastic is now an early excellent.

Solution: Know where all of your key beats will fall in absolute time.

Start by creating a “template” stepchart that has no pauses in it. After ensuring that the sync through the entire song is to your liking, identify the areas of the stepchart where you plan on putting a pause. For all of these areas, choose the eighth/quaver or quarter/crotchet note after the intended pause and record its “Current Second” on a notepad. Once you have identified all of these key beats, manually put in all of the pauses and make small adjustments when necessary to ensure that all of the key beats still fall on the correct “Current Second”. Typically this means adjusting pauses by one centisecond here and there.

It’s important to note that you should find all of your key beats and record them from the very beginning as opposed to finding just the next relevant key beat and adjusting the BPM and/or pause at that moment and then moving to the next one. The reason for this is because whenever you make adjustments to your BPM or pauses and then key in on the “Current Second”, this is still rounded to the nearest centisecond and over time can still create a sync error. When i first wrote Smooth Criminal, i did it the wrong way first – i found my first speed up/pause area, recorded the “Current Second”, wrote in the code, and moved to the next one. Because of this, the end of the chart ended up being maybe 30-40 ms off of its original sync. Checking the key beats over the entire chart from scratch, i ended up having to make quite a few pause adjustments to get it to be on, moving about every fifth pause from 22 centiseconds to 23 centiseconds.

I found it easiest to write in the pauses and BPM shifts directly in the .sm file rather than mess with the fussy F7/F8/F9/F10 method of the stepmania editor. It involved me having both open, typing in what i needed in the .sm file, “reloading from disk” in the stepmania editor, and then double-checking that the “Current Second”s fell where they were supposed to.

That’s pretty much it.

a different music video game concept

if you look at the evolution of music video gaming, some of the execution styles may be different (stomping arrows with your feet, playing fake drums or guitar) and some of the judgement granularities are different (guitar freaks gives you perfects/greats/goods/poors where guitar hero is you-get-it-or-you-don’t), but all of them follow a similar model: the performer or performers are executing based on what they see on the screen and they’re being judged based on how accurate they are to what’s happening on the screen.

I never got much into the co-op mode of guitar freaks/drummania/keyboardmania, but i’ve played Rock Band for a couple of sessions now and while i like it a lot, the nature of that particular game brings out a fundamental flaw in all of them – you’re not actually playing with other people, you just happen to be playing next to them.

As in, when you’re playing the game with someone else, what you do has no impact on how they get judged because everyone is keying off of what the game tells them, so everyone is executing in silos with the blinders on. If i’m the drummer and i start to fall behind the beat, it doesn’t matter to anyone else – they just do their own thing.

But a real band doesn’t operate like that, and marching bands/drum corps in particular can’t operate like that. Musicians have to be able to adjust to each other and listen to each other to be able to execute their best. At the extreme level, high level marching drum lines have to learn to be able to adjust and react to what’s happening around them to the millisecond sort of degree or else they sound dirty.

So i want a music video game to have the option to emulate that – to make it so that the judgement that is received is based on how the players are playing in relation to each other.

With something like Rock Band, simple enough. The drummer or the bass guitar or the rhythm guitar acts as the tempo lead, and the video game adjusts its “judgement window tempo” based on what that lead is doing. So if the drummer is the tempo lead and slows down or speeds up, the tracks slow down and speed up with him and everyone else playing has to slow down and speed up with him. Promote the idea of the ensemble truly being an ensemble.

With something like DDR, i had this idea where two players playing the same chart get judged on how closely they hit the arrows in relation to each other, so as opposed to getting a perfect by hitting your arrow within 20ms of the arrow hitting the casings exactly, you get a perfect by hitting your arrow within 20ms of your partner. Then turn on “autosync” (and furthermore autosync the music as opposed to just the visual arrows) so that if the couple slows down or speeds up, the arrows and music adjust with the couple.

If i had to build a piece of electornic music programming from scratch that could do something like that i bet i could pull at least a basic form of it off with some complex Max/MSP work. In an actual music video game that would be more challenging. If i knew the ins and outs of stepmania programming i could probably change the code to measure the judgements based on each other, but i wouldn’t be able to get the “adjust the BPM of the song based on the player’s performance” part since it’s not fundamentally built into the code (and no, speeding up the song in the extended options screen doesn’t count).

fun to think about.