Kottaszerkesztés LilyPonddal OSX-en

A LilyPond ugyanaz a kottaszedésben, mint a LaTeX dokumentumszedésben, minden szempontból: tipográfiai szabványoknak és konvencióknak eleget tevő, gyönyörű kimenetet generál egy szöveges formában megadott forrásfájlból. Azonban nincs könnyű dolguk azoknak, akik össze szeretnék házasítani kedvenc Leopardjukkal. Sem a LilyPond grafikus felülete, sem a magyar fejlesztésű, nagyon sokat tudó LilyPondTool nevű jEdit plugin nem működik az OSX legújabb verziója alatt.

Kompromisszumos megoldásként nekem a TeXShop használata jött be. Amit így kapunk, az a PDF-előnézet, az ismerős munkafolyamat és a szintaxiskiemelés. Sajnos a hangról forrásfájlra ugrás nem működik, valamint a generált MIDI-t is kézzel kell megnyitnunk.

  1. Telepítés: Töltsük le innen a 2.12 verziót MacOS X alá, méghozzá a G3, G4, G5 Macs (sic!) változatot, akkor is, ha Intel alapú Mac-ünk van! Szokásos módon tegyük az /Applications könyvtárba a LilyPond.app-ot.
  2. Parancssori támogatás: A PDF-generálás sajnos ékezetes fájlneveknél nem működik, így írtam egy cseles shell scriptet, ami ezt megoldja, és az ideiglenes PostScript fájlt is eltakarítja:

    #! /bin/sh
    dirname=$(dirname "$1")
    basename=$(basename "$1" .ly)
    filename="${dirname}/${basename}"
    tempname="${dirname}/.tmp"
    /Applications/LilyPond.app/Contents/Resources/bin/lilypond -o "${tempname}" "$1"
    if [ -f "${tempname}.pdf" ]; then
    mv "${tempname}.pdf" "${filename}.pdf"
    fi
    if [ -f "${tempname}.midi" ]; then
    mv "${tempname}.midi" "${filename}.midi"
    fi
    rm -f "${tempname}.ps"

    Mentsük el /usr/bin/lilypond néven, és varázsoljuk futtathatóvá:

    sudo chmod +x /usr/bin/lilypond
  3. TexShop támogatás: Mivel a piszkos munkát elvégzi a fenti script, már csak az alábbi hihetetlenül bonyolult TeXShop engine-nel kell bővíteni a repertoárt ([cci]~/Library/TeXShop/Engines/LilyPond.engine[/cci]):

    #! /bin/sh
    echo "Processing..."
    lilypond "$1"
    echo "Done."

    Itt van még egy dummy LilyPond template ([cci]~/Library/TeXShop/Templates/LilyPond.tex[/cci]):
    [cc]
    \version “2.12.2”

    \header {
    title = “”
    composer = “”
    tagline = “”
    }

    \score {
    <>

    \midi {
    }

    \layout {
    }
    }

    \paper {
    }[/cc]

    Ezután nincs más dolgunk, mint hozzátársítani a [cci].ly[/cci] kiterjesztést a TeXShop.app-hoz, és készen is vagyunk.

Még egy dolog. Ha Finale vagy Sibelius kottáinkat át szeretnénk konvertálni LilyPondba, a migrációs folyamat köztes lépéseként a MusicXML formátumot vehetjük igénybe. A Finale alapból tartalmaz MusicXML plugint, a File/MusicXML/Export… paranccsal végezhető el az exportálás. Sibeliushoz külön le kell tölteni a megfelelő plugint, ehhez ez az oldal nyújt segítséget. (A plugin batch mode-ot is támogat, ezt érdemes kihasználni.)

A MusicXML fájlokat a [cci]/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly[/cci] programmal konvertálhatjuk LilyPondba. Ez nem tökéletes, sajnos még picit bugzik a segédprogram, én főleg a dalszövegek melizmáinál tapasztaltam problémát, úgyhogy ne felejtsük el utólag átnézni az eredményt, és szükség esetén kézzel finomhangolni.

Források