next up previous contents
Next: JACK Up: Applications Previous: Using Prosper for Presentations


Music-Typesetting

  • CMN

    CMN (Common Music Notation) is a Common Lisp based music notation package. Bill Schottstaedt describes it as ``a simple little hack'' but that would be an understatement, to say the least. It outputs directly to postscript so that the rendering quality is only limited by the resolution of the viewing or printing hardware. It includes its own music postscript font. The CMN manual is available online .

    If you are at ccrma, start the cm-clm lisp image, type ``(in-package 'cmn)'' to make all cmn symbols available and enter the following score (extracted from the cmn manual):

    
     		   
    (cmn (output-file "test.eps")(size 24)
      (system brace 
        (staff treble (meter 6 8) 
          (c4 e. tenuto) (d4 s) (ef4 e sf) 
          (c4 e) (d4 s) (en4 s) (fs4 e (fingering 3))) 
        (staff treble (meter 3 4) 
          (c5 e. marcato) (d5 s bartok-pizzicato) (ef5 e) 
          (c5 e staccato tenuto) (d5 s down-bow) 
          (en5 s) (fs5 e)))
      (system bracket
        (staff bar bass (meter 6 16) 
          (c4 e. wedge) (d4 s staccato) 
          (ef4 e left-hand-pizzicato) 
          (c4 e tenuto accent rfz) (d4 s mordent) 
          (en4 s pp) (fs4 e fermata))))
    

    CMN will write a file named ``test.eps'' (.eps means encapsulated postscript) that you can view (and print) using ghostview. As before type ``gv test.eps'' to view it.

    Needless to say CMN is an incredibly versatile environment as all the power of the lisp language is available to create and manipulate scores. As with LATEXand TeX you have to learn a language but the power that it brings is worth the trouble. CMN can also be driven from a score description created in Common Music.

  • lilypond LilyPond (man page) prints beautiful sheet music. It produces music notation from a description file. Lilypond uses LATEXtypesetting language as the basic rendering engine so it shares all of its advantages.

    Here's a very short example you can test. In your favorite text editor, enter the following input, and save the file as test.ly:

    
     		   
      \score {
        \notes { c'4 e' g' }
      }
    
    To run LilyPond, you invoke ly2dvi to compile your LilyPond source file:

    
     		 ly2dvi -P test.ly        
    

    The results of the ly2dvi run are two files, test.dvi and test.ps. The postscript file (test.ps) is the one you can print. You can view the postscript file using ghostview by typing ``gv test.ps''. The dvi (device-independent) file (test.dvi) is the output of LATEXand can be viewed by typing ``xdvi test.dvi''.


next up previous contents
Next: JACK Up: Applications Previous: Using Prosper for Presentations

© Copyright 2001-2006 CCRMA, Stanford University. All rights reserved.
Created and Mantained by Juan Reyes