An introduction to
jMusic.
by Andrew Sorensen and
Andrew
Brown
jMusic is a programming
library
written for musicians in the Java programming
language. While
still developing, this project hopes to achieve a
library that
is simple enough for newbie programmers but
sophisticated
enough to enable composers to accomplish real work,
whatever
form that may take. jMusic is designed to be used as
a
compositional medium, therefore it is primarily
designed for
musicians - not computer programmers. However, many
people find jMusic
a useful API for music software development, in
particular for digital
instrument making.
What is jMusic?
jMusic is:
- A research project that
started life at the Queensland University of
Technology (QUT) music department in the late 1990s.
- A computer assisted
composition
environment. jMusic is designed to assist the
compositional process by
providing an open but partially structured
environment for musical
exploration; it can also be used for musical
analysis and
computer music education.
- A Java package.
Programming in
jMusic is programming in Java, not in a
meta-language or scripting
environment. This means that the full power and
cross platform
independence of Java is maintained, it also means
that the more you
know
about Java programming the more useful jMusic will
be to you. Learning
jMusic can be a fun way to gain Java programming
skills while
focusing on making music.
- A Music API. jMusic is a
tool for
instrument building as well as music making. Java
applications can be
written using jMusic components. These components
include a musical
data
structure with associated modification and
translation classes as well
as some graphical user interface elements. With
jMusic you can
create your own composing tools and environment.
- Free. jMusic is an open
source
package distributed under the GNU
General
Public Licence.
It is being
developed by folk passionate about computer music
making and
developing tools for themselves and others to create
music
with. We hope you might become a part of that
community and
contribute to and benefit from the development of
jMusic as
well.
- Simple to learn, powerful
to use.
jMusic is easy to understand because it builds upon
conventions of
traditional western music. As well, interfacing
jMusic with
other music software is facilitated by easy
importing and
exporting of MIDI files and audio files. This means
that your
current knowledge and tools are not discarded when
you start
jMusic. jMusic provides an increasingly diverse
range of
visualisation and audiation utilities to help
composers see and
hear the current state of thier composition. Because
jMusic
has full access to the Java language and support
structures,
your jMusic work can be as extensive as Java allows
(and that
is VERY extensive).
Introduction
Tutorials
introduce you to the basic jMusic data structures
and the way
that they interact with Standard MIDI files (from
here in
referred to as SMF) and audio files. These tutorials
will try
to be as basic as possible often explaining
programming techniques and
ideas along the way. It is, however, assumed that
you have some
understanding of the Java programming language and a
good Java
reference
book beside the computer. It is also assumed that
you are musically
literate and understand common music notation
terminology.
There are a few more
essentials that
you must have before continuing with jMusic -
install it. The jMusic
class files contain the java byte code which make up
the jMusic library
(jmusic.jar)
which you will need, along with the inst
directory, to add to your Java CLASSPATH.
See the download pages to get the jMusic class files and information on installing jMusic.
A word of warning - this code is constantly
evolving and your
best bet of an updated, and therefore more groovy
and
fulfilling, jMusic tree is to compile from source
files rather
than use the jmusic.jar file, which is not so hard
really. The
latest version of jMusic source is available
via CVS.
And finally our email addresses, for when the shit really hits
the fan. You'll
find we're extremely caring persons who will help
you with any problems
you may have, NOT. But seriously, we will try to
get back to you
within a day or two.
Good luck and happy music
making.
Andrew & Andrew
Thanks!
The following people have
provided
significant support and additions to the jMusic
classes and/or
tutorials:
Andrew Troedson, Adam
Kirby, Rene
Wooller and Tim Opie.
|