composer | musician | teacher


MyPic Screenshot

A Tool for Computer-Assisted Algorithmic Composition

  • Demo Presentation => UIUC Composition Forum 2010.
  • Paper Presentation => Toronto Electroacoustic Symposium 2013 and SCI Regio IV Conference 2013.
  • Paper Published => eContact! Issue 16.3, 2.2014.

Here you will find items concerning my program MyPic. Please bear with me as this page is still under construction.


10.15.2012 => New features: more Aux fields, a new toolbar, parameter naming, auto add time to canvas, includes/exclude shortcut,

12.6.2010 => Minor bug fixes and updates.

9.15.2010 => Version 1.0 Released! I’ve run this on OS X 10.5/10.6 machines with no problems, but I believe it will also work on 10.4 (as long as you have java 1.5 +.)


Disclaimer: No warranties or guarantees, either expressed or implied, are made with regard to this program, or its output or performance. The end-user accepts this program as is, and the use of the program indicates an acceptance of responsibility for any damage occurring as a result of this use.

Version 1.0.2 (10.15.2012)

Version 1.0.1 (12.6.2010)

Version 1.0.0 (9.15.2010)


MyPic, simply put, is a tool for computer-assisted algorithmic music composition. Its purpose is to provide the composer with an interface for describing/orchestrating musical events through the use of envelopes (or functions) on a two-dimensional canvas where the x-axis denotes time and the y-axis denotes pitch. Events in MyPic, can be expressed simply as the x/y pairs that define them in time and pitch space or with the additional use of multiple auxiliary envelopes and data fields that are associated with each event. These auxiliary envelopes and data fields can be used to describe any aspect of the musical event: amplitude, density, deviation, rhythmic values, pitch sieves, etc.

As stated above, MyPic is a tool, it is not a compositional environment or a complete music composition anything. MyPic is meant to be used in conjunction with an existing algorithmic composition environment (Common Music/Grace, jMusic, Open Music, Symbolic Composer, and the like) that can make use of the exported data describing the events expressed on the canvas and in auxiliary envelopes/data, thus providing extended flexibility. MyPic’s output can then be used to do anything from describing the arrangement of gestures in an orchestra to plotting the evolution of varying parameters of an electroacoustic work. This approach of using MyPic to “drive” algorithms developed in existing algorithmic composition environments is optimal as it takes advantage of the well-established existing algorithmic environments and the familiarity that algorithmic composers have with them, allowing the composer to simply add this tool to the ones he/she uses for specific tasks rather than adding yet another environment for the composer to learn and maintain facility with.

MyPic draws inspiration primarily from the writings and works of Iannis Xenakis, especially his work on UPIC, from which MyPic draws its name in homage.

In MyPic’s current configuration, Events are structured as follows:

The Events can be exported in various formats), but the underlining structure is as follows:

{{Event Envelope}{GroupName}{AuxEnvs*}{AuxData*}}

{Next Event} and so on.

*Here AuxEnvs and AuxData would be represented as {{Aux1}{Aux2}{Aux3}...}.