Editors de partitures

De wikijoan
Salta a la navegació Salta a la cerca

comparativa de programes d'edició de partitures en el món Linux:

Lilypond

http://lilypond.org/

Lilypond front ends: Denemo, Canorus and Rosegarden

Documentació

Partitures en format lilypond i del domini públic:

Tutorial

Hi ha un tutorial de lilypond en castellà: http://www.contrabajo.org/laclavedefa/tutorial-lilypond/index.html

Segueixo el manual http://lilypond.org/doc/v2.12/Documentation/user/lilypond-learning.es.pdf per fer els primers exemples.

Comencem amb el més senzill. Editem el fitxer prova.ly, i generem el pdf en línia de comandes:

{
c' e' g' e'
}

$ lilypond prova.ly
GNU LilyPond 2.6.5
Processing `prova.ly'
Parsing...
prova.ly: 0: warning: no \version statement found,  add

\version "2.6.5"

for future compatibility
Interpreting music... [1]
Preprocessing graphical objects...
Calculating line breaks... [2]
Calculating page breaks...
Layout output to `prova.ps'...
Converting to `prova.pdf'...

i efectivament puc veure el resultat obrint prova.pdf (també es genera prova.ps). Evidentment, s'han utilitzat valors automàtics: clau de sol, to de DO, negres. Que sigui el do central (c4) no és automàtic, sinó que això ho diem amb la cometa simple (').

la menera més senzilla d'introduir notes és amb relative (per escriure la nota, es suposa que respecte l'anterior nota no hi ha més de tres espais en el pentagrama):

% fixar el punt d'inici en el Do central
\relative c' {
c d e f
g a b c
}

Per tenir intèrvals de més de tres espais en el pentagrama, podem elevar una octava afegint una comenta simple ('), o baixar una octava afegint una coma (,):

\relative c'' {
a a, c' f,
g g'' a,, f'
}

La durada d'una nota s'especifica mitjançant un número després del nom de la nota.

  • 1 és rodona
  • 2 és blanca
  • 4 és negra
  • ...

Les barres de corxea s'afegeixen automàticament. Si no s'especifica la durada es suposa la mateixa durada que la nota prèvia:

\relative c'' {
a1
a2 a4 a8 a
a16 a a a a32 a a a a64 a a a a a a a a2
}

Per crear notes amb puntet s'afegeix un punt . al número de la durada. La durada d'una nota amb puntet s'ha d'especificar de forma explícita (és a dir, mitjançant un número).

\relative c'' {
a a a4. a8
a8. a16 a a8. a8 a4.
}

Un silenci s'introdueix igual que si fós una nota amb el nom r:

\relative c'' {
a r r2
r8 a r4 r4. r8
}

La indicació del compàs es pot establir amb l'ordre \time:

\relative c'' {
\time 3/4
a4 a a
\time 6/8
a4. a
\time 4/4
a4 a a a
}

La clau es pot establir utilitzant l'ordre \clef :

\relative c' {
\clef treble
c1
\clef alto
c1
\clef tenor
c1
\clef bass
c1
}

I aquí va un exemple que mostra tots els elements anteriors junts:

\relative c, {
\time 3/4
\clef bass
c2 e8 c' g'2.
f4 e d c4 c, r4
}

Interessant!: si seguim el manual en format HTML, i fem click amb el botó dret sobre una imatge de partitura (obre l'enllaç en una nova finestra), es pot veure el codi utilitzat (secció ly snippet):

%% Generated by lilypond-book.py
%% Options: [quote,alt=[image of music],indent=0\mm,verbatim]
\include "lilypond-book-preamble.ly"


% ****************************************************************
% Start cut-&-pastable-section
% ****************************************************************



\paper {
  #(define dump-extents #t)
 
  line-width = 160\mm - 2.0 * 0.4\in
  indent = 0\mm
  force-assignment = #""
  line-width = #(- line-width (* mm  3.000000))
}

\layout {
 
}



% ****************************************************************
% ly snippet:
% ****************************************************************
\sourcefileline 406
\relative c'' {
  \time 3/4
  a4 a a
  \time 6/8
  a4. a
  \time 4/4
  a4 a a a
}

Una nota con sostenido se hace añadiendo is al nombre, y una nota bemol añadiendo es.

cis1 ees fisis, aeses

La armadura de la tonalidad se establece mediante la instrucción \key seguido de una nota y \major o \minor.

\key d \major
a1
\key c \minor
a

Una ligadura de unión se crea adjuntando un carácter de tilde curva ~ a la primera nota ligada:

g4~ g c2~
c4 ~ c8 a8 ~ a2

Una ligadura de expresión es una curva que se traza abarcando varias notas. Las notas inicial y final se marcan mediante ( y ) respectivamente.

d4( c16) cis( d e c cis d) e( d4)

Las ligaduras que se utilizan para indicar fraseos más largos se pueden introducir mediante \( y \). Puede haber al mismo tiempo ligaduras de legato y ligaduras de fraseo, pero no es posible tener legatos simultáneos o ligaduras de expresión simultáneas.

a8(\( ais b c) cis2 b'2 a4 cis,\)


Las articulaciones más corrientes se pueden añadir a las notas utilizando un guión - seguido de un carácter único:

c-. c-- c-> c-^ c-+ c-_

Las expresiones de matiz o signos dinámicos se hacen añadiendo las marcas (con una barra invertida) a la nota:

c\ff c\mf c\p c\pp

Los crescendi y decrescendi comienzan con las órdenes \< y \>. La siguiente indicación de matiz, como por ejemplo \f, dará por terminado el (de)crescendo, o bien se puede usar la instrucción \!:

c2\< c2\ff\> c2 c2\!

Es posible añadir texto a la partitura:

c1^"espr" a_"legato"

Se puede aplicar un formateo adicional mediante la instrucción \markup:

c1^\markup{ \bold espr}
a1_\markup{
  \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}

Todas las barras de las figuras se dibujan automáticamente:

    a8 ais d ees r d c16 b a8

Si no le gustan las barras automáticas, pueden forzarse manualmente. Marque la primera nota que comprende la barra con [ y la última con ].

    a8[ ais] d[ ees r d] a b

Si quiere desactivar completamente el barrado automático o para una sección extensa de música, utilice la instrucción \autoBeamOff para apagarlo y \autoBeamOn para activarlo de nuevo.

    \autoBeamOff
    a8 c b4 d8. c16 b4
    \autoBeamOn
    a8 c b4 d8. c16 b4

Una anacrusa se introduce con la palabra clave \partial. Va seguida de una duración: \partial 4 es una anacrusa de negra y \partial 8 de corchea.

    \partial 8
    f8 c2 d

Los grupos especiales como los tresillos se hacen con la palabra clave \times. Requiere dos argumentos: una fracción y un fragmento de música. La duración del fragmento de música se multiplica por la fracción. Los tresillos hacen que las notas ocupen 2/3 de su duración expresa, por tanto un tresillo lleva una fracción de 2/3:

    \times 2/3 { f8 g a }
    \times 2/3 { c r c }
    \times 2/3 { f,8 g16[ a g a] }
    \times 2/3 { d4 a8 }

Las notas de adorno se crean con la instrucción \grace, aunque también se pueden conseguir precediendo una expresión musical por la palabra clave \appoggiatura o \acciaccatura

      c2 \grace { a32[ b] } c2
      c2 \appoggiatura b16 c2
      c2 \acciaccatura b16 c2

Expressions musicals simultànies: varis pentagrames:

\relative c'' {
  <<
    { a4 g }
    { f e }
    { d b }
  >>
}

Expressions musicals simultànies: un sol pentagrama: Para determinar el número de pentagramas en una pieza, LilyPond examina la primera expresión. Si ésta consiste en una sola nota, hay un solo pentagrama; si hay una expresión simultánea, hay más de un pentagrama.

       \relative c'' {
         c2 <<c e>>
         << { e f } { c <<b d>> } >>
       }

Varis pentagrames:

\relative c'' {
  <<
    \new Staff { \clef treble c }
    \new Staff { \clef bass c,, }
  >>
}

Las indicaciones de compás escritas en un pentagrama afectan al resto de ellos, de forma predeterminada. En cambio, la armadura de la tonalidad de un pentagrama no afecta a los otros pentagramas. Este comportamiento predeterminado diferente es a causa de que las partituras con instrumentos transpositores son más comunes que las partituras polirrıítmicas.

      \relative c'' {
         <<
           \new Staff { \clef treble \key d \major \time 3/4 c }
           \new Staff { \clef bass c,, }
         >>
      }

Grups de pentagrames:

\relative c'' {
  \new PianoStaff <<
    \new Staff { \time 2/4 c4 e g g, }
    \new Staff { \clef bass c,, c' e c }
  >>
}

Acords:

r4 <c e g>4 <c f a>2
r4 <c e g>8[ <c f a>]~ <c f a>2
r4 <c e g>8( <c e g>\> <c e g>4 <c f a>\!)

Polifonia en un sol pentagrama:

<<
  { a4 g2 f4~ f4 } \\
  { r4 g4 f2 f4 }
>>

Lletres de cançons:

<<
  \relative c'' {
    \key g \major
    \time 6/8
    d4 b8 c4 a8 d4 b8 g4
  }
  \addlyrics {
    Girls and boys come out to play,
  }
>>

Melisma: una síl.laba recau sobre més d'una nota: podem resoldre-ho suprimint les pliques automàtiques i fent una lligadura, o bé utilitzant el guió baix (_) (mirar documentació).

També hi ha la possibilitat de ficar lletra en diversos pentagrames.

Utilització de variables:

violin = \new Staff {
  \relative c'' {
    a4 b c b
  }
}
cello = \new Staff {
  \relative c {
    \clef bass
    e2 d
  }
}
{
  <<
    \violin
    \cello
  >>
}

Pot servir per reduir codi:

tresilloA = \times 2/3 { c,8 e g }
compasA = { \tresilloA \tresilloA \tresilloA \tresilloA }
\relative c'' {
 \compasA \compasA
}

Afegir títols:

\version "2.12.2"
\header {
  title = "Sinfon ́a"
                  ı
  composer = "Yo"
  opus = "Op. 9"
}
{
  ... música ...
}

Silencis multicomàs (multibar rests):

\set Score.skipBars = ##t R2*6

Doble barra:

\bar "||"

Barra final:

 \bar "|."

Numeració de compassos

Por defecto, los números de compás se imprimen al principio de la línea, excepto la primera. El número propiamente dicho se almacena en la propiedad currentBarNumber, que normalmente se actualiza automáticamente para cada compás. También se puede establecer manualmente:

c1 c c c
\break
\set Score.currentBarNumber = #50
c1 c c c

Repetició amb percents:

\relative c'' {
  \set countPercentRepeats = ##t
  \set repeatCountVisibility = #(every-nth-repeat-count-visible 5)
  \repeat percent 10 { c1 } \break
  \set repeatCountVisibility = #(every-nth-repeat-count-visible 2)
  \repeat percent 6 { c1 d1 }
}
\relative c'' {
  \set countPercentRepeats = ##t
  \repeat percent 4 { c1 }
}

Positioning segno and coda (with line break):

If you want to place an exiting segno sign and add text like "D.S. al Coda" next to it where usually the staff lines are you can use this snippet. The coda will resume in a new line. There is a variation documented in this snippet, where the coda will remain on the same line.

{
  \clef treble
  \key g \major
  \time 4/4
  \relative c'' {
    \repeat unfold 2 {
      | c4 c c c
    }
   
    % Set segno sign as rehearsal mark and adjust size if needed
    % \once \override Score.RehearsalMark #'font-size = #3
    \mark \markup { \musicglyph #"scripts.segno" }
    \repeat unfold 2 {
      | c4 c c c
    }
   
    % Set coda sign as rehearsal mark and adjust size if needed
    \once \override Score.RehearsalMark #'font-size = #4
    \mark \markup { \musicglyph #"scripts.coda" }
    \repeat unfold 2 {
      | c4 c c c
    }
   
    % Should Coda be on anew line?
    % Coda NOT on new line: use \nobreak
    % Coda on new line: DON'T use \nobreak
    % \noBreak
   
    \bar "||"
   
    % Set segno sign as rehearsal mark and adjust size if needed
    \once \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
    % \once \override Score.RehearsalMark #'font-size = #3
    \mark \markup { \musicglyph #"scripts.segno" }
   
    % Here begins the trickery!
    % \cadenzaOn will suppress the bar count and \stopStaff removes the staff lines.
    \cadenzaOn
      \stopStaff
        % Some examples of possible text-displays
       
        % text line-aligned
        % ==================
        % Move text to the desired position
        % \once \override TextScript #'extra-offset = #'( 2 . -3.5 )
        % | s1*0^\markup { D.S. al Coda } }
       
        % text center-aligned
        % ====================
        % Move text to the desired position
        % \once \override TextScript #'extra-offset = #'( 6 . -5.0 )
        % | s1*0^\markup { \center-column { D.S. "al Coda" } }
       
        % text and symbols center-aligned
        % ===============================
        % Move text to the desired position and tweak spacing for optimum text alignment
        %\once \override TextScript #'extra-offset = #'( 8 . -5.5 )
        \once \override TextScript #'word-space = #1.5
        \once \override TextScript #'X-offset = #8
        \once \override TextScript #'Y-offset = #1.5
        | s1*0^\markup { \center-column { "D.S. al Coda" \line { \musicglyph #"scripts.coda" \musicglyph #"scripts.tenuto" \musicglyph #"scripts.coda"} } }
       
        % Increasing the unfold counter will expand the staff-free space
        \repeat unfold 4 {
          s4 s4 s4 s4
          \bar ""
        }
        % Resume bar count and show staff lines again
     \startStaff
   \cadenzaOff
   
   % Should Coda be on new line?
   % Coda NOT on new line: DON'T use \break
   % Coda on new line: use \break
   \break
   
   % Show up, you clef and key!
   \once \override Staff.KeySignature #'break-visibility = #end-of-line-invisible
   \once \override Staff.Clef #'break-visibility = #end-of-line-invisible

   % Set coda sign as rehearsal mark and adjust size and position
   
   % Put the coda sign ontop of the (treble-)clef dependend on coda's line-position
     
     % Coda NOT on new line, use this:
     % \once \override Score.RehearsalMark #'extra-offset = #'( -2 . 1.75 )
     
     % Coda on new line, use this:
     \once \override Score.RehearsalMark #'extra-offset = #'( -8.42 . 1.75 )
   
   \once \override Score.RehearsalMark #'font-size = #5
   \mark \markup { \musicglyph #"scripts.coda" }

   % The coda
   \repeat unfold 5 {
      | c4 c c c
    }
    \bar"|."
  }
}

Impessió i espaciat

http://lilypond.org/doc/v2.12/Documentation/user/lilypond-big-page#Spacing-issues

#(set-default-paper-size "a4" 'landscape)

Crear arxius MIDI

http://lilypond.org/doc/v2.12/Documentation/user/lilypond-big-page#MIDI-output

Se traducen correctamente a la salida MIDI la altura y duración de las notas, las ligaduras de unión, matices y cambios de tempo. Las indicaciones dinámicas, crescendi y decrescendi se traducen a niveles de volumen MIDI. Las marcas dinámicas se traducen a una fracción fija del rango de volumen MIDI disponible. Los crescendi y decrescendi hacen que el volumen varía linealmente entre sus dos extremos. El efecto de las indicaciones dinámicas sobre la salida MIDI se puede eliminar por completo, véase MIDI block.

El tempo inicial y los cambios de tempo posteriores se pueden especificar utilizando la instrucción \tempo dentro de la propia notación musical. Se reflejan en cambios de tempo en la salida MIDI. Esta instrucción normalmente hace que se imprima la indicación metronómica, pero esto se puede eliminar, véase Indicaciones metronómicas. Más abajo se describe una forma alternativa de especificar el tempo MIDI inicial o global, véase MIDI block.

El nombre del instrumento MIDI se establece mediante la propiedad Staff.midiInstrument. El nombre del instrumento se debe elegir de entre los que están en la lista que aparece en MIDI instruments.

    \new Staff {
      \set Staff.midiInstrument = #"glockenspiel"
      ...notes...
    }
    \new Staff \with {midiInstrument = #"cello"} {
      ...notes...
    }


Al producir una salida MIDI, el comportamiento predeterminado es que cada pentagrama representa un canal MIDI, con todas las voces de dicho pentagrama mezcladas. Esto reduce al mínimo el riesgo de que se agote el número de canales MIDI disponibles, pues existe un máximo de 16 canales por pista.

Sin embargo, cuando se traslada el interpretador Staff_performer al contexto Voice, cada voz de un pentagrama puede tener su propio canal MIDI, como se muestra en el siguiente ejemplo: a pesar de estar sobre el mismo pentagrama, se crean dos canales MIDI, cada uno con un midiInstrument distinto.

    \score {
      \new Staff <<
        \new Voice \relative c''' {
          \set midiInstrument = #"flute"
          \voiceOne
          \key g \major
          \time 2/2
          r2 g-"Flute" ~
          g fis ~
          fis4 g8 fis e2 ~
          e4 d8 cis d2
        }
        \new Voice \relative c'' {
          \set midiInstrument = #"clarinet"
          \voiceTwo
          b1-"Clarinet"
          a2. b8 a
          g2. fis8 e
          fis2 r
        }
      >>
      \layout { }
      \midi {
        \context {
          \Staff
          \remove "Staff_performer"
        }
        \context {
          \Voice
          \consists "Staff_performer"     
        }
        \context {
          \Score
          tempoWholesPerMinute = #(ly:make-moment 72 2)
        }
      }
    }

Tempo: per ficar 72 pulsos de blanca per minut:

tempoWholesPerMinute = #(ly:make-moment 72 2)

Contemplado en el MIDI:

   * Alturas
   * Microtonos (véase Alteraciones accidentales. La reproducción necesita un reproductor que contemple la curvatura de tono o pitch bend.)
   * Acordes escritos como nombres de acorde
   * Ritmos escritos como duraciones de las notas, incluidos los grupos de valoración especial
   * Trémolos escritos sin ‘:[número]’
   * Ligaduras de unión
   * Matices o indicaciones de dinámica
   * Crescendi y decrescendi sobre varias notas
   * Cambios de tempo insertados con una marca metronómica
   * Letra de las canciones

Los siguientes elementos de notación no tienen ningún efecto sobre la salida MIDI:

   * Duraciones escritas como anotaciones, p.ej. el swing
   * Cambios de tempo escritos como anotacioens sin marca de tempo
   * Staccato y otras articulaciones y ornamentos
   * Ligaduras de expresión y de fraseo
   * Crescendi y decrescendi sobre una nota única
   * Trémolos introducidos con ‘:[número]’
   * Bajo cifrado
   * Acordes microtonales

Con un poco de trucaje, se puede hacer que cualquier tipo de repetición esté presente en la salida MIDI. Esto se consigue mediante la aplicación de la función musical \unfoldRepeats. Esta función cambia todas las repeticiones a repeticiones desplegadas.

    \unfoldRepeats {
      \repeat tremolo 8 {c'32 e' }
      \repeat percent 2 { c''8 d'' }
      \repeat volta 2 {c'4 d' e' f'}
      \alternative {
        { g' a' a' g' }
        {f' e' d' c' }
      }
    }
    \bar "|."

Al crear un archivo de partitura que use \unfoldRepeats para el MIDI, es necesario hacer dos bloques \score: uno para el MIDI (con repeticiones desplegadas) y otro para la notación impresa (con repeticiones de volta –primera y segunda vez–, tremolo –trémolo–, y percent –repetición de compases–). Por ejemplo,

    \score {
      ..música..
      \layout { .. }
    }
    \score {
      \unfoldRepeats ..música..
      \midi { .. }
    }

Mirar també en la documentació el Volum Mestre Midi i Balanç entre instruments, i Percussió

Plugin de JEdit

JEdit és un editor basat en Java:

$ sudo apt-get install jedit

Se m'instal.la la versió 4.3

plugin per a lilypond: LilyPondTool for JEdit (http://lilypondtool.organum.hu/)

LilyPondTool is the most sophisticated (ie. best) text-based development environment for LilyPond, implemented as a plugin for JEdit. It helps making LilyPond scores a lot easier.

LilyPondTool has the following features (among others):

   * Document Wizard with lyrics support to set up documents easier
   * Point-and-click support
   * Structure browser with code folding
   * Simple parser for finding simple errors
   * Convenient running of LilyPond and related tools
   * Automatic code completion for typing commands and tweaking properties
   * Automatic hyphenation of lyrics using OpenOffice dictionaries
   * Tools for macro and template writing

La instal.lació es fa des del Plugin Manager del mateix JEdit.

A Plugins > Plugin Options > Lilypond Tool > General he de ficar /usr/bin/, i efectivament ara ja funciona. Fins i tot funciona el reproductor MIDI incorporat.

És bastant interessant, i efectivament integra la possibilitat de modificar l'arxiu, veure el pdf i fer sonar el MIDI en el mateix entorn.

Per tal de millorar l'aspecte gràfic (té molta pinta Java) i la legibilitat, és important: Options > Text Area: escollir Verdana 12 i, sobretot, Antialiased smooth text posar-lo a estàndard. Reduir també la tabulació a 4.

Convertir la partitura a una imatge

L'aplicatiu genera un pdf i un postscript (.ps). Amb el programa ghostscript que ve amb el Ubuntu es pot convertir aquests fitxers a un format d'imatge.

gs - Ghostscript (PostScript and PDF language interpreter and previewer)

Per veure tots els dispositius disponibles:

$ man gs
$ gs -h

Diversos exemples:

$ gs -dBATCH -sOutputFile=una_plata_denciam_v3.jpg -sDEVICE=jpeg una_plata_denciam_v3.ps
$ gs -dBATCH -sOutputFile=una_plata_denciam_v3.bmp -sDEVICE=bmpmono una_plata_denciam_v3.ps
$ gs -dBATCH -sOutputFile=una_plata_denciam_v3.bmp -sDEVICE=bmpmono una_plata_denciam_v3.pdf
$ gs -dBATCH -sOutputFile=una_plata_denciam_v3.png -sDEVICE=pngmono una_plata_denciam_v3.ps

nota: si vull convertir un pdf a una imatge, el millor és utilitzar la utilitat convert (veure jplayalong)

Informació per a exemple real: en Pere i el Llop

Salts de línia:

hem d'utiilitzar \break allà on vulgui fer un salt

Exemples

Sardana El Saltiró de la cardina. Tenora1

En aquest primer codi no es mostren les repeticions ni els accents, legatos, articulacions. Les unions de les corxees es fan de forma automàtica.

\version "2.12.1"
\header {
  title = "El Saltiró de la Cardina"
  composer = "Vicens Bou"
  opus = "Tenora 1a"
}



melodia = \relative c' {
  \clef treble
  \key e \major
  \time 2/4

        r2 r4 e8 gis b8. cis16 e8 cis b8 a gis a b8. cis16 a8 cis b2 b4 e,8 gis b8. cis16 e8 cis b a gis a b8. a16 fis8 gis
        e2 e4 e8 gis b8. b16 cis8 d e8. d16 cis8 b cis b a cis b2 b4 e,8 fis gis8. gis16 gis8 gis gis fis e gis b4 fis e2 e4 r4 r2
        e8 fis gis a b e e e \times 2/3 { e d c } b4 b2 e,8 fis gis a b e e e \times 2/3 { e d c } b4 b2 e,8 fis gis a b d d d                   
        d16 c b a b4 b16 a g fis a4 \times 4/5 { a16 g fis e d } e4 e2 \set Score.skipBars = ##t R2*3 r2
        \key a \major \set Score.skipBars = ##t R2*8
        r4 r8 e8 e'4. d8 e4. a8 e2 e4. e,8 e'4. d8 e4. a8 e e d d e4. b8 c c d d b g4 e8 g4. b8 \times 2/3 { a16 b a } e4.
        e4. e8 e'4. d8 e4. f8 g2 g4. d8 b8 b d d  g4. f8 e c4. c4. r8 \set Score.skipBars = ##t R2*6 cis4 d8 e cis4 d8 e fis4 gis e2 e4 r4
        cis4 d8 e cis4 d8 e fis4 a gis2 gis4 gis8 a b4. a8 fis4 a gis2 gis4 gis8 a b4. a8 fis4 gis e2 e4 r4 \set Score.skipBars = ##t R2*7 r4 e8. fis16
        fis8 fis fis e fis fis fis e gis2 gis4 gis8. fis16 b,8 b b cis d e fis e gis2 g4 g8. fis16 b,8 b b cis e4 d8 b a4 r4 a4 r4
}

\score {
  \new Staff \melodia
  \layout { }
  \midi { }
}

Com fer les repeticions? Consultar http://lsr.dsi.unimi.it/LSR/html/doc/Documentation/user/lilypond/Repeats.html

El cas més típic, una repetició amb alternativa, és:

c1
     \repeat volta 2 {c4 d e f}
     \alternative { {d2 d} {f f,} }

Ara fiquem les repeticions, lligadures d'unió, lligadures d'expressió, i lligadures de fraseig (dins d'una lligadura de fraseig i pot haver lligadures d'unió o expressió), crescendos, diminuendos, dinàmiques, articulacions, afegir text:

\version "2.12.1"
\header {
  title = "El Saltiró de la Cardina"
  composer = "Vicens Bou"
  instrument = "Tenora 1a"
  poet = "Tenora 1a"
  tagline = ""
}
#(set-default-paper-size "a4" 'landscape)



melodia = \relative c' {
  \clef treble
  \key e \major
  \time 2/4

	\repeat volta 2 {
		r2 r4 e8\mf gis b8. cis16 e8 cis b8 a gis a b8. cis16 a8 cis b2~ b4 e,8 gis b8. cis16 e8 cis b a gis a b8. a16 fis8 gis
        	e2~ e4 e8\mf\< gis b8. b16 cis8 d e8.\!\f d16\> cis8 b cis( b\! a cis) b2~ b4 e,8 fis gis8. gis16 gis8 gis gis fis e gis b4 fis e2~ e4 r4 r2
        	e8( fis gis a b\< e-- e-- e--\!) \times 2/3 { e d c } b4~ b2 e,8\( fis gis a\< b e-- e-- e--\! \times 2/3 { e( d c) } b4~ b2\) e,8( fis gis a b d-- d-- d--)
        	d16( c b a) b4~ b16 a( g fis) a4~ \times 4/5 { a16 g( fis e d) } e4~ e2 \set Score.skipBars = ##t R2*3
	}
	\alternative { {r2} {r2} }
	\key a \major 

       \repeat volta 2 {
		\set Score.skipBars = ##t R2*8
		r4 r8^\markup{ \bold Solo}\f e8( e'4.) d8( e4. a8 e2~ e4.) e,8( e'4.) d8( e4. a8) e-. e-. d-. d-. e4. b8 c-. c-. d-. d-. b g4 e8\( g4.\< b8\! \times 2/3 { a16 b a } e4.~
		e4.\) e8( e'4.)\< d8 e4.\! f8 g2~\f g4. d8 b-. b-. d-. d-.  g4. f8 e c4.~ c4. r8 \set Score.skipBars = ##t R2*6 cis4\(\f d8(_"expressiu" e cis4) d8\< e fis4 gis\! e2~ e4\) r4 
		cis4(\mf d8 e cis4 d8\< e fis4 a) gis2~ gis4\(\! gis8 a b4. a8 fis4 a gis2~ gis4\) gis8\( a b4. a8 fis4 gis e2~ e4\) r4 \set Score.skipBars = ##t R2*7 r4\f e8. fis16
		fis8_"enèrgic" fis fis e fis fis fis e gis2~ gis4 gis8. fis16 b,8 b b cis d e fis e gis2~ gis4 gis8. fis16 b,8 b b cis e4 d8 b 
	}
        \alternative { {a4 r4} {a4 r4 a4 r4} }
}

\score {
	\new Staff {
		\melodia
	}
  \layout { }
}

% per tal de que el fitxer MIDI faci totes les repeticions, es fa necessari tenir dos scores: un per al layout, i l'altre per al MIDI
\score {
	\new Staff {
		\set Staff.midiInstrument = #"trumpet"
		\unfoldRepeats \melodia
	}
  
  \midi { 
	  \context {
          \Score
          tempoWholesPerMinute = #(ly:make-moment 100 4)
	  }
  }
}

Millores que s'han introduït:

  • l'orientació és landscape: #(set-default-paper-size "a4" 'landscape)
  • tempo: tempoWholesPerMinute = #(ly:make-moment 100 4)
  • assignar un canal midi: \set Staff.midiInstrument = #"trumpet"
  • suprimir el automated copyright de lilypond: en la secció \header, posar: tagline = ""
  • fer que el fitxer MIDI faci totes les repeticions: s'ha de fer dos scores, un pel layout i un pel MIDI (unfoldRepeats)

És possible tocar directament aquest MIDI amb el fluidsynth:

$ fluidsynth -a alsa -m alsa_seq -l /home/joan/soundfonts/collections/Casio_VL_1.SF2 /home/joan/scores/saltiro_cardina/saltiro_cardina_tenora_1.midi

Si escullo un soundfont que tingui varis presets (programes), puc fer sonar la sardana pels diferents instruments. Només cal escollir l'instrument adequat segons la taula estàndard (crec que no accepta el número de programa): http://lilypond.org/doc/v2.9/Documentation/user/lilypond/MIDI-instruments#MIDI-instruments

Sardana El Saltiró de la cardina. Tenora2 (acabar)

\version "2.12.1"
\header {
  title = "El Saltiró de la Cardina"
  composer = "Vicens Bou"
  instrument = "Tenora 2a"
  poet = "Tenora 2a"
}



melodia = \relative c' {
  \clef treble 
  \key e \major
  \time 2/4

        \repeat volta 2 {
                \set Score.skipBars = ##t R2*2 b2 b2 b2 b4 r b2 b2 b2 b4 r
                r b r b r b r b r b r e8 fis8 gis8. gis16 gis8 gis gis fis e gis
                b4 fis4 e2 e4 r \set Score.skipBars = ##t R2*15 e8 fis gis a b4 fis e2~
        }
        \alternative { {e4 r} {e4 r} }
  \key a \major
        \repeat volta 2 {
                \set Score.skipBars = ##t R2*29 r4 r8 e8 e8. fis16 gis8 a  b b a  b c c d d  e e4 e8 e e4 e8 e2 a,4 b8 cis
                a4 b8 cis d4 e cis2 cis4 r a b8 cis a4 b8 cis d4 fis e2 e4 e8 fis gis4. fis8 d4 fis
                e2 e4 e8 fis gis4. fis8 d4 e cis2 cis4 r \set Score.skipBars = ##t R2*2 e2 e4 r e,8 e e r
        }                                                                         
        \alternative { {e4 r} {e4 r e4 r} } 
}

\score {
  \new Staff \melodia
  \layout { }
  \midi { }
}

Canço de Bressol (J.M. Quintana)

és una cançó que cantava la meva àvia al meu pare. M'ha costat força de transcriure perquè no havia fet acords i polifonies; i sobre tot m'ha costat resoldre el DC al Fine. També he canviat el tipus de lletra. El resultat:

% *******************************************************
% **  CANÇÓ DE BRESSOL (CANTADA PER LA MEVA MARE) *******
% **  JOSEP M. QUINTANA CABANAS *************************
% ** (C) de la transcripció: Joan Quintana **************
% *******************************************************

%no confondre acord amb polifonia
%http://lilypond.org/doc/v2.12/input/lsr/lilypond-snippets/Vocal-music

\version "2.12.3"
\header {
	title = \markup { \override #'(font-name . "arial") "Cançó de Bressol" } 
	composer = \markup { \override #'(font-name . "arial") "Josep M. Quintana (2011)" } 
	opus = \markup { \override #'(font-name . "arial") "(Cantada per la meva mare)" } 
	tagline = \markup { \override #'(font-name . "arial") "© Josep M. Quintana. Creative Commons Licence (free to distribute). Music engraving by LilyPond" }
}
#(set-default-paper-size "a4")

global= {
	\key f \major
	\time 2/4
	\tempo 4=80
}

mBreak = { \break } %necessari per tal que es vegi igual que la partitura original
%mBreak = { } %ho puc treure al final per tal que lilypond ho formati de manera òptima

melodia = \relative c' {
  \clef treble
	d8 e f g a2 g8 a bes c bes4 a a8 a bes a \mBreak
	g2 e8 f g a e4 f f8 e d f a2 e8 f g e \mBreak
	\time 3/4 f4 d2
}

upperA = \relative c' {

  \clef treble
	d8 e f g a2 g8 a bes c bes4 a <<{a8 a bes a}\\{fis2}>> \mBreak
	<d g>2 <<{e8 f g a e4 f f8 e d f a2}\\{cis,2~ cis4 d~ d4 r c2}>> <<{e8 f g e}\\{cis2}>> \mBreak
	\time 3/4 f4 d2^\markup {\bold "FI"} \bar "||"
}

upperB = \relative c' {

	\times 2/3 { d'8 bes a } g2 \times 2/3 { c8 a g } f2 << {\times 2/3 { bes8 g f } e2~ e2.} \\ {r2 d4~ d4 cis2 } >> \mBreak
	\times 2/3 { f'8 c a } g2 \times 2/3 { e'8 c a } f2 \time 2/4 \times 2/3 { d'8 bes g } e4 f bes << {a g \time 3/4 g2.} \\ { r4 f \time 3/4 e8 d e2 } >> \mBreak
	<< {a2 a4 d2 d4 g,2 g4 c2. f,2 f4 bes2 bes4 } \\ {f2. gis e f d d } >> a'2 f4 a2. \mBreak
	g2. << { a2 a4 d2 d4 g,2 g4 c2. f,2 f4 f2 f4 <a c,>2 <g bes,>4 f2.} \\ { f2. g e f des c e a,^\markup {\bold "DC al FI"}}  >> \bar "|." \mBreak
}

lowerA = \relative c {

  \clef bass  
	<d f>2 <c e> <<{d'~ d2}\\{bes g4 f}>> <d c'>2 \mBreak
	<g bes> <a,~ g'~> <a g'>4 <bes~ f'~> <bes f'~>2 <f f'> <a g'> \mBreak
	\time 3/4 << {a'4 f2} \\ {d2.} >>
}

lowerB = \relative c {

r4 <bes' d>4 <c e> r4 << {gis a} \\ {f2} >> r4 <gis b>2 a2. \mBreak
	r4 <bes d> <c e> r4 << {<gis b> <a c> \time 2/4 r4 c~ c2~ c2~ \time 3/4 c2.~} \\ {f,2 \time 2/4 r4 bes a e f c~ \time 3/4 c2.} >> \mBreak
	<< {f2.~ f f~ f d bes c~ c~}  \\ {c'2 c4 b2 b4 bes2 bes4 a2. a2 a4 bes2. c2 a4  c2.} >> \mBreak
	<< {c,2. f~ f f~ f des c} \\ {bes'2. c2 c4 b2 b4 bes2 bes4 a2. aes2 aes4 a2 a4} >> c,,2. f2. \mBreak
}

texta = \lyricmode {
	\override LyricText #'font-family = #'typewriter
	\override LyricText #'font-size = #-2
	\override VerticalAxisGroup #'minimum-Y-extent = #'(-0.2 . 0.5)

	L'àn- gel de la son té les a- les blan- ques, té_el ca- bell dau-
	rat i_el ves- tit de pla- ta. L'àn- gel de la son que del cel da-
	va- lla.
}

textb = \lyricmode {
	\override LyricText #'font-family = #'typewriter
	\override LyricText #'font-size = #-2
	\override VerticalAxisGroup #'minimum-Y-extent = #'(-0.2 . 0.5)

	L'àn- gel de la son l'in- fant a- com- pa- nya, li gron- xa_el bre- ssol
	i_els u- llets li tan- ca. L'àn- gel de la son el be- sa_i li 
	can- ta.
}

% Paper output:
\score{
	<<
    \new Voice = "mel" { \global \melodia }
    \new Lyrics \lyricsto mel \texta  
    \new Lyrics \lyricsto mel \textb  
    \new PianoStaff <<
      \new Staff <<{\global \upperA \upperB } >>
      \new Staff <<{\global \lowerA \lowerB } >>
    >>
	>>

  \layout {
    \context { \RemoveEmptyStaffContext }
  }
}

% MIDI output:
\score{
    \new PianoStaff <<
      \new Staff << { \global \upperA \upperB \upperA } >>
      \new Staff << { \global \lowerA \lowerB \lowerA } >>
    >>
\midi{}
}

Ave Maria (Josep M. Quintana)

He transcrit a Lilypond un Ave Maria que ha composat el pare:

Es fa un ús extensiu de polifonies i acords, He cercat un soundfont genèric amb so d'orgue.

Cançó de Bressol (dedicada als meus néts) (Josep M. Quintana)

He transcrit a Lilypond una Cançó de Bressol que ha composat el pare:

música amb arxius lilypond

Tota la música coral de Bach (arxius lilypond, midis, pdf):

Frescobaldi

Lilypond with the help of Frescobaldi. Ja que m'agrada treballar amb Lilypond, Frescobaldi és l'eina perfecte per anar ràpids amb Lilypond.

Frescobaldi ve instal.lat per defecte a Ubuntu 9.10

Frescobaldi is a LilyPond sheet music editor for KDE4, with the following features:

* Enter LilyPond scores, then build and preview them with a mouseclick
* Point-and-click support: click on notes or on error messages to jump to the
  corresponding position in the LilyPond file
* A powerful Score Wizard to quickly setup a musical score
* Editing tools to:
  - manipulate the rhythm
  - hyphenate lyrics
  - quickly enter or add articulations and other symbols to existing scores
  - run the document through convert-ly to update it to a newer LilyPond
    version
  - translate pitch names
* Context sensitive autocomplete, helping you to enter LilyPond commands
* Expansion manager to enter larger snippets of LilyPond input using short
  mnemonics
* Built-in comprehensive User Guide
* A powerful Rumor plugin, using the Rumor program to quickly enter music by
  playing it on a MIDI keyboard or even your computer keyboard

A Ubuntu 9.04:

cp frescobaldi-0.7.17.tar.gz /usr/share
tar xvzf frescobaldi-0.7.17.tar.gz

prerequisits:

sudo apt-get install python-kde4-dev
sudo apt-get install python-qt4-dbus
cmake . -DCMAKE_INSTALL_PREFIX=$(kde4-config --exec-prefix)
make
make install

s'instal.la bé. Des del frescobaldi, per veure el score d'un fitxer lilypond s'ha d'instal.lar okular

$ sudo apt-get install okular

okular és el visor de pdf que fa servir per defecte- Amb Frescobaldi la productivitat en l'edició de fitxers lilypond augmentar per que és un front-end per a lilypond però pensat per treballar amb lilypond. Per tant, no és com el Denemo o el Musescore.

RUMOR

http://www.volny.cz/smilauer/rumor/rumor.html Rumor is a realtime monophonic (with chords) MIDI keyboard to Lilypond converter. It receives MIDI events, quantizes them according to its metronome on the fly and outputs handwritten-like corresponding Lilypond notation. Tempo, meter, key and other parameters can be set via command-line options

Denemo

Instal.lació (2008)

$ sudo apt-get install denemo

Denemo utilitza timidity per a fer play dels fitxers midi:

$ sudo apt-get install timidity

No té funció de seqüenciador (no és un seqüenciador)

Instal.lació (nov 2010)

Configuració (Mail a la LAU Nov 2010)

> I downloaded and installed the latest Denemo 0.8.2, and I'm very confused as to how to get it to work with ALSA MIDI.
>
> There's a menu command under "Input", that says "MIDI Input". I select it, and it gives an extraordinarily unhelpful error message: "Could not start MIDI input". Okk, great, I look around for a preference or settings menu item somewhere which would allow me to configure MIDI input, but, alas, nothing. Same with MIDI output: I want to send it to my ALSA MIDI synths.
>
> Any ideas? Sorry for being so lazy, but I'm not in the mood to go surfing through the source code at the moment.


In Edit/Change Preferences I see the rightmost tab called Audio/MIDI.

- Enable "Auto-start midi in"
- Set up InternalSynth to use jack Audio and alsa_seq MIDI drivers
- Restart Denemo
- In Input menu, choose MIDI input
- Connect MIDI keyboard to fluidsynth ALSA MIDI port
- Enter notes with my keyboard

It seems that you have to manually connect the audio out ports of Denemo
once, but subsequently it saves and restores connection state at program
quit/start.

Edgar

Quan instal.lo Denemo passa una cosa curiosa, em vol desinstal.lar jackd:

$ sudo apt-get install denemo
...
The following extra packages will be installed:
  libjack0 libportaudio2
Suggested packages:
  csound jackd1
The following packages will be REMOVED:
  jackd jackd2 jackd2-firewire libjack-jackd2-0
The following NEW packages will be installed:
  denemo libjack0 libportaudio2

Suposo que he d'instal.lar l'última versió de Denemo, i no la que em diu els repositoris.

Denemo està basat en gtk+.

denemo-0.8.14.tar.gz

$ ./configure

tinc el mateix problema que en instal.lar les dependències vol desinstal.lar jackd2

$ sudo apt-get install build-essential
$ sudo apt-get build-dep denemo  -> fixar-se en aquesta instrucció per veure les dependències
$ sudo apt-get install guile-1.8-dev libaubio-dev portaudio19-dev libfftw3-dev
$ sudo apt-get install libfluidsynth-dev

La LAU confirma que hi ha la versió 0.8.20, i així s'anuncia a www.denemo.org (nov 2010), però no veig cap enllaç per descarregar aquesta versió.

Efectivament, la solució està en instal.lar la versió 0.8.20, doncs veig que:

*'''configure --disable-portaudio''' is now available, removes
dependencies of portaudio, libsamplerate, fftw3 and aubio 

i precisament la instal.lació d'aquestes llibreries és la que em provoca la desinstal.lació de jack. La versió 0.8.20 la trobaré baixant-ho des del git.

$ git clone git://git.savannah.gnu.org/denemo.git
$./autogen.sh
$ ./configure --disable-portaudio
checking for GTKSOURCEVIEW... configure: error: Package requirements (gtksourceview-2.0 >= 2.0) were not met:
No package 'gtksourceview-2.0' found

$ sudo apt-get install libgtksourceview2.0-dev

$ ./configure --disable-portaudio
checking for RSVG... configure: error: Package requirements (librsvg-2.0 >= 2.0) were not met:
No package 'librsvg-2.0' found

$ sudo apt-get install librsvg2-dev

$ ./configure --disable-portaudio
checking for FLUIDSYNTH... configure: error: Package requirements (fluidsynth >= 1.0.8) were not met:

No package 'fluidsynth' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables FLUIDSYNTH_CFLAGS
and FLUIDSYNTH_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Però jo tinc la versió 1.1.1 del fluidsynth instal.lada

$ sudo apt-get install libfluidsynth-dev

igual que abans, em vol desinstal.lar jackd2

La solució passa per instal.lar el fluidsynth des de les fonts (m'ho descarrego del subversions, CMMI, no faig cas de què diu que no està enabled el alsa i el jack (?),...

I ara ja puc compilar el denemo sense que em doni cap problema

$ ./autogen.sh
$ ./configure --disable-portaudio 
$ make
$ sudo make install

t'instal.la timidity

manual denemo:

  • file:///usr/local/share/denemo/manual/denemo-manual.html

Utilitzar Denemo (i anar ràpid a transcriure partitures)

Tinc l'opció de que Denemo sigui un client JACK o no, segons trïi l'opció Edit > Change Preferences > Audio/MIDI > audio driver: alsa o jack: (clicar també l'opció AutoStart Midi IN)

  • audio driver: alsa. Amb el aconnectgui veig el fluidsynth, que és el sinte per defecte de Denemo. Treballo amb el Axiom 25, que és la manera correcta per anar ràpid. Amb el aconnectgui connecto el Axiom 25 al fluidsynth. El Denemo es connecta al fluidsynth internament (Input > MIDI input; i Edit > Change Preferences > Audio/MIDI).
  • audio driver: jack. El Denemo arrenca automàticament el JACK. En la pestanya ALSA m'apareix el fluidsynth. En la pestanya Audio m'apareix el Denemo connectat al system. La connexió entre el Denemo i el fluidsynth és interna.

Pensem que Denemo és un editor de partitures i que treballa amb Lilypond, però no és un seqüenciador. Per tant, no esperem que en entrar amb el Axiom tingui en compte el temps; i quan faci Playback (F5) no té en compte les barres de repetició,...

  • NOTA. Si desapareix el so del fluidsynth, no donar-li massa importància. Deu ser un bug. Continuar escribint, o bé reiniciar el Denemo
  • Entro les notes pel Axiom. Amb les tecles 0-6 del portàtil canvio la durada de la nota.
  • per ficar un silenci, faig Alt-0 ... Alt-6. Sembla ser que aquesta informació en la documentació oficial no és així (no?).
  • amb el botó Delete puc desfer els canvis
  • procediment per ficar una barra de repetició. Ficant el cursor allà on toca: Measures > Repeat Start Barline i Measures > Repeat End Barline. A més a més puc ficar el Measures > Start a First Time Bar i el Measures > Start a Second Time Bar
  • per anar al final de la partitura, senzillament Fin.
  • Triplets. És ben fàcil, tot i que la notació que queda en pantalla no és la típica (a l'imprimir-ho sí). Notes > Tuplets > Start triplet i Notes > Tuplets > end triplet
  • també es poden ficar articulacions, lligadures, coda, etc.
  • en tot cas, si una cosa no queda bé, sempre puc recórrer a editar manualment el Lilypond.
  • una de les característiques de la versió 0.8.20 és Improved cursor, showing insert position and clearly distinguishing appending from editing/inserting. Quan una nota té una taca verda està en mode Edit, de manera que si entro una nota amb el teclat actualitzo la nota que estava seleccionada. I si vull inserir? Amb el teclat, si vull inserir una nota apreto Shift... ara bé, sembal que amb un teclat extern això no funciona.
  • per afegir una nota amb punt, senzillament apretar el punt (.)
  • per eliminar una nota o grup de notes, seleccionar i Ctrl-X.
  • Per fer un canvi de temps: Directives > Tempo. Agafo per exemple Andante, però aleshores em deixa ficar el bpm. Per ex: 4=92, que vol dir que una negra són 92bpm. Es pot aplicar a tots els staves.
  • Staffs/voices. Des d'aquí puc afegir nous staves. A Instrument name li puc ficar el nom de l'instrument, però l'assignació MIDI es fa a Staff properties
  • Staffs/voices > Staff properties. Aquií dic el staff name, i l'associo a un instrument MIDI i a un canal


Amb el Denemo ho puc exportar a ly (de fet, és el format natural amb que treballa Denemo, tot i que els fitxers de Denemo són XML) $ lilypond /home/joan/perellop.ly Es genera el pdf

Si volem que el fitxer ly generi també el midi hem d'afegir la línia

\midi { }

a sota de layout i header:

\layout {
        }
\header {
        }
\midi { }

Canorus

És com es diu ara NoteEdit

http://canorus.berlios.de/wiki/index.php/Main_Page

Sibelius (Windows)

Coses que s'han de saber per anar ràpid amb el Sibelius:

1. Canviar entre mode Nota i mode selecció: tecla N (o bé ESC)

2. Create > Other > Transposition Change

  • Notes -> Transpose
  • Notes -> Transposing Score

3. Help -> Tutorial Videos (interessant!!)

4. Per esborrar una nota, a part de fer Ctrl-Z (Undo) també puc fer Backspace

5. puc introduir les notes per les lletres: A, B, C, D, E, F, G, i CTRL-Fletxa per canviar l'octava.

6. per seleccionar un àrea, shift + ratolí

7. de moment, la manera que he trobat per tenir un segona fulla és copiar-enganxar compassos buits al final de tot (es pot seleccionar la barra del final). Primer es van omplint els compassos en el primer full mentres hi caben (segons les seves normes de format), però quan ja no hi caben es comença a omplir el 2n full.

Una altra possibilitat millor és Create > Bar > Other (i ficar el número de compassos)

8. per defecte em surten 4 compassos per sistema. Si en vull 6 he d'anar a Layout > Auto Layout > Use Auto system breaks every 6 bars.

9. Layout -> Autolayout -> multirests: aconsegueixo que tots els compassos buis del final s'agrupin en un de sol. el que encara no he aconseguit és eliminar-los.

10. El que puc fer és un Layout -> page break, i imprimir només la pàgina que m'interessa. Vídeos que he vist: 1, 2, 3, 4

11. Per fer la part de solo, no cal grabar el fitxer amb un altre nom, sinó que n'hi ha prou fer Focus On Staves (seleccionant el stave que m'interessa). També puc seleccionar tots els sistemes menys el que m'interessa, i fer Focus On Staves.

12. Per apagar una línia (típicament el so), utilitzaré el Mixer (Window -> Mixer)

13. per esborrar un compàs, seleccionar-lo i Edit > Delete Bars (ctrl+supr)

14. posar lletra a una cançó: create > text > lyrics > Lyrics Line 1 (ctrl-L). per a fer una aliason faig servir la _ i m'ho fa bé.