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.)
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.
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:
- 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...
- 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.
- 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.
- 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.
- 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.
- 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/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.
- 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.
- 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!
- 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.
- Try whatsoever combinations of parameter settings, and learn
how to use the Episyklofoni! I by myself probably have found
and tried only a tiny amount of all the possibilities.
- The default parameters will give you very "normal" epicycle.
Try changing one at a time. You can easily return a default by
entering non-numerical value to a numeric field: then the default is set.
Or if you reload the page, all parameters will be set to defaults.
- Some basic exemples (only the changed parameters are expressed here):
- Circle radius 200.
- Circle speed -50.
- Circle speed 140.
- Epis speed -100.
- Circle speed 500.
- etc, etc, ...
- Some stranger examples (only the changed parameters are expressed here):
- Circle radius 380, Epis radius 380, Circle speed 500, Epis speed
-2700: "space music"...
- Circle radius 0, Epis radius 0, E-deviance 1000.
- Circle radius 0, Epis radius 0, E-deviance gradually bigger,
starting from 0.
- etc, etc, ...
- Stranger parameters will give even stranger results. Try for ex. the
following:
- All other parameters default, but Circle speed 20000:
five small cirles.
- All other parameters default, but Epis speed -20000:
five bigger circles.
- All other parameters default, but Circle speed 33300,
Epis speed 55000: just 3 "twinkling stars", the music
will be very minimalistic.
- etc, etc, ...
- Try changing the Circle radius and Epis radius while the
Episyklofoni is playing. Also in those crazy situations
as the previous ones.
- More examples:
- (19.4.2007)
Circle radius 74, Epis radius 74, Circle speed 110, Epis speed 118:
Quite beautiful "Epicyclic Spirals"!
- (20.4.2007) By setting Circle radius and Epis radius to 100,
Circle speed to 100 and Epis speed to -100, you get a straight line.
Then by changing either the radius of the Circle or the Epis,
you get different ellipses.
And by changing the speeds you get different kinds of "flowers"...:-)
Try these and learn more!
- [ There will be more some day... ;-]
© Arto Wikla
(wikla ättä cs.helsinki.fi)
(counted by WebCounter)