Vai al contenuto

Speedy Entry

Speedy Entry è la modalità di editing assistito di Write. Quando è attiva, l'editor "interpreta" alcuni caratteri che digiti e li trasforma nella sintassi neumaRk completa, riducendo il numero di tasti necessari per scrivere note, accordi, durate e alterazioni.

Speedy Entry non cambia la grammatica del linguaggio: produce sempre sorgente neumaRk valido. È solo una scorciatoia di scrittura. Si accende e si spegne con un clic sul pulsante Speedy Entry della toolbar; tenendolo premuto si apre la finestra delle impostazioni.

Le scorciatoie sono per riga: il comportamento dipende dal tipo di riga musicale in cui si trova il cursore (C), N), A), D), L)). Ogni scorciatoia è governata da un flag indipendente che puoi attivare o disattivare nella finestra delle impostazioni, divisa per tipo di riga (Generale, Accordi, Note, Articolazioni, Dinamiche, Testo). Salvo dove è indicato il contrario, sono tutte attive di default.

Scorciatoie generali

Tab vale in qualunque riga musicale; le altre scorciatoie di questa sezione valgono nelle righe note e accordi.

Tab → chiusura misura

Premere Tab su una riga musicale inserisce una barlinea |:

C) C7 D7|Tab   →   C) C7 D7 |

Se prima del cursore c'è già uno spazio, viene aggiunto solo |.

P → alza di un semitono (rise)

P shifta cromaticamente di +1 semitono l'evento toccato dal cursore. Funziona sia in riga accordi che note:

N) c4|P    →   N) c#4
C) C-7|P   →   C) C#-7

Se il cursore non tocca alcun evento, P resta una lettera normale.

L → abbassa di un semitono (lower)

Specularmente, L shifta di −1 semitono. In riga accordi sono ammesse le sequenze 7alt, DCal…, D$al… e in quei casi la L resta letterale.

@| → espansione al@

Digitando @| (o @ prima di una barlinea già esistente) si espande in al@, producendo i decoratori di fine sezione al@ / DCal@ / D$al@:

… D$@|     →   … D$al@|
… DC@|     →   … DCal@|
… @|       →   … al@|     (a inizio riga o dopo spazio)

In alternativa, su riga note, @ preceduto da spazio + Tab espande direttamente in al@| (barlinea e separatore inclusi):

N) c4 @Tab    →   N) c4 al@|

! → ripetizione di misura %!

In una misura che contiene solo una ripetizione %, %2 o %4, un ! digitato a contatto viene spostato nella sua posizione canonica; un secondo ! lo toglie:

N) !%      →   N) %!
N) %2!     →   N) %!2
N) %! + !  →   N) %          (ripremuto: tolto)

In riga note, fuori da questo caso, ! ha un altro effetto: vedi Alterazione forzata.

Z come modificatore

Nelle righe note e accordi Z funziona come tasto modificatore (come fosse un Alt aggiuntivo): tenuto premuto, cambia il significato del tasto che premi insieme. Alcune combinazioni trasformano l'evento toccato o inseriscono un simbolo (Z + ↑/↓, Z + S, Z + F, Z + B, Z + E), altre servono a scrivere letteralmente un carattere che Speedy Entry altrimenti intercetterebbe (Z + L, Z + P, Z + +, Z + −).

In queste righe Z premuto e rilasciato da solo non scrive nulla. Scrive una z normale nelle altre righe, nell'area delle barline e dentro un testo libero (annotazione "…" o etichetta).

Z + ↑ / Z + ↓ → shift cromatico ±1

Con Z premuto, ↑ alza e ↓ abbassa di un semitono l'evento toccato. Equivalente funzionale di P / L.

Z + L / Z + P → l / p letterali

L e P da soli sono trigger di shift cromatico. Con Z premuto restano caratteri letterali, necessari per scrivere annotation come al@, slide, legato, pizz, palm-mute, ecc.

N) c4 a Z+L   →   N) c4 al
N) c4 Z+P     →   N) c4 p

Riga accordi (C) e C+)

Le scorciatoie sotto valgono sia per la riga principale degli accordi C) sia per la riga di accordi alternativi C+, che condivide la stessa grammatica.

Speedy Entry inattivo dentro le etichette: se il cursore è dentro un commento-etichetta accordo ([label] o "label", dove si scrive testo libero), Speedy Entry non interviene — i caratteri restano letterali.

Auto-uppercase della radice

Una radice di accordo digitata minuscola viene maiuscolata automaticamente:

C) c7       →   C) C7
C) C/g      →   C) C/G       (anche dopo slash bass)

m → - (minore)

Il minore si scrive di preferenza col trattino. Digitando m subito dopo la radice (o dopo la sua alterazione) si ottiene -:

C) Cm      →   C) C-
C) C#m7    →   C) C#-7
C) Dbm     →   C) Db-

La m resta com'è quando non segue la radice: per esempio in dim. Il parser accetta anche Cm7: se vuoi la m nel testo, disattiva il flag m → trattino minore nelle impostazioni, oppure scrivi l'accordo con Speedy Entry spento.

p → % su misura vuota

Quando il cursore è dentro una misura ancora vuota di accordi (es. appena dopo una barlinea), il tasto p (minuscolo) inserisce % (simbolo di ripetizione di misura). Se la misura contiene già qualunque token (anche un marker tipo :open| o uno style-name), p resta letterale e non triggera la sostituzione. Con Shift (P maiuscola) si scrive sempre la lettera.

Z + S → diesis (#)

Combo dedicata per inserire un # senza ambiguità (la s letterale è riservata al suffix sus).

Z + F → bemolle (♭)

Inserisce il simbolo unicode ♭, che viene poi normalizzato in b.

Z + E → cambio enarmonico

Cambia l'alias enarmonico dell'accordo toccato: C# ↔ D♭, F#7 ↔ G♭7, ecc. Mantiene la stessa tonalità reale.

+ / − → shift cromatico ±1

+ e − shiftano cromaticamente di un semitono l'accordo toccato dal cursore. Funziona anche sui bassi alternati di slash chord:

C) C|+     →   C) C#
C) C#|+    →   C) D            (iterabile)
C) C7|+    →   C) C#7          (suffix preservato)
C) C/G|+   →   C) C/G#         (slash bass alterato)
C) C-7|+   →   C) C#-7

Per inserire + / − letterali (necessari per i suffix accordo C+, 5+, M+, +M, +M7, +7, e per le alterazioni 7+5, 7+9, 7+11) si usa l'escape Z + + / Z + −:

C) C|     + Z+`+` + 7   →   C) C+7         (= C7#5)
C) C7|    + Z+`+` + 5   →   C) C7+5
C) CM|    + Z+`+`       →   C) CM+         (= CΔ#5)
C) C|     + Z+`-`       →   C) C-          (= Cm)

Suggerimento: in luogo di + per augmented, puoi anche scrivere aug o #5 (tutte forme equivalenti dopo la normalizzazione del parser). Per il minore basta digitare m dopo la radice: diventa - (vedi sopra).

+ / − non scattano sempre

Se sotto il cursore non c'è un evento accordo, + e − restano letterali. In particolare il marker di volta [1.]+4 non richiede escape:

C) C7 | [1.]|+4 D7   →   C) C7 | [1.]+4 D7

Auto-spazio fra accordi

Quando il cursore è "appiccicato" a un accordo precedente, digitando una nuova radice maiuscola [A-G] viene aggiunto automaticamente uno spazio:

C) C7G7         →   C) C7 G7
C) CM7#5A7      →   C) CM7#5 A7
C) C-7D7        →   C) C-7 D7

Lo spazio non viene aggiunto in questi casi (l'utente sta continuando la stessa unità):

C) C7 G7        →   C) C7 G7      (c'è già uno spazio)
C) C/G          →   C) C/G        (slash bass)
C) (D F)        →   C) (D F)      (gruppo opzionale)
C) [1.]+4 D7    →   C) [1.]+4 D7  (decoratore volta)

Per le lettere minuscole l'auto-uppercase + auto-spazio si comportano in modo asimmetrico, perché alcune lettere sono parte di suffix accordo legittimi (vedi sezione successiva).

Lettere minuscole "safe" vs "ambigue"

Alcune lettere minuscole sono parte di suffix accordo lowercase (aug, alt, dim, b5, b9, ecc.); altre no. Speedy Entry distingue:

Lettera lowercase su accordo toccato Comportamento
c, e, f, g (safe) upper-case + auto-spazio
a (aug, alt) letterale
b (accidental, b5/b6/b9/b13) letterale
d (dim) letterale

Eccezione Caug: la g finale di aug è una lettera "safe" ma chiude un suffix, non è una nuova radice. Speedy Entry guarda i due caratteri precedenti: se sono au, la g resta letterale.

Esempi di scrittura fluente:

C) c7g7         →   C) C7 G7         (c → C, g → G + spazio)
C) c7f7         →   C) C7 F7         (c → C, f → F + spazio)
C) Caug         →   C) Caug          (a/u letterali, g preceduta da `au` → letterale)
C) C7alt        →   C) C7alt         (a letterale)
C) C-7b9        →   C) C-7b9         (b letterale)
C) Cdim7        →   C) Cdim7         (d letterale)

Per ottenere G7 A7 (con A come lettera ambigua), digita maiuscolo direttamente: G7A7 → G7 A7. L'auto-spazio scatta sempre sulle maiuscole [A-G], qualunque sia la lettera.

Riga note (N))

Auto-correzione tonalità

Le note inserite vengono auto-alterate secondo la tonalità corrente (ordine standard dei diesis F♯-C♯-G♯-D♯-A♯-E♯-B♯; specularmente per i bemolli):

HK) D                    (tonalità di Re maggiore: 2 diesis)
N) f       →   N) f#
N) c       →   N) c#

Durate sintetiche

Tasto Diventa
6 16 (sedicesimo)
3 2. (minima puntata, default) oppure 32 (trentaduesimo) — scegli quale nelle impostazioni
k ^ (legatura di valore)
N) c|6     →   N) c16
N) c4|k    →   N) c4^

Con 3 → 2., digitando subito dopo un 2 si ottiene comunque 32.

Apostrofo / virgola → ottava ±1

N) c4|'    →   N) c'4       (ottava su)
N) c4|,    →   N) c,4       (ottava giù)

Su un evento "vuoto" (solo apostrofo/virgola/tie), un nuovo apostrofo o virgola crea un nuovo evento separato.

Alterazione forzata

Su una nota toccata dal cursore, ! forza l'alterazione: il ! viene messo nella posizione giusta del token, dopo l'altezza e l'eventuale alterazione e prima di ottava e durata. Ripremuto, lo toglie:

N) c4|!     →   N) c!4
N) c#4|!    →   N) c#!4
N) c#!4|!   →   N) c#4

Su pause, spaziatori e note di abbellimento il ! resta com'è digitato. Per il ! a contatto con % vedi ripetizione di misura.

Z + S / Z + F / Z + B / Z + E

Stessi shortcut della riga accordi, più Z + B:

  • Z + S → #
  • Z + F → ♭
  • Z + B → ♭ (alternativa con B invece di F, solo in riga note)
  • Z + E → cambio enarmonico

Auto-spazio fra note

Inserisce automaticamente uno spazio fra eventi successivi quando il cursore sta per produrre un nuovo evento appiccicato al precedente. Vale per le note, le pause r e gli spaziatori s:

N) c4|d        →   N) c4 d
N) c4|r        →   N) c4 r
N) c4|<        →   N) c4 <           (apertura di un chord-stack)
N) [f#|e       →   N) [f# e          (dentro un gruppo grace)
N) <c|e        →   N) <c e           (dentro un chord-stack aperto)

Lo spazio non viene aggiunto se il carattere precedente è già uno spazio o una legatura ^, oppure all'apertura del chord-stack (< + nota → nessuno spazio prima della prima pitch interna).

Tab dentro un gruppo grace

Con il cursore dentro un gruppo grace […], subito dopo una nota, Tab non inserisce una barlinea: completa l'acciaccatura aggiungendo i modificatori /^ che mancano e, se il gruppo è ancora aperto, la ]. Il cursore finisce dopo la ], pronto per la nota principale:

N) [a|Tab       →   N) [a/^]
N) [a4 b|Tab    →   N) [a4 b/^]

p → % su misura vuota

Come in riga accordi, il tasto p (minuscolo) inserisce % in una misura di note ancora vuota, purché preceduto da uno spazio:

N) c4 d e f | p    →   N) c4 d e f | %

Annotazioni note "..."

Dentro un blocco di annotazione (delimitato da virgolette doppie) tutti i caratteri digitati sono letterali, inclusi gli spazi: il parser riconosce il contenuto fra virgolette come un singolo token, quindi non serve alcuna sostituzione automatica.

N) c4"a slow lyric"|       (gli spazi dentro le virgolette restano come tali)

Auto-lowercase delle pitch

In riga note le pitch si scrivono minuscole. Se digiti una lettera maiuscola (C, D, ...), può essere automaticamente convertita in minuscola con il flag autoLowerCase. Disattivato di default — utile se sei abituato a scrivere maiuscole anche in note-row.

+ / − → shift cromatico ±1

Come in riga accordi, + e − shiftano l'evento toccato (nota, chord-stack, gruppo grace) di ±1 semitono:

N) c4|+        →   N) c#4
N) c#4|+       →   N) d4              (iterabile)
N) <c e g>4|+  →   N) <c# f g#>4      (tutto il chord-stack)
N) <c|e g>4    + → N) <c# e g>4       (solo la nota toccata)

In riga note + e − non hanno mai significato sintattico, quindi su un evento toccato sono sempre intercettati come trigger di shift. Eccezioni:

  • Se il cursore non tocca alcun evento (fra due eventi, in una misura vuota, a fine riga) il carattere resta letterale
  • Dopo @ (sintassi di ottava assoluta c@-1_4) il − resta letterale
  • Dentro un'annotazione "..." + / − sono testo libero
  • Con Cmd / Ctrl / Alt premuti, lo shortcut di sistema (es. zoom pagina) ha la precedenza

Riga articolazioni (A))

Inserisce automaticamente uno spazio prima di ogni token di articolazione, tranne quando il nuovo carattere completa una combo (_!, >!, os, ol, tr, tr~, 8.) o si attacca a un testo ("x"-, ("x")):

A) _|>       →   A) _ >
A) _|!       →   A) _!         (portato)
A) >|!       →   A) >!         (accento + staccato)
A) o|l       →   A) ol         (corona lunga)
A) t|r       →   A) tr         (trillo)

Dentro un testo ("…" o riquadro […]) l'auto-spazio non interviene.

Riga dinamiche (D))

L'auto-spazio scatta solo digitando . (placeholder); le altre lettere delle dinamiche formano token multi-carattere (mp, mf, sf, sfz, p<, f>, …) e non vengono spaziate.

Riga lyric (L))

Disattivato di default — attivalo nelle impostazioni di Speedy Entry, sezione Testo. Quando è attivo, premere - (trattino di sillabazione) prepende uno spazio se non c'è già, in modo che ogni sillaba di continuazione sia un token separato allineato sotto la nota successiva:

L) Ma|-ri    →   L) Ma -ri
Tasto / Combo Riga Effetto
Tab qualsiasi musicale inserisce barlinea
Tab dentro […] note completa la grace con /^ e ]
P note / accordi shift +1 semitono
L note / accordi shift −1 semitono
@\| note / accordi espansione al@ (anche <sp>@+Tab su note)
! a contatto con % note / accordi %! (ripremuto: lo toglie)
! su una nota note alterazione forzata (c4 → c!4)
Z + ↑ / Z + ↓ note / accordi shift ±1 semitono
Z + L / Z + P note / accordi inserisce l / p letterale
c…g minuscolo note nota (con auto-correzione tonalità)
C…G maiuscolo accordi radice di accordo
m dopo la radice accordi - (minore)
p (minuscolo) accordi / note (misura vuota) inserisce %
Z + S note / accordi #
Z + F note / accordi ♭
Z + B note ♭
Z + E note / accordi cambio enarmonico
+ / − su evento note / accordi shift cromatico ±1
Z + + / Z + − note / accordi inserisce + / − letterale
6 note 16 (sedicesimo)
3 note 2. (default) o 32
k note ^ (tie)
' / , note ottava +1 / −1
auto-spazio note / accordi / art. / din. separa eventi successivi
auto-spazio prima di - testo (L)), off di default separa le sillabe
auto-uppercase / lowercase accordi / note (lowercase off di default) normalizza la case delle radici / pitch

Approfondimenti

  • Sintassi completa del linguaggio neumaRk (note e durate, accordi con la lista esaustiva dei suffix, ritmo, decoratori, volte, ecc.): documentazione e specifica su neumark.dev.
  • Tutte le impostazioni Speedy Entry: tieni premuto il pulsante Speedy Entry nella toolbar di Write.
  • Le scorciatoie da tastiera di Write fuori da Speedy Entry: vedi Write.