projects - bands - pieces

 
 
 
 
 

Home
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Draco



DRACO (Digital Recursive And Controllable Oscillators) is an ongoing experimental music platform, currently available under Opcodeís MAX program. The first version controlled parameters of a DX-100 using MIDI system-exclusive messages. Later Versions have added compatibility with the Lexicon LXP-5 and with MIDI controlled real time sampling and manipulation, using Chino Shuichiís usnd object in conjunction with a Draco interface.

The essential nature of the first Draco is simple enough. Four Mod Players, each controlling a different parameter of the object. The player called lfo.gen* is nothing more than a metro object attached to either a counter or a random object, playing from one of three table objects, with inputs for control. The player object is under direct control from the Mac keyboard using a rather intricate setup involving all the keys found in a column, starting with function keys (which start or stop the player object) and continuing diagonally downwards (1,Q,A,Z). The shift key is used as well, so each key has two values, giving finer control of the player. The parameter values for lfo.gen* correspond to the default table size settings which are 0-127, but in the case where a smaller value is needed (such as the DX-100ís algorithm parameter (between 1 and 8)), there is an object that permits these numbers to "roll over" once exceeding the maximum value available for that parameter.

For the DX-100 player object, the first Mod Player is generally hardwired to control MIDI note-ons, in much the same way as a sequencer would using the table as note material. The second Mod Player usually controls volume but can be switched by keyboard to control other parameters. The parameters available for control are:

Note on-offs, Duration of Note on-offs (Hardwired to Mod Player 1)

Volume

Pitch Bend

Algorithim

Operator 1 Freq

Operator 2 Freq

Operator 3 Freq

Operator 4 Freq

Lfo Speed

Lfo wave

These are menu selectable under three of the four players by using the shift key and the bottom keys X,C, and V, or the trackpad.

One of the great thing things about Max is its ability to memorize the position of every knob and turn it into a preset setting which can recalled. Early in the design of Draco, I began using the preset object, at first by itself, then I added MIDI keyboard input of the DX-100, using the keys themselves as switches to control and recall presets. Suddenly, it became a much more responsive instrument in performance, and I could switch between preset play and regular play if I liked the sounds. There is now rough control of timbres available from the concentrated action of switching between presets using the MIDI keyboard and pitch and Mod wheels, and finer control of parameters (given the limitations of the Mac keyboard as a control interface) available from the computer keyboard itself. My next step was to add another MIDI device to this setup and I chose the Lexicon LXP-5 as a candidate.

The LXP-5 player is essentially the same as the DX-100 Player, although its control is mapped to different keys, it has three Mod Players only, and does not have a hard wired Mod Player for any specific parameter. However, it does have some interesting additions. One of the more prominent features of the LXP-5 is its pitch changer, so I created the ability to "play" the pitch changer by means of the MIDI keyboard. In addition to this, there are inputs for 4 MIDI controllers (formerly used with the MCS control box) hardwired to the Delay 1 and Delay 2 Coarse/Fine parameters and the Delay 1 and 2 Feedback parameters, allowing for more dramatic changes in sound. The preset playing ability is included with the player, but few presets have been defined at this point.

The next evolution of the Draco project was to add the ability to record, playback and manipulate live sound with an external microphone, using an external MAX object called usnd by Chino Shuichi (or ichi, as he is called). Usnd is a bit like the snd object in that it plays sound resources, but it offers the ability to play dynamically selectable sound regions, playable in reverse as well as forwards, pitch changing on the fly with MIDI Pitch Bend or keyboard control, polyphony (up to 4 voices), and dynamic volume control. I first used ver 1.13 for 68K Macintoshes, which had some stability problems, (the unit could only record at default resolution (8 bit, 22Khz) and any attempt to operate the si object (included with usnd, to allow custom configuration of sound quality) in order to change the sound resolution would result in an immediate crash) in addition to low sound quality. Later on, I managed to upgrade MAX to the current version of usnd which has been updated and compiled for FAT (PowerPC). I also upgraded the hardware to a Powerbook 5300, which (in combination with the now working si object) added the ability to record near CD quality audio. Because of the code base changes to the program (going from 68K to FAT), I ended up having to recreate several Draco objects again in order to make them work, in addition to changing the usnd player, which was controlled in a different manner than its predecessor was. This has been done in a fairly rough way at this point, but will require some more fine tuning before version 2.0 of Draco will function correctly. Currently the parameters under realtime control are: Pitch, Region (not fully implemented yet) and Volume. Region Reversing and Mirroring are available, but not under keyboard control as yet. Also not yet implemented is panning control, which will be available soon.

Future expansion of Draco:

The Draco project is still very much in the early stages, and is only one of three parts intended for the future HIDRA project. Initial future expansion plans for Draco are to create an interactive Draco module, expand the DSP (including multi channel) on it by using MSP in conjunction with MAX on an even faster Powerbook., and create a custom control interface for it that allows for easy reconfiguration of parameters within the environment.
 

Home
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

HIDRA (Human Interactive Digtal Reprocessing Apparatus)


For some time I have been interested in a coherent method to organize seemingly random data from many sources (the Internet, sensors, realtime controllers) and use it as a basis for controlling manipulation of sound and music. The basic approach that I envision is that of someone listening to their environment (ala Cage), but with an abstract filter which has been set up in specific ways to map that "listening" into a particular focus. A perfect analogy would be something like a tree. There are rules that must be obeyed, but within these rules are an infinite amount of variation available.

The basic setup of HIDRA consists of three components. The first component is the source component. This will vary in complexity, depending on what source is being "sampled" (i.e. a MIDI keyboard is easy to get data out of, while a light sensor would involve hardware and a MIDI converter box). One of the chief interests I have for use as a source, is data found on the Internet in various forms, from Web hits to stock prices. This data is an abstract representation of the activities of people and as such is similar in a way to Cage using radios for his Imaginary Landscapes piece. This Internet data would come in from a UNIX/LINUX box running a PERL program sampling data from various IP addresses and would then have to be organized and collated into TCP ports (part of the programís job would be to conform all data to some type of specific parameter range (like 0 to 127)), at which point the information would be sent over Ethernet to a Mac running MAX/MSP. The input coming into MAX then goes to the second object, labeled tiamat, which is a configurable filter mapping the data onto definable templates. The templates can be configured in a number of ways, using conditional arguments or formulas, or envelopes, or even control sources like other Mod Players, filters or data streams. The filtered output of a tiamat object goes into a corresponding Draco Mod Player, which then controls any number of sound or sound manipulation parameters. The configuration possibilities are truly staggering, since each Mod Player has at least 7 or 8 controllable parameters available on it, and there are at least three Mod Players in an object. Due to the incredible complexity of routing provided by this setup it will be wise to start very simply, and gradually increase the complexity in later revisions of HIDRA. The essential goal of the HIDRA project will be as more of a provider of a programmatic or themed approach to sound manipulation, based on whatever sources are chosen at the time. HIDRA can be considered to be the frame, canvas, brushes and palette selection in a sound "painting", where the Draco component provides the application of these to the canvas itself.

The timeline for HIDRA is going to be much more involved than that of Draco itself. I believe than in about a year from now I will be able to test a simple version of the Internet based manipulation, using either two computers or one computer with two processes, hooked to a fast internet connection. Future expansion will follow afterwards, and will be greatly aided by grants and other funding to work in specific environmental situations (on-line performances, electronic festivals, etc). HIDRA can also be used as accompaniment to other scored works I may later write.
 
 
 

Home