Yudishthira's Quartet, by Barbara Benary

Programmed by Nick Didkovsky in JSyn and JMSL

This online implementation dedicated to Open Space.



Most of the comments below are taken from Barbara Benary's specification of her piece, Yudishthira's Quartet.


Yudishthira's Quartet is a double quartet for computer and live gamelan in which various musical parameters are determined by random decisions. The first version of the software was programmed by Nick Didkovsky in February of 1988 on an Amiga 1000 computer, using the experimental music programming language HMSL. The piece was premiered by Gamelan Son of Lion the same year. The version presented here was also programmed by Nick, using the music languages JSyn and JMSL.

A performance of Yudishthira's Quartet calls for the computer version performing at one end of the hall, and a live gamelan performing simultaneously (but not necessarily in tempo synch) at the other. The version presented here is only the software version (as opposed to additionally emulating the live gamelan, for example).


Yudishthira is an epic hero from the Indian Mahabharata. He is a king who compulsively gambles away his kingdom, family, and self into slavery. There are no computers in the epic, but insofar as the machine represents perfect randomness, the interplay may be seen as the imperfect randomness of man in juxtaposition to the ideal.

The numbers being randomized in this piece are 1-4 and 1-10. Four was chosen because it is a quartet in the sense that four melodic octaves may be playing in either of the "bands." Ten was chosen because the combined scales of Son of Lion's slendro and pelog yield 10 different pitches among which to choose.

The Form

The piece consists of ten sound sections with variable spaces of rest between them. Whenever playing, the instruments hold to these rhythmic relationships: Each section consists of four pitches chosen at random from Gamelan Son of Lion's tuning, which is a 10 pitch scale which results when the Slendro and the Pelog scales are merged. Players improvise melodies using these 4 pitches. The live player's score has these pitches chosen beforehand. The computer version chooses the pitches in real time. Each section also has a randomly chosen dynamic level. Again, live players have these levels prepared, the computer chooses the dynamics in realtime.

Computer program guidelines

The program cycles ten times, making the following choices each time around:
  1. A random selection of 4 notes from the combined pelog and slendro tunings.
  2. A randomly selected timbre chosen from 10 presets. All voices use the same timbre for the given section. The ten timbres should sound distinctly different from each other and should sound "electronic." Because of the multiple voices, avoid buzzy timbres.
  3. A randomly selected number of players from 1 to 4. These players represent the four octave range of the gamelan balungen instruments. Also select which of the four voices shall play, ie if there is only one voice, it need not be player #1.
  4. Random melody: every note a player hits is randomly chosen from among the four notes that characterize the section.
  5. A randomly selected loudness level out of four possible.
  6. A randomly selected duration of the sound section, of 16, 32, 64, or 128 seconds.
  7. A silence of randomly selected duration of 4, 8, 12, or 16 seconds after each section.

Comments by Nick

Some technical and personal reflections on the software realization.


EMail: Nick.Didkovsky@mail.rockefeller.edu (Nick Didkovsky)


JMSL and JSyn

JSyn is Phil Burk's realtime music synthesis language. JMSL is an experimental music programming language by Nick Didkovsky and Phil Burk, which is based on HMSL. Both JSyn and JMSL are written in Java, which allows for pieces to be presented on the Web.
For JSyn info, please visit www.softsynth.com
For JMSL info, please visit www.algomusic.com