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.
back to ideas