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.

Byrd by esbie


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.

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:

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.

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 :)