abc2ps(1) Traduce il formato ABC in PostScript

SINTASSI

abc2ps [opzioni] file ...

DESCRIZIONE

Il programma abc2ps legge un file di input contenente musica in formato abc e lo impagina direttamente in PostScript. Può essere usato anche per fornire una lista del contenuto di un file abc.

Per una descrizione della sintassi di abc, vedere la guida dell'utente di abc che è una parte del pacchetto abc2mtex.

USO GENERALE

Fondamentalmente, l'uso è il seguente:

abc2ps file1 file2 ...

dove file1, file2 ... sono i file abc di input. Questo fornirà una lista del contenuto dei file. Per generare output Postscript, aggiungere l'opzione -o:

abc2ps file1 file2 ... -o

SELEZIONE MELODIE

Per selezionare melodie specifiche dai file, usare:

abc2ps file1 file2 ... -e selettore1 selettore2 ...

dove ogni selettore è un insieme di numeri xref di abc o un modello. Senza l'opzione -o, fornirà solo la lista di melodie selezionate trovate nei file. Con l'opzione -o, l'output è generato solo per le melodie selezionate.

Opzionalmente, la ricerca può essere fatta su altri campi usando queste opzioni al posto di -e: -R cerca il campo `ritmo', -C cerca il campo `compositore', -S cerca il campo `sorgente'. -T cerca il campo `titolo' (questo è il modo predefinito per le ricerche di modelli). Se è usata l'opzione -C, viene visualizzato anche il campo del compositore quando viene elencato il contenuto dei file. Avviene lo stesso con le opzioni -R e -S. L'opzione -A seleziona tutte le melodie, sovrascrivendo gli altri selettori.

Per filtrare diversi file con lo stesso insieme di selettori, il formato è:

abc2ps file1 file2 -e selettori ...

Per usare un insieme diverso di selettori per ciascun file, usare un comando come il seguente:

abc2ps file1 -e 1-3 -f file2 file3 -R Jig

Questo selezionerà le melodie 1-3 dal file1 e le melodie con 'Jig' nel campo ritmo dal file2 e dal file3. Più precisamente, l'opzione -f indica che gli argomenti seguenti (fino alla successiva opzione -e) sono nomi di file. Ogni insieme di selettori è applicato ai file che lo precedono. Come precedentemente, le opzioni -C, -S, -R possono essere usate al posto di -e per cambiare il campo cercato.

Per convenienza, ci sono due convenzioni:

Un argomento con l'estensione .abc è sempre considerato come un nome di file ed è trattato come se fosse preceduto da -f.
Un argomento che è ovviamente un insieme di numeri xref è considerato come un selettore ed è trattato come se fosse preceduto da -e.

Per esempio, tutti questi tre comandi selezionano le melodie 1-3 dal file A.abc e le melodie 5-7 dal file B.abc:


abc2ps A.abc -e 1-3 -f B.abc -e 5-7 abc2ps A.abc -e 1-3 B.abc -e 5-7 abc2ps A.abc 1-3 B.abc 5-7
D'altro canto, questo NON funzionerà nel modo consueto:

abc2ps A 1-3 B 5-7 -o
perché il programma non ha modo di riconoscere che B è il nome di un file di input e non un selettore di modello. Per selezioni complicate su file di input multipli, potrebbe essere meglio eseguire il programma in modalità interattiva (vedere di seguito).

Ottenere output PostScript

Aggiungendo l'opzione -o, le melodie selezionate sono impaginate e scritte sul file di output. Per impaginare tutte le melodie nel file book1.abc:

abc2ps book1 -o

Per impaginare specifiche melodie, usare un comando come

abc2ps book1 -e 1-3 5,20- 'House*' Hall -o

L'idea è quella di variare il numero e/o i modelli fino a quando i titoli desiderati vengono elencati, poi aggiungere l'opzione -o alla lista degli argomenti per ottenere il file di output.

In modo predefinito, tutte le melodie selezionate sono scritte nello stesso file, con l'aggiunta degli adeguati salti pagina. Usando l'opzione -E , si ottiene l'output in EPSF; ogni melodia è allora messa in un file separato con un corretto bounding box e nessuna interruzione di pagina.

L'opzione -O determina dove viene diretto l'output. L'argomento di -O può essere sia un nome di file che un =. In quest'ultimo caso si dice a abc2ps di scegliere il nome da se stesso.

Per le modalità PS e EPS, il nome del file di output è:

modalità PS:
predefinito        Out.ps
-O NOME        NOME.ps
-O =           L'output per "foo.abc" è scritto in "foo.ps"
modalità EPSF:
predefinito        Outnnn.eps, dove nnn è un numero progressivo
-O NOME        NOMEnnn.eps
-O =           Il nome del file di output è <titolo_melodia>.eps

Nota: se un file output esiste già sarà sovrascritto. Ciò accadrà se due melodie hanno lo stesso nome ed è usata l'opzione -O = per l'output EPSF.

L'effettivo formato di output è governato dalle impostazioni dei parametri che possono essere messi nei file di formato. Il file di formato può essere selezionato usando l'opzione -F; i file di formato sono usualmente cercati sia nella directory corrente che nella directory /usr/share/abc2ps. Si faccia riferimento alla sezione Output formating nel file /usr/share/doc/abc2ps/New.Features per una descrizione dettagliata dei parametri disponibili.

Modalità interattiva

Se la riga di comando contiene l'opzione -i, abc2ps viene eseguito in modalità interattiva. Questo rende possibile costruire file di output pezzo per pezzo. Lo svantaggio è che si deve riavviare il programma se si fanno degli errori.

La modalità interattiva si avvia con:

abc2ps -i

Poi il programma è pronto per un input con la riga

select tunes:

Si dovrebbe rispondere con una riga di argomenti, che sono trattati esattamente nella stessa maniera della modalità non interattiva. La sola differenza è che l'input non è eseguito prima attraverso la shell, cosi` che i caratteri jolly non sono espansi e le virgolette non vengono rimosse. Di conseguenza si dovrebbe usare Jig* al posto di 'Jig*', ecc. quando si specificano le stringhe di selezione e i nomi dei file devono essere scritti per esteso. Per uscire dalla modalità interattiva, inserire 'q', 'quit' o un input vuoto.

Per esempio, una "sessione" potrebbe apparire come questa:

      abc2ps -i          avvia abc2ps interattivamente
      book1              elenca le melodie in book1.abc
      book1 -e 1-10      elenca le melodie con xrefs 1-10 in book1
      book1 -e 1-10 -o   scrive queste melodie nel file Out.ps
      book2              elenca le melodie nel file book2.abc
      book2 -e House -o  scrive le melodie con 'House' nel titolo
      quit               esce da abc2ps

Per rendere le cose più facili, ci sono tre caratteri speciali:

      ?   mostra l'ultimo input usato;
      !   all'inizio della riga è sostituito dagli ultimi
          file usati;
      *   all'inizio della riga è sostituito dall'ultimo
          input.

Questo significa che lo stesso effetto dell'esempio precedente può essere ottenuto con la forma abbreviata nel seguente modo:

      abc2ps -i          avvia abc2ps interattivamente
      book1              elenca le melodie 
      ! 1-10             equivalente a 'book1 1-10'
      * -o               equivalente a 'book1 1-10 -o'
      book2              elenca le melodie nel file book2.abc
      ! -e House -o      equivalente a 'book2 -e House -o'
      q                  esce da abc2ps

Si noti che l'opzione -e non è necessaria nella riga `* 1-10' perché è chiaro che 1-10 è un selettore (vedere sopra).

Un altro punto è che se sono usate opzioni aggiuntive quando si avvia interattivamente, queste funzionano come modo predefinito per la modalità interattiva. Per esempio, avviando il programma con

abc2ps -io

tutte le melodie selezionate sono scritte immediatamente nel file output. L'uso del programma è molto simile a quello di abc2mtex. Naturalmente, non è possibile elencare il contenuto del file (per aiutare nella scelta riguardo i titoli) quando si usa il programma in questo modo.

Nella modalità interattiva, -O ed -E possono essere usate prima di redirigere l'output. Quando si commuta a un altro file di output, il file precedente viene chiuso. Ricommutare successivamente allo stesso file iniziale sovrascriverà il file.

Differenze da abc2mtex

Essenzialmente, tutte le caratteristiche descritte nella guida di abc2mtex dovrebbero funzionare. Ci sono un po' di eccezioni:
La notazione delle legature S è stata sostituita dalla sintassi (...) (vedere di seguito).
I segni di chiave HP e Hp probabilmente non sono trattati esattamente nel modo giusto.
Non c'è una verifica automatica dei gambi delle note.
In questa versione non c'è il modo per trasporre la musica automaticamente.

Alcune caratteristiche extra

Per gli esempi, vedere il file /usr/share/doc/abc2ps/examples/sample.abc.
Codici per le decorazioni.
Includendo quelle definite nella sintassi standard di abc, sono interpretate le decorazioni seguenti:

   .   dot, staccato
   J   slide
   M   tenuto (M='em-phasis')
   H   corona (fermata)
   ~   abbellimento
   R   arpeggio
   T   'tr' sopra la nota 
   u   archetto verso l'alto
   v   archetto verso il basso
   k   >-come accento
   K   ^-come accento

Sequenze di escape.
L'inserzione di una stringa tra due barre inverse in una riga di musica delimita una sequenza di escape. Nella versione attuale, queste sono trattate come campi di informazione. Ciò rende semplice cambiare la tonalità, il metro o la lunghezza predefintita all'interno di una riga (vedere sample.abc).
Gruppi irregolari (N-uple).
abc2ps può gestire casi generali di gruppi irregolari usando la sintassi:

(p:q:r abcd ...

Questo significa `metti p note nel tempo di q per le successive r note.' Se q non è fornito, usa le impostazioni predefinite come descritto nella guida dell'utente di abc2mtex. Se r non è dato, usa il valore di p in modo predefinito. Per esempio:

(3::2 = (3:2:2; (3 = (3:2:3

Il numero scritto sopra il gruppo irregolare è p. Questa sintassi generalizzata è compatibile con il vecchio uso. In realtà, q non è per niente usato qui; è rilevante solo per i programmi che riproducono la musica.
Accordi.
Il programma accetta la notazione +...+, ma sembra più intuitivo usare un qualche tipo di parentesi per raggruppare insieme le note che formano un accordo. Questo programma accetta le parentesi quadre:

[ace][adf]

al posto della sintassi +...+. La notazione abc permette formalmente note con durate differenti sullo stesso gambo: [a/bc2] e cosi` via. Questo programma assegna a tutte le note di un accordo la durata della prima nota nella parentesi. Un accordo con due note identiche realizza un unisono (una testa con due gambi uno in su e l'altro in giù), per esempio, [AA].
Legature d'espressione e di valore.
Al posto della sintassi SabcSd per una legatura sopra le note abcd, questo programma usa la notazione

(abcd)

per una legatura sopra le note abcd. Permette casi come (ab(cd)) e ((ab)cd) e (a(bc)d) e legature sopra legature simili. Per collegare tre o quatto note con le legature (per esempio, per una nota tenuta su diverse battute) usare (a(b)c) o, con le legature di valore, a-b-c.
La regola è che ogni nota da sola all'interno delle parentesi come (b) termina una precedente legatura e, allo stesso momento, ne inizia una nuova.
Notare che la sintassi della legatura (...) non interferisce con lo stile (3abc per i gruppi irregolari. Se una parentesi '(' è seguita da un numero k, è iterpretata come l'inizio di un gruppo irregolare di k note, altrimenti è l'inizio di una legatura. Per esempio, una legatura è messa sopra le ultime due terzine in questa riga: (3abc ((3cde) ((3efg).
Una parentesi non bilanciata ')' o '(' indica la continuazione di una legatura su una riga vicina. Questo è necessario (per esempio) per rendere possibile l'interruzione automatica di righe. Essa creerà anche strane e inaspettate legature aggiuntive se il file di input contiene la sintassi scorretta (3abc) invece di (3abc per le terzine.
Stanghette.

I simboli seguenti denotano una doppia stanghetta all'inizio o alla fine di un pezzo (senza punti di ripetizione): [| produce una barra spessa seguita da una sottile, |] una barra sottile seguita da una spessa.
Per un miglior risultato quando si usa l'interruzione di riga automatica, il programma dividerà alcuni tipi di stanghette quando queste sono alla fine di una riga. Per esempio, :: diventa :| insieme con |: sulla riga successiva, |: diventa | insieme con |: sulla riga successiva, :|2 diventa :| insieme con [2 sulla riga successiva ecc.
Il Campo E.
Questo campo può essere usato per impostare alcuni parametri dall'interno del file:

shrink imposta la modalità "glue" (colla) per comprimere space imposta la larghezza naturale di glue stretch modalità glue estesa fill modalità normale per riempire i pentagrammi break ignora continuazioni xref scrive i numeri di xref sull'output one scrive una melodia per pagina newpage inizia una nuova pagina per la successiva melodia lw ppp imposta la larghezza del pentagramma locale a ppp punti.
Per esempio, per ottenere come output una singola melodia in un formato ristretto, mettere E:lw 400 dentro l'intestazione di questa melodia. Se questo è messo dopo l'intestazione ma dentro il corpo della melodia, solo la musica è impostata con una differente larghezza e il titolo è scritto come prima.
Chiave di basso e di contralto.
La chiave di basso è selezionata accodando la parola bass alla specificazione della tonalità. Per esempio, K:G bass. Le note sono quindi scritte in modo che C sia sotto il pentagramma e c sia nel terzo spazio dall'alto, il che è uno spostamento in giù di una linea rispetto alla chiave di violino.
Per cambiamenti di chiave in-linea, usare una specificazione in-linea come [K:G bass] (prima era K:G bass; questo è ancora supportato). Se la chiave in sè non cambia, è sufficiente scrivere [K:bass] e similmente [K:treble].
Usare similmente alto
per la chiave di contralto (viola o C).
Cantato.
Le parole del testo allineate sotto il rigo sono specificate usando una riga direttamente sotto il rigo, facendola iniziare con w:. Per esempio:

edc2 edc2 | w: Tre gatti ciechi, tre gatti ciechi
Ogni parola delimitata da spazi bianchi nella riga w: è associata con una nota, in sequenza. I seguenti simboli speciali sono disponibili per modificare questo comportamento:

* salta una nota - divide una parola in due sillabe, associate con due note, con un trattino, `-', tra di esse \- aggiunge un trattino senza dividere la parola | si sposta in avanti sino alla linea di battuta successiva. ~ viene reso come uno spazio, ma comprime le parole da scrivere sotto un'unica nota. Cioè hey~ho produrrà le due parole `hey' e `ho' sotto un'unica nota. _ traccia un piccolo segno di sottolineatura dalla nota precedente a questa.
Per più di una riga di parole del testo, usare semplicemente diverse righe w:. Per tracciare un - senza interrompere la parola in quel punto, usare un carattere di escape cosi` \-.
Si noti che \\ nella riga di musica in abc ora definisce una interruzione di pentagramma. Questo è utile quando si impaginano canzoni, poiché è tedioso dividere la riga esplicitamente quando si sposta un'interruzione di rigo quando sono presenti righe con il testo.
Se una parola inizia con un numero, questo è interpretato come numerazione di una stanza e viene rientrato di un po'. In altre parole, usare qualcosa come:

w: 1.~~Tre gatti ciechi

per mettere un numero prima di "Tre".
Musica a pentagrammi multipli.
Abc2ps gestisce musica che consiste di diverse voci. Questo è fatto usando righe V:, come:

V:2 name="Clarinet 2" short="Cl.2" clef=treble stems=down
(Qui il numero 2 in V:2 è una stringa arbitraria, ogni identificatore formato da una singola parola può essere usato al suo posto.) In seguito, si può commutare la voce usando semplicemente V:2. Le varie impostazioni, chiave, durata predefinita, ecc., sono mantenute separatamente per ogni voce.
Accordi di chitarra, prima e seconda terminazione e interruzioni di riga sono presi solo dalla voce più alta. Ogni voce può avere il suo proprio testo.
Ci sono diversi parametri che controllano la sistemazione dei pentagrammi, delle graffe, parentesi quadre, lunghe linee di battuta ecc. Fare riferimento a /usr/doc/abc2ps/changelog per maggiori informazioni.
Le singole voci possono essere selezionate da un manoscritto a più voci usando l'opzione -V. Per esempio, -V 1-2,4 estrarrà le prime due voci e la quarta voce. Specificatamente, questo rende possibile generare partiture a voce singola per l'uso di singoli musicisti.

Scrivere testo tra la musica.
Questo può essere fatto usando i pseudocommenti in tre modi. Primo:

%%text Questa è una riga di testo.

scrive una riga di testo nell'output. Secondo,

%%center Questa è un'altra riga di testo.

scrive ancora una riga, ma centrata. Da ultimo,

%%begintext
Prima riga di testo
Seconda riga
E ancora un'altra riga.
%%endtext
che scriverà un blocco di diverse righe. Per evitare conflitti con altri programmi, le righe di testo stesse possono essere precedute con %%.
Vedere /usr/share/doc/abc2ps/New.Features per ulteriori informazioni.
Numeri di battuta ed etichette.
Usare l'opzione -k per abilitare i numeri di battuta. Per esempio, -k 1 numererà ogni battuta, -k 5 numererà ogni cinque battute, ecc. L'opzione -k 0 numererà la prima battuta in ogni rigo. In alternativa, usare il pseudo-commento %%barnumbers.
Il programma conta le battute automaticamente, cercando di fare la cosa giusta alla prima e alla seconda conclusione. Cioè, ricorda il numero di battuta all'inizio della prima conclusione, poi ritorna a questo valore all'inizio della seconda conclusione. Cosi`, se c'è una melodia con 2x8 battute con la prima e la seconda conclusione dopo le prime 8 battute, si otterrebbero comunque 16 battute totali.
All'interno di una singola melodia, i numeri di battuta sono contati attraversando i limiti delle parti. Tuttavia, se un titolo T: appare dentro una melodia, il numero di battuta è reimpostato a 1. Si può usare una riga T: vuota per resettare il numero di battuta senza scrivere effettivamente un titolo.
Le etichette delle battute sono lettere maiuscole A, B, C, ... per marcare punti specifici all'interno della musica. La loro sintassi è simile a quella degli accordi della chitarra, ma sono posizionate prima di una linea di battuta al posto di una nota o pausa, per esempio,

| abcd "A"| ABCD |

posiziona la lettera A sopra la seconda linea di battuta. Nel caso in cui qualcuno volesse una etichetta sulla prima battuta (che usualmente non è preceduta da una linea di battuta), è stato introdotto un nuovo simbolo, [|], per denotare una linea di battuta `invisibile'.
I tipi di carattere per i numeri e le etichette di battuta possono essere impostati usando i pseudo-commenti %%barnumberfont e %%barlabelfont.
Riquadri.
Nella musica stampata, i numeri delle battute sono resi spesso più visibili mettendo un riquadro attorno ad essi. Anche questo è possibile. Infatti, un riquadro può essere messo attorno alla maggior parte dei pezzi di testo aggiungendo la parola box alla specificazione del tipo di carattere, per esempio,

%%barnumberfont Times-Italic 11 box

Ciò può essere fatto per il titolo, accordi della chitarra, cantato, ecc. Per abilitare il riquadro senza cambiare lo stile e/o la dimensione dei caratteri, può essere usato il carattere *, come in

%%titlefont * * box

OPZIONI

Questo è un breve sommario delle opzioni supportate da abc2ps. Per informazioni più dettagliate vedere la documentazione in /usr/share/doc/abc2ps.

Modi di funzionamento

-o
Scrive l'output per le melodie selezionate.
-E
Produce output EPSF, una melodia per file.
-Onomefile
Imposta il nome del file di output a nomefile (quello predefinito è Out.ps). Se nomefile è =, crea un nome per il file di output a partire dal nome del file in input o dal titolo della melodia (in modalità EPSF).
-i
Funzionamento interattivo.
-vn
Imposta la verbosità per l'output a schermo a n. 0 fornisce un output molto piccolo, da 1 a 3 mostra successivamente più informazioni. Verbosità più grandi di 10 servono per il debug.
-h
Rapido aiuto, equivalente all'esecuzione di `abc2ps' senza alcun argomento. Mostra anche le impostazioni predefinite per alcuni parametri.
-V
Questa opzione era usata per mostrare il numero di versione ma ora è usata per la selezione della voce (vedi sopra). Per visualizzare il numero della versione, usare l'opzione -h.

Selezione

-e
Gli argomenti seguenti sono selettori.
-f
Gli argomenti seguenti sono nomi di file.
-T
Cerca il campo Titolo di ABC (predefinito).
-C
Cerca il campo Compositore di ABC.
-R
Cerca il campo Ritmo di ABC.
-S
Cerca il campo Sorgente di ABC.
-V str
Seleziona voci, per esempio, -fB-V 1,4-5.

Formattazione

Queste opzioni cambiano l'aspetto dell'output:
-H
Mostra le impostazioni di tutti i parametri di formattazione.
-p
Genera un output `pretty' (bello), con più spazi vuoti tra le melodie, caratteri più grandi per i titoli e simboli musicali più grandi. In modo predefinito, l'impaginazione stringe le melodie per ridurre il il numero delle pagine. Questo usa il contenuto di un'impostazione di parametri chiamata pretty.
-P
Simile a -p, ma usa un'impostazione di parametri chiamata pretty2.
-s xxx
Scala l'output della musica con un fattore xxx.
-w www
Imposta la larghezza del pentagramma a www punti, inch o centimetri.
-m mmm
Imposta il margine sinistro a mmm punti, inch o centimetri.
-d xxx
Imposta la separazione dei pentagrammi a xxx punti, inch o centimetri.
-x
Include numeri di riferimenti incrociati (l'intestazione X di ABC) nell'output.
-k n
Numera ogni n battute; se n è 0, numera ogni prima battuta di ogni rigo.
-n
Include note storiche e altre cose al di sotto di ogni melodia.
-N
Include nell'output i numeri di pagina.
-1
Scrive ogni melodia su di una pagina separata.
-l
Opera in modo orizzontale (landscape).
-g shrink|space|stretch|fill
Imposta la modalità `glue'. La modalità predefinita è fill, che riempie il pentagramma.
-F format
Legge il formato dal file format.
-D directory
Cerca i file formato nella directory directory.
-X x
Imposta il rigore nella spaziatura tra le note, 0 < x < 1.

Trasposizione

-T n
Traspone di n semitoni (usare _n per numeri negativi).
-T note
Traspone il basso fondamentale su/giù alla nota note.

Interruzioni di riga

-a x
Imposta il massimo grado di contrazione permesso a x, dovex varia tra 0.0 e 1.0.
-b
Forza un'interruzione di pentagramma alla fine di ogni riga, anche se la riga ha il simbolo di continuazione \ alla fine.
-c
Accoda il simbolo di continuazione a tutte le linee di musica, il che porta all'interruzione automatica di riga.
-B n
Formatta con n battute su ogni pentagramma.

Allocazione delle risorse

-maxs n
Imposta il numero massimo di simboli (predefinito 800).
-maxv v
Imposta il numero massimo di voci (predefinito 4).

FILE

/usr/share/abc2ps/*.fmt
Vari file formato d'esempio.
/usr/share/doc/abc2ps/examples/*
Vari esempi di file ABC.

AUTORE

Questa pagina di manuale è stata scritta da Anselm Lingnau <[email protected]>, per il sistema Debian GNU/Linux. Traduzione e adattamenti in italiano a cura di Hugh Hartmann <[email protected]>. Revisione a cura di Beatrice Torracca <[email protected]>