[linux-audio-dev] GESM -- A paracompositional system

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] GESM -- A paracompositional system
From: Joe Miklojcik (jmik_AT_nbcs.rutgers.edu)
Date: Fri May 05 2000 - 23:27:30 EEST


GESM (all uppercase) stands for "Gesture, Event, State, Message". It is
a decomposition of one solution to the control part of a
control/synthesis system.

The whole of the GESM system may be taken as a state machine with
peculiar rules. The rules are peculiar because they are meant to
encapsulate a certain field of musical improvisation/composition while
at the same time allowing a great amount of flexibility. Because of my
fondness for stuck up phraseology, I call this a "paracompositional"
system.

In a nutshell, you make Gestures on your instruments and these trigger
certain chains of Events. Events may behave differently depending on
the State of things, may change the State of things, or may send
MIDI Messages. GESM is a definition of the way in which Gestures,
Events, States, and Messages interact. It is hoped that it is a
musically interesting definition, as well.

MAX could be taken as an environment for implementing paracompositional
systems, and as such is much more general (and daunting) than GESM.
GESM aims at locating a few paracompositonal rules that are at once
versatile and musically interesting. MAX aims at being a more general
programming environment with a focus on real time MIDI processing
(although in recent extensions MAX bleeds over into the audio signal
processing domain). Environments such as MAX are best run on general
purpose computing hardware with MIDI interfaces. GESM is designed to be
simple enough to be part of the firmware in a performer's instrument.

gesm (all lowercase) is an implementation of GESM. It is written to be
portable to even pitifully small embedded systems, yet still be useful
when run as a MIDI processor on a UNIX workstation.

Because a UNIX workstation may not have music performance sensors hooked
up to it, gesm can be configured at compile time to "emulate" a control
surface with the I/O devices that are availabe. For example, a
joystick, mouse, and computer keyboard can be used to generate
gestures. Also, an external MIDI controller can have it's MIDI output
be taken as gestures by gesm. In this way, a controller with
relatively simple firmware, such as a Zendrum or Fatar, can be given the
full benefit of GESM processing, albeit with a few bytes worth of MIDI
latency.

Presently gesm is in active development and has had one alpha release.
The source code to gesm is licensed under the GPL, and available by
anonymous CVS from sourceforge. See
http://sourceforge.net/project/?group_id=5344.

Thanks for reading.

P.S. I'm anxious to embed this sucker in some real hardware, so if
you're up to designing a MIDI controller hardware, let's talk!


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Fri May 05 2000 - 23:57:17 EEST