What is the Episyklofoni?

Episyklofoni is a graphical musical instrument or maybe it is an interactive musical composition?

Updated 20.4.2007. Page founded 11.4.2007. © Arto Wikla.

This is version 0.9 and it is more or less a "beta". If something goes wrong, try to reload the page. If the program doesn't load or the sounds are missing in your system, I am afraid I cannot help, sorry for that... (The program has been tested in Linux' Firefox and in Windows' Firefox and IE browsers.)

Background

The Epicycle (a link to Wikipedia) is part of a geometric model to explain the variations in speed and direction of the apparent motion of the Moon, the Sun, and the planets. This explanation was developed by the Ancient Greeks, and it was the main explanation until the times of Kepler, Galilei, Newton & co. In the Ptolemaic system, the planets are assumed to move in a small circle, called an epicycle, which in turn moves along a larger circle called a deferent. So both circles rotate.

Music and astronomy had (and perhaps still have? ;-) much in common: The movements of the planets have interesting analogies in musical intervals and harmonies (see for example an interesting article I found in the Net). That is why there is the concept of "The Harmony of the Spheres". Many composers, musicians, astronoms and astrologs thought - and perhaps still think? - that music is sounding astronomy and the planets, Moon and Sun are playing celestial music!

My program, Episyklofoni, is based on those ideas. The epicyclic movement in the "space" makes sounds, the "celestial harmonies" can be heard. The name Episyklofoni is a Finnish version of "Epicyclophone". Perhaps it could be called "Wiklaphone" (as "Saxophone" :-), but I anyhow prefer the name Episyklofoni. ;-)

Originally the program was made as a Java application in 2002. In 2007 I converted this "normal" program to a Java applet, a version that can be used in a Web page.

How to play the Episyklofoni

Playing the Episyklofoni is performed by setting different parameters that change the sound, interval(s), graphical shape, speed, etc. The parameters may also (and especially!) be changed while the instrument is sounding - then you play the instrument! It is also possible to introduce chance (aleatoric elements) to change the parameters ramdomly.

Push once the Start/Stop-button to start the drawing and playing the epicycle. In the middle of the Episyklofoni there is the "playground", where the epicyclic movement is drawn. When the drawing goes to up and right, the sound goes to higher pitch. And the opposite: The more to the left and down, the lower the pitch will be.

Above the playground there are the Start/Stop- and Clear-buttons. Clicking the "playground" also clears the drawing and sets the x- and y-axis on and off. To the left there are the Midi channel selections. To the right there are the interval selections. See below.

Below the "playground" are the buttons and editable numeric fields for changing the circles' parameters, density parameters and aleatoric parameters. More info of all the parameters below.

Problems

There might be some problems in getting (and playing!) the Midi channels. No other program is allowed to use the Midi channels when this program starts. If the channels are reserved, this program will not work!

The whole business of connecting Java to Midi seems to be a little tricky and unstable! If the applet doesn't seem to start, or complains of missing classes, try again! You may also need to re-start the browser - normally reloading the page doesn't reload the applet, only the html-page! And rememember also check that Midi channels are not in use by some other program. It can also happen that the sounds just disappear - as happened to me while writing this text! Re-starting the browser helped... In these problems I am afraid I cannot help, sorry!

Setting the sound parameters:

  1. The Midi channel is selected by the buttons in the left. One and only one is always on. The meaning of the channel number (0 to 15) - what instrument each channel represents - depends on your system settings, not on the Episyklofoni! It may take several seconds to change the instrument, while Java is loading the classes...
  2. The Interval selections are to the right of the playground. You can select the main note (="0"), minor second (="b2"), major second (="#2"), minor 3rd (="b3"), pure fourth (="4"), augmented fourth (="#4"), fifth (="5"), minor sixth (="b6"), major sixth (="#6"), minor 7th (="b7") and major 7th (="#7"). Every combination of intervals and every number of notes (0 to 12) is allowed! You can listen the shape of the chord by setting the Circle and Epis radius to zero (see below).
Setting the circles' parameters:

There are two circles: the center circle ("deferent") and the circle going along the main circle, the "epicycle". Here I call them the "Circle" and "Epis" respectively. You can either edit the fields directly or push the buttons.

  1. Circle radius: This radius is given in pixels, allowed range is 0-380. The default is 100. It is also possible and intentionally allowed that part (or all) of the drawing goes outside the playground - also then it sounds, though.
  2. Epis radius: This radius is given in pixels, allowed range is 0-380. The default is 50. It is also possible and intentionally allowed that part (or all) of the drawing goes outside the playground - also then it sounds, though.
  3. Circle speed: This parameter sets the speed of the Circle. All positive and negative (Java) integers (-2147483648 to 2147483647) are allowed. Positive means clockwise rotation, negative counter-clockwise. If the speed is very fast, there migth be only a few points drawn in one rotation. In extreme cases it might even be so that it takes lots of rotations for even one point to become drawn. This feature allows you to draw (apparently) separate small circles, or (apparently) moving circles. See the examples below.
  4. Epis speed: This parameter sets the speed of the Epis. All positive and negative (Java) integers (-2147483648 to 2147483647) are allowed. Positive means clockwise rotation, negative counter-clockwise. If the speed is very fast, there migth be only a few points drawn in one rotation. In extreme cases it might even be so that it takes lots of rotations for even one point to become drawn. This feature allows you to draw (apparently) separate small circles, or (apparently) moving circles. See the examples below.
Setting the playing density parameters:

With these parameters you can affect two ways to the tempo of the generated music. Although the program might call a new sound quite often - many times a second - the actual changes are much slower. The connection between Java and Midi is not straightforward...
You can either edit these fields directly or push the buttons.

  1. 1/played pixels: This parameter tells, how often the Episyklofoni calls for a Midi sound to be played. Allowed range is 1-210, default is 1. Number 1 means that for every drawn pixel Midi sound is called. And for example value 70 says that a Midi sound is called only for every 70th drawn pixel. Actually there usually are fewer played Midi sounds than this parameter tells; especially with a small values of the parameter. There might be new calls for a sound before the previous one is loaded and played. So here there is something that cannot be totally controlled.
  2. Delay ms: This is the time waited between drawing two consecutive pixels (and perhaps calling a Midi sound with those). The time is in milliseconds (0.001 seconds). Allowed range is any non negative (Java) integer (0 to 2147483647), the default is 1.
Setting the aleatoric parameters:

By these parameters you can control the probabilities in changing other parameters ramdomly. You can either edit these fields directly or push the buttons. You can also see the changing values of the changed parameters in their fields - in real time.

  1. E-deviance %%: This is the probability that the Circle and Epis parameters change, both radius and speed. The unit is per mille. (For ex. 100 per mille is 10 percent). Allowed values are 0 to 1000, the default is 0. Big values make the image (and sound) very irregular!
  2. T-deviance %% This is the probability that the tempo parameter "1/played pixels" changes. The unit is per mille. Allowed values are 0 to 1000, the default is 0. By this parameter you can make the rhythmic structure of the music more variable.

Advice and Examples


© Arto Wikla (wikla ättä cs.helsinki.fi)
Visitor Counter by
Digits (counted by WebCounter)