Spring naar hoofdtekst

Bladmuziek met Rumor en LilyPond

Geplaatst op door ,
Laatste aanpassing op .

LilyPond

Voor het noteren van bladmuziek maak ik gebruik van LilyPond. Je schrijft een soort broncode die daarna door een compiler wordt omgezet naar bladmuziek - een heerlijk concept. Het combineert mijn twee grootste hobbies: muziek maken en programmeren.

In het begin werkte ik in een simpele editor en compileerde de bladmuziek met een commando als:

$ lilypond --pdf --output=mijn-muziek /pad/naar/mijn-muziek.ly

Frescobaldi

Daarna ontdekte ik Frescobaldi en werd het werken met LilyPond opeens een heel stuk comfortabeler. Dit programma biedt een editor, een console (met de commandline meldingen van LilyPond), een MIDI-speler en een groot vlak waarin de gegenereerde bladmuziek wordt weergegeven.

Een extreem handige functionaliteit van laatstgenoemde vlak, is dat elke noot, elke rust, bijna elk teken gekoppeld is met de cursor in de editor. Je kunt dus met één klik 'op papier' een noot in de broncode opzoeken en eventueel corrigeren.

Ook biedt Frescobaldi een grote verzameling kant-en-klare stukjes broncode voor vaakvoorkomende functies. Zo wordt de layout met titel, componist en copyright-vermelding automatisch opgemaakt. Natuurlijk moet je daarna zelf wel nog de daadwerkelijke muziek noteren.

En laat dát nou juist een monnikenwerk zijn, waar ik altijd tegen opzag. Met name complexe ritmes, die je heel makkelijk zingt of speelt, zijn een kriem om correct op papier te krijgen. Aldus ging ik op zoek naar een opname-functie binnen Frescobaldi. Dan kon ik het ritme en/of de melodie simpelweg op de piano inspelen terwijl de broncode voor me werd uitgeschreven.

Rumor

Volgens de handleiding bestaat onder GNU/Linux die mogelijkheid; met behulp van Rumor. Maar de instructies die ik vond, werkten niet goed. Of, ik zie de koppeling tussen beide programma's over het hoofd - kan ook. Ben niet voor niks slechtziend :-).

In de man-page van Rumor staat beschreven dat het met andere programma's en instrumenten samenwerkt via ALSA. Daartoe moet je wel eerst weten welke clients je met elkaar moet verbinden:

$ aconnect --list

client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 24: 'Digital Piano' [type=kernel]
    0 'Digital Piano MIDI 1'

Hier zie je in totaal drie clients, waarvan de laatste mijn digitale piano is (24:0). Daarna start je Rumor op met het volgende commando:

$ rumor --strip --explicit-duration --meter=44 \
        --key=c --tempo=94 --grain=16 --alsa=24:0,24:0

De argumenten zijn als volgt te verklaren:

  • --strip: rusten vóór de eerste en ná de laatste noot worden niet genoteerd
  • --explicit-duration: bij alle noten en rusten wordt de duur genoteerd
  • --meter=44: de maatsoort, in 2 cijfers genoteerd
  • --key=c: de toonsoort
  • --tempo=94: het tempo
  • --grain=16: de kleinste noot of rust die wordt genoteerd
  • --alsa=24:0,24:0: de verbinding met de digitale piano; eerst input (voor het invoeren van de noten), dan de output (voor het afspelen van de metronoom)

Inhoudsopgave

Klik op één van de onderstaande categorieën om de lijst met artikelen te filteren.