
Don't know if I mentioned this to you, but this past semester my part time job was teaching middle and high school students about game design. This is the same curriculum that my team came up with last spring, now being taught to actual students.
At the end of the semester, parents were invited to come and see the games made by their children. This presented a slight problem, since some of the students weren't motivated enough to produce any assets, let alone a fully functioning game.
Hence, on the Sunday before the showcase, Chelsea and I spent 6 hours creating the most primitive game in existence based on concepts that the students had only barely fleshed out. It was my task to fill in the missing artwork (as well as help with programming), and so this is some of what I came up with.
~~

~~
1.1.09
Pixel Art for Middle Schoolers
-
esbie
,
12:32 PM
View Comments
Labels: art, Video Games
29.11.08
Korg DS-10
So I've had my Korg DS-10 for almost a month now and have assembled my general thoughts below
The Synths
There are only two of them, which is somewhat restrictive. Although, supposedly you can daisy chain these mini Korgs together to make a tiny retro orchestra, so the problem could be circumvented if that's really what's holding you back.
I love the patcher that comes with it, even if it is small (the random value generator pretty much sold me) and the synths themselves come with a whole host of ADSR envelope goodness.
Possibly the best thing about the synths are their several modes of input. Besides the keyboard and sequencer (by the way, the sequencer is quite robust--allowing you to change the gate, volume, and panning of each note), the "Kaoss" touch pad rocks my world. If you're going to use the DS as a musical instrument, the Kaoss pad is the way to go. You can configure the X and Y axes to anything like pitch, volume, or panning. Then any (x,y) coordinate you touch will activate the synth with those parameters.
The drum synths get special treatment, with four voices dedicated to the overall drum track.
The Patterns
The patterns are only 16 beats long, so if you're in 4/4 and want to be able to play 16th notes, that means each pattern is only a measure long. And, since each song holds only 16 patterns, that means only 16 unique measures of music before you have to repeat something.
The demos on the DS-10 site are particularly bad in this respect, as they just show someone choosing patterns in sequential order (which they just as easily could have programmed into the Song Sequencer).
I give XSeed a lot of props for allowing you to change the size of a pattern to arbitrary length, meaning complex time signatures (7/8 or 3/4 instead of just 4/4) are possible.
The Song Sequencer
Is also unbearably short, weighing in at 100 consecutive patterns. I composed a basic song as an example. It uses all 100 patterns and at 130bpm is less than 3 minutes in length. Clearly the Korg DS-10 is not meant for composing elaborate symphonies, but is better suited for improvisation on top of a background that repeats.
The Effects
The DS-10 comes with some nice effects, including chorus, flanger, and delay. Unfortunately the interface is sort of confusing, and I often find myself wanting to add more than one effect to a synth.
The Interface
is minimal, but not beautiful. What's sad is that I really believe they could've reached a much broader audience if they just took the time to make the interface more polished and friendly, since the 'game' itself has a pretty shallow learning curve.
The Verdict
I'll be using my DS-10 primarily for it's synth capabilities... playing with the patcher, and using the Kaoss touch pad probably more than anything else. While the patterns and song sequencer are helpful, I don't see them being able to handle more complex compositions.
That being said, This thing is pretty much a techno machine-beast. Rawk.
-
esbie
,
1:10 PM
View Comments
Labels: composition, DAW, synthesizer, Video Games
25.11.08
Contrapunkt Fall '08
Just got the recording of the Contrapunkt concert, which I'm pretty pleased with. The piece I performed is called Signal, named after the concept of the signal-to-noise ratio. The piece is essentially white noise that is filtered using LSDJ, and then run through a feedback delay in PD. While the premise is basic, the complexity comes in the real time performance of changing the noise filter, increasing the delay, etc. The piece ends with a recording of vocals sliding around on the same pitches as the white noise that's being filtered.
For those of you who haven't worked with LSDJ, the filters are based on a double digit hexidecimal number. Since I wasn't exactly sure how the filters where being applied to the white noise, I made myself a grid of expected outcomes for filtering whitenoise on c7.
Which I was pretty proud of myself for jotting down in my Moleskin. An article in the Cornell Daily Sun proclaimed Signal
"arguably the most radical piece in the concert"
And here it is:
-
esbie
,
12:22 PM
View Comments
Labels: LSDJ
20.11.08
In a Holding Pattern
Holy crap, where did November go?
Seems like things have come to a standstill after a flurry of activity. I have yet to record the gameboy piece from my midterm, and the recording of the Contrapunkt piece has yet to make its way to me (along with concert pictures). I do have a link to the newspaper article about the concert, and I'm already working on more composition ideas for my final project.
In other news, Chelsea wants me to work on a purely visual game with her next semester, which I might do if we can think of something interesting enough.
Stay tuned for more later. Maybe even pictures from the Wind Ensemble's trip to Philadelphia last weekend.
-
esbie
,
8:07 AM
View Comments
2.11.08
The Largest PD Patch I've Ever Made
Thought I'd take some time to show you the PureData patch that I created for this piece (Apologies for a long post length). The piece was performed this past Thursday and the performance went great, despite me not having tried it out on the studio's new MacBook Pro until the day of the concert.In the top left corner is the top of the patch hierarchy, which shows the master sound level of the piece. (Click on an image to enlarge it.) To the right is the "pd engine" where I keep all of the patch's internal logic. And below is what I call the dacbox. Any audio that is thrown to "dac_left" "dac_right" or "dac_out" is caught, added together, and multiplied by the master_vol before sending it to the digital to analog converter (i.e. the speakers).
Under chroma you have the innerworkings of the following idea: The patch listens to the gameboy for discreet pitches (this is what "fiddle~" does in the picture) and then will play those pitches, at random, until it is told to stop. the subpatch "chroma_memory" pictured here takes care of the first problem--listening to the gameboy. Once fiddle~ finds the midi value of the note played, we mod that value by 12 (since there are 12 tones in a chromatic scale), and OR a bitwise representation of that number to the current representation of previous notes heard. (In hindsight, storing those values in a pd table would have been clearer to understand, but this approach does appeal to the bit-twiddling geek in me.) Chroma_memory can also listen to a chord progression instead using the "receive chroma_chord" object.
Chroma_selector on the right determines which note will be played at what time. Loadbang starts the metro once the patch is loaded, and the metro's tempo is being constantly changed by the random 1000 object (where the 1000 is in milliseconds). At these random time intervals, random 12 is asked to generate a note between 0 and 11 which corresponds to one of the pitches in the chromatic scale.
Chroma_validation makes sure that the note chroma_selector has chosen to play (left inlet) is a part of the subset of notes that chroma_memory has said are OK to play (right inlet). If the selection is valid, the appropriate sound file is loaded, panned (via chroma_panner not pictured here), and thrown to dac_left and dac_right.
The fft subpatch takes whitenoise (aka "noise~"), and convolves it with the signal coming from fft_timbre (in this case, vocal harmony). The twist is that conv_lvl determines how much like the fft_timbre the whitenoise actually sounds. A similar crossfade relationship is happening between chords and strings. I'm not showing the fft-analysis subpatch here because it's identical to the timbre-stamp help example in pd.
These are my midi controls, using my Axiom25. Most of the ctlin objects are assigned to faders except for the stuff at the bottom which is assigned to buttons. Button 20 determines whether chroma listens to the gameboy, or to the chords. Button 22 starts all chord progressions, while 23 stops them all. Button 24 starts the chords without counterpoint.wav, while 25 starts only counterpoint.wav. When I say chord progressions, I mean there is a soundfile for gameboy harmony, a soundfile for string harmony, a soundfile for vocal harmony, and of course the chords sent to chroma_memory. Counterpoint.wav sounds like this:
This last subpatch is just triggering the three wav files at the bottom using various techniques. The graphical bang labeled "introduction" plays the files one time through, whereas there is also a random loop (complete with killswitch), and "end loop" which is a different loop for the end of the piece.
Even seeing every part of the patch, the final product is hard to conceptualize without hearing it. All the patch really does is set up ways for me to perform, there is no actual score here. I'm hoping to record a studio performance of the piece so I can share it here, but in the meantime let me know if this patch explanation made any sense at all :)
-
esbie
,
7:47 AM
View Comments
Labels: composition, electoacoustic, fft, PD
18.10.08
Little Sound DJ
My childhood gameboy, an lsdj cartiridge, and a pair of new headphones later, I've started composing my piece for an October 30th Midday Music concert. The inspiration for the piece comes from chiptune music, which I stumbled upon a couple months ago.
(Gameboy compliments of my mom, headphones compliments of Phil)
Little Sound DJ (LSDJ) is a cartridge for gameboy that allows a musician to create and sequence those low bit sounds that my generation has come to know and love. The actual cartridge has been out of print for a while now, you can either flash the rom to a blank cartridge like I did (via nonfinite) or search on ebay.
As far as hardware is concerned, people seem so prefer the original Gameboy sound even though LSDJ is also compatible with Gameboy Color and Gameboy Pocket. Lots of people also modify their gameboy by adding an 1/8" jack to reduce ground noise, or adding a backlight to the screen.
In LSDJ, you can choose Square Wave, Drum Kit, Speech Synth, or Noise as your instrument of choice; then use filters, envelopes, and transpositions to alter the sound any way you like. Once that's done, there's a four voice sequencer that you can use to your hearts desire. You can do some neat things like vibrato, slides, and panning which I'm excited to play with. Other things, like the drum kit and speech synth, are not as interesting to me (probably because better alternatives have appeared since ~2000 when the software was made).
I should have sound samples for you shortly, along with a big description of the PD patch I'm writing. Basically with gameboy samples and live input from lsdj, I'm hoping to make a composition which demonstrates that lowbit square waves can be used for more than just cheesy video game music. Not that I don't love cheesy video game music :)
-
esbie
,
5:55 PM
View Comments
Labels: composition, electoacoustic, Live, PD, Video Games
8.10.08
The B Word
I wanted to take a second to point out some peculiarities of my day today, before I go on vacation.
There was a big accident in the middle of college ave. today, causing traffic delays for cars and pedestrians alike. It looked like some people were severely injured, so I hope they're ok.
The Stealthcat Productions blog was marked as spam by Blogger. There wasn't anything particularly spammy about the blog, so I'm really curious what they're algorithm for spam detection is.
I'm listening to This American Life on the current economic crisis, trying to get a better understanding of this massive BAILOUT. What's peculiar about this is I've been getting emails like this from the engineering department:
We in Engineering Career Services have sensed a general anxiety among students about the economy and the availability of jobs.
We are not fortune-tellers, but from what we see at this time, it does not appear that the problems plaguing the financial and housing market sectors are having a major impact on the continuing need for engineers in traditional industries.
We in Career Services and our employer partners are perplexed to note a significant downturn in student applications (resume submissions) this year over last -- in some cases, resumes submitted to specific employers have been down by 80% or more -- both for large companies and smaller firms. We are hearing from employer after employer that they anticipate hundreds of engineering jobs to be filled this year, and they hope to fill many of those openings with cornell engineers.
It appears at this time that traditional engineering jobs will still be plentiful at the entry level, even if the total need slips by a few percentage points. In addition to energy (you can expect this sector to boom, regardless of who becomes our next president!), and defense, the need for engineers in most traditional industries is not likely to diminish much -- unlike the recession in the early 2000s, today's problems do not stem from the technical sector -- however, students seeking careers in the financial or related sectors may see some greater retraction as those industries reorganize. It is uncertain at this time how much of that downturn might spread to consulting and other business application industries, but recruiting by those industries has been fairly comparable to previous years.
As for on-campus recruiting, for many employers, not enough resumes are being submitted to even fill an interview schedule, and employers are cancelling schedules, not because they don't have jobs, but because they don't have enough applicants to warrant a trip to Ithaca.
As of this writing, the employers visiting campus DO have plenty of jobs they would like to fill with Cornell graduates. They learned lessons from the previous downturn to not overhire, and to not raise expectations by recruiting on campus when there are few jobs to fill.
They even emboldened the important points the letter in case you'd rather not read the whole thing. Offhand I find this letter quite amusing. The fact that our career services center staff "are not fortune tellers", the idea students have that this is just like the dot com boom, and the career center trying to allay our fears.
I think the most interesting part is that we have all these fears and no facts. And that maybe if we did have the facts, there wouldn't be as much fear. I wonder if this low recruitment rate is happening in other colleges.
-
esbie
,
7:42 PM
View Comments
