Niffty NIFF File Viewer
Niffty is a Java applet which allows a composer to display NIFF
formatted music notation on a web page. The user can format the page
and print it using the browser's own Print function and, with the right
Java version, play it as MIDI.
There are already programs to compose musical notation and export
NIFF files, such as Lime
from CERL Sound Group. But this is shareware and someone viewing a web
page would have to download and install it. The idea of Niffy is to
just be an easy-to-use free viewer which can display NIFF files created
by Lime, etc.
NIFF is the Notation Interchange File Format. It is a standardized
specification created by music editor software companies as an
interoperable file format. For more information, see the NIFF
Niffty is still "alpha" code. Not all features work and not all
bugs are fixed.
1. Download niffty.jar
and place it in the directory for your web page. [download
2. Place your NIFF file in the same directory.
3. Add the <applet> tag to your web page. For example:
<applet code="org.niffty.Niffty.class" archive="niffty.jar"
<param name="file" value="prelude.nif">
You can view this example. This tells
the browser to use the Niffty.class in the niffty.jar you downloaded to
display the file prelude.nif. (You should change prelude.nif to your
own NIFF file.)
The width and height are chosen so that, if the applet is the only
thing on the web page, then your web page visitor can use their
browser's print function to print the music.
See the Niffty
Project Page on
to get the source and check the status of the project.
Also, there is a progammer's guide
for those who want to work with the source code.
On this site, there is a proposal for NIFF
Other Music Display Projects
There are other open source music display projects which could be
ported to Java and serve the same function as Niffty if they could
is an X-Windows, open source music notation program which is now being
moved to the Gnome platform. Rosegarden is written in C but could be
- The GUIDO Note Server
is now a Sourceforge
project for Windows. There are rumors it is being ported to Java,
which case a Niffty-type applet could be simply be a NIFF to GUIDO
- Lilypond is
also open source and creates very nice output, but the code is
unfortunately a tangled mess of several different layers and
- Denemo is a gtk+
frontend to Lilypond.
- Another interchange format under development is MusicXML, supported by
Rosegarden and NoteEdit
- Variations2 may use
some Niffty code.