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.
Fondamentalmente, l'uso è il seguente:
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
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:
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).
Aggiungendo l'opzione -o, le melodie selezionate sono
impaginate e scritte sul file di output. Per impaginare tutte le melodie nel
file book1.abc:
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.
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:
Poi il programma è pronto per un input con la riga
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
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.
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.
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:
- 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:
- 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
- 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:
- 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,
- 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