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 Queensland University of
Technology (QUT) music research project. jMusic is based at and
supported by the music department of QUT in Brisbane, Australia.
- 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.
|