Monday, April 16, 2007

CComputing – Wk 6 – Messaging and Routing

CComputing – Wk 6 – Messaging and Routing: 02/04/07


Thats a tidy piece of work, just don't dig to deep..

For those of you using PCs at home and dealing with cross-compatibility issues, take note if you haven’t come across this already: The file names of your objects have a limit to how large they can be on the Macintosh platform before it has one of its interesting moments and changes the letters exceeding the limit to numbers (which only shows in the patcher window when you open the patch by itself incidentally), and therefore Max just spits out the old ‘no such object’ error in relation to the file/files in question. The only solution I could find was to rename the files with fewer characters. I hope this saves the rest of you some hair.



The random sequencer seems to finally be pushing us in a musical direction with this project. I think I may have strayed from the requested features a little in my creativity, but I think the result is interesting and musical enough regardless.



Pitch Selection:



The pitch selection in my sequencer is not necessarily specific, but allows the user to select between three sections of the keyboard for the random object to play notes from. The random object is selecting these notes from randomly loaded table objects however, and I have included a facility that allows the user to ‘draw’ in their preferred pitch and velocity if desired.

I never was any good with chords, maybe this is why...

Note delta time and duration:

I have to admit I overlooked this feature in my design, but I have created an object to deal with one of the issues arising from note lengths: The fact that when too many notes are received by a synthesiser it can cause it to crash. This can be pretty annoying when the sequencer is making some interesting music at the time. My safeguard object to counter this is exactly that – a counter that flushes any held notes when it has received 20 MIDI pitches. This feature only kicks in when the sequencer is turned on so it doesn’t annoy the user during normal operation.

Debugging:

This pretty much amounted to re-writing the whole program although certain things could be copied from the previous model. It serves me right for trying to do too much in the early stages, which only served to complicate things beyond belief.


Click here to link to online folder containing a Zip file of the patch and its associated help and object files.

Don’t forget to add the pathways to the ‘Dave’s Help’ and ‘Dave’s Object’ folders in Max file preferences before loading.


Reference:

Christian Haines: “Creative Computing Week 6 - Messaging and Routing”. Lecture presented at Tutorial Room 407, Level 4, Schultz Building, University of Adelaide. 2nd April, 2007.

5 Comments:

At 6:50 PM, Blogger John said...

An original layout, that's to be certain! I had a look at your patch, and started the Auto-shredder of course. I liked your chord slammer, although it would be neat if a program-change message could be sent for that object, resulting in an Orchestra Hit or something each time. I guess it won't be long before we can get the keyboard to do random improvisation over different chords :-) At the moment, mine just sounds like Xenakis sped up.

 
At 10:21 AM, Blogger David J Dowling said...

Indeed, my 'musical' device's improv' is also of the Xenakesque variety but I like the way the chords can vary the rhythmic feel of the output, as they are only slammed when their polyphonic limit is reached.

I had thought about incorporating program change features into the automation but time forbade it to be so..

 
At 9:56 PM, Blogger Ben said...

Heh, Shredder. Nice work, not 'vomit' looking anymore. I wanted to do some chord generation to go with my Auto Player, integrating the 'attraction' that certain chords have towards one another, but then my laziness kicked in.

 
At 10:06 AM, Blogger David J Dowling said...

Cheers Ben, my chord program is far from being that sophisticated. As you've probably already established, it simply collects one random number in the predetermined range for every tick of the metronome, then spits out the collection as a chord when the preset polyphony is reached, with either random or preset velocity.

I also pondered the possibility of a more 'tonal' device which followed certain rules of music theory but it may have to wait for my major project before it can be realised..

 
At 11:16 AM, Blogger Ben said...

I think everybody is pondering some sort of counterpoint machine. I definitely was, until 3 different people mentioned it as their idea. Now I'm not sure what I'll be doing, but I'd like to integrate a human aspect rather than a 'press play and walk away' patch.

 

Post a Comment

<< Home