Upload
tiziana-capone
View
225
Download
0
Embed Size (px)
Citation preview
Il formato
NIFFNIFFMassimiliano Pancini
LIM-Laboratorio di Informatica Musicale
Il formato
NIFFNIFF
Cos’e’ il NIFF ?
Il formato
NIFFNIFF
N.I.F.F. (Notation Interchange File Format)
MIDI Files:Descrizione simbolica dell’informazione musicale rivolta all’esecuzione
Il formato
NIFFNIFFMIDI Files:
Descrizione simbolica dell’informazione musicale rivolta all’esecuzione
POVERO DI INFORMAZIONI:GRAFICHE E MUSICOLOGICHE
Il formato
NIFFNIFF Obiettivi:
1) Completezza notazionale
(editoria, acquisizione da scanner)
2) Equivalenza con il MIDI (informazione relativa all’esecuzione)
3) Espandibilita’, Flessibilita’ e Compattezza
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)
List e Chunk Lunghezza variabile
Elementi principali:
Form
Tag
“contenitore”
Parti opzionali
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)
Form “contenitore principale”
All’inizio del file, contiene tutti gli altri list e chunk
RIFF/RIFX
Dimensione dati in Form
Tipo di file (NIFF)
DATI(list & Chunk)
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)
RIFF/RIFX
Dimensione dati in Form
Tipo di file (NIFF)
DATI(list & Chunk)
Form
LIST………
LIST………
Chunk
Chunk
………Chunk
Chunk
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)
RIFF/RIFX
Dimensione dati in Form
Tipo di file (NIFF)
DATI(list & Chunk)
Form
POINTER (4 byte )Nome del chunk(4 byte )
Chunk Length Table
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)Form
POINTER 4Nome del chunk 4
POINTER 1Nome del chunk 1
POINTER 5Nome del chunk 5
POINTER 2Nome del chunk 2
POINTER 3Nome del chunk 3
Chunk Length Table
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)Form
POINTERNome del chunk 2
Chunk Length Table
CHUNK 2 Tag1 Tag2 Tag3 Tag4 …
CHUNK 1
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)
RIFF/RIFX
Dimensione dati in Form
Tipo di file (NIFF)
DATI(list & Chunk)
Form
POINTER (4 byte )nome del chunk (4 byte )
Part ID
Part Name
Part Abbreviation
Max. num. di Pentagrammi
Part Description Chunk
MIDI Ch. &Cable number
Transpose
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)Form
Part ID
Part Name
Part Abbreviation
Max. num. di Pentagrammi
Part List
MIDI Ch. &Cable number
Transpose
Part ID
Part Name
Part Abbreviation
Max. num. di Pentagrammi
MIDI Ch. &Cable number
Transpose
Part ID
Part Name
Part Abbreviation
Max. num. di Pentagrammi
MIDI Ch. &Cable number
Transpose
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)
LIST………
Chunk
DATI(list & Chunk)
Form
List = struttura, contenitore
“LIST”
Dimensione dati
Tipo dati
DATI
Il formato
NIFFNIFFSegue le regole dettate dalla specifica
per il formato RIFF Microsoft
(Resource Interchange File Format)
LIST………
Chunk
DATI(list & Chunk)
Form
Chunk
Tipo di Chunk
Dimensione dati
DATI
=informazione codificata
Il formato
NIFFNIFF
Chunk
Il TAG
Tipo di Chunk
Dimensione dati
DATI
=parte opzionale del chunk
TagChunk
Tag
Tag
…
Il formato
NIFFNIFF
Tag
Il TAG=parte opzionale del chunk
Il formato
NIFFNIFF
Tag
Il TAG
Tipo di Tag
Dimensione dati
DATI
=parte opzionale del chunk
Il formato
NIFFNIFF
Nei tipi di dati dove e’ definita la parte variabile troviamo sempre indicata la dimensione dell’area riservata ai dati
??Un “ perché ” importante
Questo permette al linguaggio di soddisfare il requisito di flessibilita’
Il formato
NIFFNIFF
Infatti, questo mette in grado il programma che utilizza il formato NIFF di ignorare ogni dato che non riconosce.
??
Questo implica la possibilita’ di definire nuovi tipi Questo implica la possibilita’ di definire nuovi tipi di dati da aggiungere al formato, salaguardando la di dati da aggiungere al formato, salaguardando la compatibilita’ delle versioni precedenti.compatibilita’ delle versioni precedenti.
Il formato
NIFFNIFF
I produttori di software commerciale o i ricercatori accademici possono definire nuovi chunk o tag propri , registrando un NIFF user ID riservato
??
i chunk definiti da utente, avranno il codice identificativo “user”, e memorizzeranno nei primi due byte dello spazio riservato ai dati il NIFF user ID
Il formato
NIFFNIFF
I produttori di software commerciale o i ricercatori accademici possono definire nuovi chunk o tag propri , registrando un NIFF user ID riservato
??
I tag definiti da utente hanno il tag ID uguale a 255 (x’FF’)e memorizzeranno nei primi due byte dello spazio
riservato ai dati del tag il NIFF user ID
Il formato
NIFFNIFF Lo spartito…
E’ presente in ogni file niff,Contiene tutte le informazioni di partitura
Score
Il formato
NIFFNIFF Lo spartito…
Score
E’ un flusso di eventi musicali. Il vero e proprio “spartito”, relativo ad uno o ad un gruppo di strumenti suonati dallo stesso strumentista
Part
Il formato
NIFFNIFF Lo spartito…
ScorePart
E’ un flusso di eventi musicali ritmicamente indipendenti all’interno di una parte
Voice
Il formato
NIFFNIFF Lo spartito…
Score
Voice
Part
E’ la struttura della pagina dello spartitoSimboli che rappresentano eventi simultaneisono allineati verticalmente
System
Il formato
NIFFNIFF Lo spartito…
Score
Voice
Part
System
Rappresenta il singolo pentagramma, su cui vengono visualizzati i simboli musicali
Staff
Il formato
NIFFNIFF Lo spartito…
Score
Voice
Part
System
Staff
E’ il meccanismo per temporizzare gli eventi all’interno della partitura
Time-sliceInizio Misura: tempo dall’inizio dello spartito
Inizio Evento:tempo dall’inizio della misura
Il formato
NIFFNIFF Lo spartito…
Score
Voice
Part
System
StaffTime-Slice
Il formato
NIFFNIFF La struttura
Setup section•NIFF Information chunk(versione NIFF, provenienza, unita’ di misura, bpm)
Data section
•Chunk length table(tabella che configura la lunghezza fissa di ciascun chunk)
•Parts list(Chunk ID, Chunk Name, massimo numero di pentagrammi,Canale e strumento MIDI associati, ecc.)
Il formato
NIFFNIFF La struttura
Setup section Data section
Informazione musicale
Contiene la vera e propria informazione musicale sotto tutti gli aspetti:•Notazionale •Esecutivo•Grafico…
Pagina
Pentagramma Pentagramma ….
simboli simboli simbolisimboli …simboli(note, pause, indicazioni temporali)
(accollatura)system system system
Il formato
NIFFNIFF La struttura
Pagina
Pentagramma Pentagramma ….
simboli simboli simbolisimboli …simboli(note, pause, indicazioni temporali)
(accollatura)system system system
Sono Liste:Composte da un header chunk e,
di seguito, i chunk relativi ai vari
simboli
Il formato
NIFFNIFF La struttura
Pagina
Pentagramma Pentagramma ….
simboli simboli simbolisimboli …simboli(note, pause, indicazioni temporali)
(accollatura)system system system
Una LISTA-pentagramma puo’ contenere
simboli musicali appartenenti a piu’ di una PART
Il formato
NIFFNIFF La struttura1 Part per pentagramma
Pentagramma (Staff Header Chunk)
chunk chunk chunkchunk …chunk
PART ID = numero della part
simboli
Il formato
NIFFNIFF La strutturaPart diversi su un pentagrammaPentagramma (Staff Header Chunk)
chunk chunk chunkchunk …chunk
xxxx
………PartID = m
………PartID = p
………PartID = m
………PartID = ..
Il formato
NIFFNIFF La strutturaDentro al pentagrammaPentagramma (Staff Header Chunk)
chunk chunk chunkchunk …chunk
Time slice Ch.………
nota………
………
Time slice Ch.………
Il formato
NIFFNIFF
Scopi
•Configurabilita’ per programmi di editoria e OMR
•Sufficiente precisione grafica
•Interi VS floating point per le coordinate
•Congruenza delle informazioni grafiche e semantiche
Unita’ di misura e sistema di coordinate
Il formato
NIFFNIFF
Unita’ assolute
Descritte nella sezione di Setup. Descrivono la densita’ di unita’ assolute per unita’ standard
Rappresentati da :•tipo di unita’ standard (inches, centrimetri, punti..)•densita’ per unita’ standard
Unita’ di misura e sistema di coordinate
Il formato
NIFFNIFF
Staff step
Riferimento verticale rispetto alla linea inferiore del pentagramma
Il simbolo viene posizionato verticalmente nel pentagramma in base a questo valore
Unita’ di misura e sistema di coordinate
Il formato
NIFFNIFF
La pagina
Altezza
Lo 0 cartesiano e’ nell’angolo in alto a sinistra
LarghezzaUnita’ assolute +
+
0
Unita’ di misura e sistema di coordinate
Il formato
NIFFNIFF
Dimensione dei font di testo :
E’ espressa in twips (1/20 di punto)
Unita’ di misura e sistema di coordinate
Permette, nei programmi in cui e’ previsto, di proporzionare il testo in modo fine rispetto alla dimensione “punto”
Il formato
NIFFNIFF
E’ espressa in due differenti modi:•dimensione (in twips)•Altezza dello spazio occupato(in unita’ assolute)(quest’ultimo per ovviare alla non univocita’ del concetto di “size” nel caso di tipi di font diversi)
Unita’ di misura e sistema di coordinate
Dimensione dei font musicali :
Il formato
NIFFNIFF
Il NIFF e’ stato progettato per poter contemporaneamente fornire informazioni sulle durate precise per l’aspetto simbolico, e sufficienti per l’esecuzione tramite un sequencer o la trasformazione a MIDI.
Rappresentazione temporale
Obiettivi :
Il formato
NIFFNIFF
Rappresenta il punto di inizio della nota.A livello simbolico si rappresenta con una frazione, che indica la distanza temporale dall’inizio della battutaA livello esecutivo la frazione e’convertita in MIDI ticks (con la relazione “MIDI ticks per quarto” ), a cui verranno aggiunti un offset dovuto all’interpretazione
Rappresentazione temporale
Start time Durata
(Istante di inizio)
DurataStart time
Il formato
NIFFNIFF
A livello simbolico si rappresenta con una frazione, pari alla durata della figura della notaI gruppi irregolari sono espressi come rapporto tra la durata quella che avrebbero le note che li costituiscono e quella effettiva.Ancora, a livello esecutivo la frazione e’convertita in MIDI ticks a cui verranno aggiunti un offset dovuto all’interpretazione
Rappresentazione temporale
Il formato
NIFFNIFF
Nel formato NIFF sono rappresentati tramite chunk associati alle note alcune indicazioni grafiche, tra cui la forma della testa della nota, o il numero di punti o di gambi della nota, o al contrario informazioni notazionali che compensano e permettano l’assenza di tutte le note necessarie a completare una battuta, o abbellimenti i cui valori non vengono calcolati.
Rappresentazione temporale
Caratteristiche grafiche
Il formato
NIFFNIFF
Barra della battuta:
e’ un chunk che viene notato come fine della battuta anziche’ l’inizio (come da teoria musicale) e quindi cade prima del time slice chunk di inizio battuta
Rappresentazione temporale
Caratteristiche grafiche
Il formato
NIFFNIFFRappresentazione temporale
Caratteristiche graficheCambio di chiave, armatura o tempo:
•Anche questo e’ rappresentato da un chunk che , pur seguendo il Barline chunk, viene posto anch’esso prima del time slice chunk di inizio battuta.
•Nel caso in cui siano posti all’inizio del pentagramma, seguono invece immediatamente il time slice chunk di inizio battuta.
•Nel caso in cui il cambio sia in mezzo a una battuta, essi seguono il chunk che rappresenta l’evento successivo
Il formato
NIFFNIFFI FONT CUSTOM
in un file NIFF si possono definire tipi di Font specialiNella sezione setup, puo’ esistere una tabella opzionale chiamata Font Description List. E’ composta da una serie di Font Description Chunks. Essi vengono indentificati come FONTIDX data type
Nome Font
Dimensione del font
Stile(NCGS)
Posizione nel file(Se presente)
E’ un puntatore ad un font Post Script, nella Custom Graphic List
Il formato
NIFFNIFFI FONT CUSTOM
La Custom Graphic List e’ una tabella opzionale che contiene i Font (in formato Post Script Type 1 o Type 3)e elementi grafici proprietari (in formato EPS, encapsulated Post Script ) in una struttura di chunk
Il formato
NIFFNIFFIntegrazione MIDI
Un file MIDI puo’ essere integrato in un file NIFFNella sezione setup, ciascuna part puo’ essere globalmente assegnata ad un numero di canale MIDI e si puo’ fissare il numero nel part description chunk.pu
Il formato
NIFFNIFFIntegrazione MIDI
Nella sezione setup, ciascuna part puo’ essere globalmente assegnata ad un numero di canale e periferica MIDI e si puo’ fissare il numero nel part description chunk.Tramite il Part Description Override tag si puo’ modificare in ogni momento della partitura la configurazione MIDI attuale
Setup section Data section
Il formato
NIFFNIFFIntegrazione MIDI
Nella sezione data, sono utilizzati i MIDI Data Stream chunk e iMIDI Performance tag.
Setup section Data section
A seconda della notazione ci sono 4 possibili relazioni tra i simboli musicali e I dati MIDI
Il formato
NIFFNIFFIntegrazione MIDI
Correlazione uno a uno:e’ il caso di note (il simbolo “testa della nota”)che genera un messaggio di Note On.Vengono forniti dal MIDI Performance Tag, aggiunto al simbolo della nota, altezza, dinamica, e i tempi assoluti di partenza e durata in MIDI Ticks
Setup section Data section
Il formato
NIFFNIFFIntegrazione MIDI
Correlazione uno a molti:e’ l’esempio di un trillo , in cui un solo simbolo grafico viene “esploso” in diversi dettagli esecutivi,e rappresentato in NIFF da un MIDI Data Stream chunk, ancorato al simbolo grafico in questione.Contiene il numero di eventi, a partire da dove si inserisce
Setup section Data section
Il formato
NIFFNIFFIntegrazione MIDI
Correlazione molti a molti:e’ l’esempio di un portamento , cioe’ una combinazione di simboli grafici che genera un traffico di segnali MIDI.
Setup section Data section
In questo caso il MIDI Data Stream chunk,e’ un simbolo composto da piu’ nodi, dove ogni nodo corrisponde ad un simbolo notazionale.Nell’esempio, solo il primo nodo contiene la serie di
messagi MIDI Pitch Bend
Il formato
NIFFNIFFIntegrazione MIDI
Nessuna correlazione La notazione non ha una interpretazione esecutiva (MIDI) univoca, o non esiste un equivalente nello
standard MIDI.E’ l’esempio del simbolo grafico “espressivo” o dei valori MIDI di informazioni sul PANNING
Setup section Data section
Il formato
NIFFNIFFIntegrazione MIDI
Nessuna correlazione
Setup section Data section
MIDINIFF
Informazione rappresentabile in entrambi i formati
Il formato
NIFFNIFFIntegrazione MIDI
Setup section Data section
In questo caso il MIDI Data Stream chunk contiene tutte le informazioni MIDI non rappresentabili simbolicamente e
viene ancorato al Time Slice
Il formato
NIFFNIFF
1. Intavolatura per chitarra2. Simboli per chitarra3. Nomi di spartiti e pentagrammi4. Numerazione delle battute e segni di richiamo5. Ritornelli e code
Altre possibilita’
Trombe{
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________
TAB
123. In la
Il formato
NIFFNIFFAltre possibilita’
Esempio: Un passaggio con note di dimensione piu’ piccola: viene inserito il Tag Activate Chunk per il tag Small Size all’inizio della sequenza dei simboli “nota” all’interno del pentagramma, e il Tag Activate Chunk alla fine della medesima.
Attivazione e disattivazione di un Tag
Il formato
NIFFNIFFAltre possibilita’
Questa possibilita’ puo’ essere anche impiegataselettivamente, solo sui simboli relativi ad unavoce o ad una parteQuesto e’ possibile in quanto i simboli sonorappresentati tramite chunk, e al loro interno sipuo’ scegliere quelli che abbiano un determinato
Voice ID o Part ID
Attivazione e disattivazione di un Tag
Il formato
NIFFNIFFAncoraggio
In NIFF, un simbolo dal cui posizionamentodipenda quello di uno o piu’ simboli e’ chiamatoancora.
Per ogni tipo di chunk che porta un simbolo e’definito un chunk ancora.
Simboli dipendenti e loro ancore
Il formato
NIFFNIFFAncoraggio
1. Il simbolo dipendente appare fisicamente nel file prima possibile dopo la sua ancora.
2. Quando ci sono piu’ tipi di simboli dipendenti dalla stessa ancora essi compaiono in ordine di prossimita’ grafica, dal piu’ vicino al piu’ lontano
Simboli dipendenti e loro ancore
Il formato
NIFFNIFFAncoraggio
Vediamo come esempio il caso della nota, che e’un accordo degenere: il “gambo” della nota(stem)e’ l’ancora, e la testa della nota (notehead)e’ dipendente. Infatti dove viene posizionatal’asta della nota, c’e’ anche la testa.
Simboli dipendenti e loro ancore
Il formato
NIFFNIFFAncoraggio
Qualora sia un accordo con seconde, il chunkdipendente (notehead) puo’ adattare il posizionamento del simbolo grazie al valore di“offset” che muove il posizionamento delcarattere dal punto “caldo” (coordinata del carattere).
Simboli dipendenti e loro ancore
Il formato
NIFFNIFF
StemNotehead, staff step=3, duration=1/4Fingering, shape=1 Notehead, staff step=7, duration=1/4Ornament, shape=short trill Accidental, shape=sharp, Small Size, Anchor Override=Ornament, Logical Placement=above
Fig. 2a
Il formato
NIFFNIFFFig.2b
Time-Slice, type=event,start time=0/4 Stem Notehead, staff step=5, duration=1/4 Articulation, shape=staccato Parenthesis, shape = "(", Anchor Override=Articulation,Logical Placement = left, ID=1, Number of Nodes=2 [multi-node] Time-slice, type=event, start-time=1/4 Stem Notehead, staff step=5, duration=1/4Articulation, shape=staccato Time-slice, type=event, start-time=2/4 Stem Note, staff step=5, duration=1/4 Articulation, shape=staccato Parenthesis, shape = ")", Anchor Override=Articulation,Logical Placement = right, ID=1
Il formato
NIFFNIFFFig.3 a sinistra
Staff 1) Time-slice, type=event, start time=1/8 Stem Beam, ID=1, Number of Nodes=3,parts to left=1, parts to right=1Notehead, staff step= 2, duration=1/8 Time-slice, type=event, start time=2/8 Stem Beam, ID=1, part to left=1, parts to right=0 Notehead, staff step=5, duration=1/8 (Staff 2) Time-slice, type=event, start-time=0/8 Stem Beam, ID=1,parts to left=0, parts to right =1 NoteHead, Staff step = 6, duration = 1 / 8
Il formato
NIFFNIFFFig.3 a destra
(Staff 1) Time-slice. type=event, start-time=0/8 Rest, duration=1/8 Time-slice. type=event, start-time=1/8 Rest, duration=1/8 Time-slice. type=event, start-time=2/8 Stem, ID=1, Number of nodes=2 Notehead, staff step=2, duration=1/4 Notehead, staff step=-1, duration=1/4
(staff 2) Time-slice. type=event, start-time=0/8 Stem Notehead, staff step=6, duration=1/8 Time-slice. type=event, start-time=1/8 Stem Notehead, staff step=6, duration=1/8 Time-slice. type=event, start-time=2/8 Stem, ID=1 Notehead, staff step=7, duration=1/4
Il formato
NIFFNIFFDisposizioni
•Disposizione di defaultl’unica informazione di impaginazione e’ la sintassi musicaleIl programma utilizza i suoi defaults per l’impaginazione
•Disposizione LogicaFornisce le relazioni tra simboli dipendenti e le loro ancore
•Disposizione AssolutaViene indicato per ogni simbolo esattamente dove questo debba essere posizionato
Il formato
NIFFNIFF
Sebbene la disposizione per misure assolute possa sembrare la piu’precisa, ecco alcuni casi che mettono in crisi la sua fedelta’ conl’originale
Criteri di scelta tra posizionamenti diversi
Disposizioni
il programma che legge il file NIFF non ha a disposizione gli stessi font del programma che l’haprodotto.
Il formato
NIFFNIFF
Sebbene la disposizione per misure assolute possa sembrare la piu’precisa, ecco alcuni casi che mettono in crisi la sua fedelta’ conl’originale
Criteri di scelta tra posizionamenti diversi
Disposizioni
Se nel programma che legge il file NIFF non e’implementato il concetto di layout di pagina, il posizionamento assoluto devono essere scartati, e quindi restano sempre validi solo i posizionamentiLOGICI
Il formato
NIFFNIFF
Sebbene la disposizione per misure assolute possa sembrare la piu’precisa, ecco alcuni casi che mettono in crisi la sua fedelta’ conl’originale
Criteri di scelta tra posizionamenti diversi
Disposizioni
L’utente puo’ decidere di utilizzare per motivi di funzionalita’ ed efficacia ai suoi scopi le features del programma che utilizza per leggere il file NIFF, tralasciando le indicazioni associate dall’editore del file NIFF originale
Il formato
NIFFNIFF<!DOCTYPE niff SYSTEM "intdtd.sgm"><niff>
<setup><info>6b 1</info><partsL>
<part><id>p0<name>part0</part><part><id>p1<name>part1</part><part><id>p2<name>part2</part><part><id>p3<name>part3</part><part><id>p4<name>part4</part><part><id>p5<name>part5</part><part><id>p6<name>part6</part><part><id>p7<name>part7</part><part><id>p8<name>part8</part><part><id>p9<name>part9</part><part><id>p10<name>part10</part><part><id>p11<name>part11</part><part><id>p12<name>part12</part><part><id>p13<name>part13</part><part><id>p14<name>part14</part><part><id>p15<name>part15</part>
</partsL></setup>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<data> <pageL> <systemL> <staffL>
<stafhedC></stafhedC> <ts><tstype>2</tstype><top>0<bottom>4</ts> <clef><type>treble<octave>0</octave></clef> <timesig><top>4</top><bottom>4</bottom></timesig> <rest><duration><top>4<bottom>4<tag><partid>p0</partid></rest> <ts><tstype>2</tstype><top>4<bottom>4</ts> <ts><tstype>1</tstype><top>4<bottom>4</ts> <rest><duration><top>4<bottom>4<tag><partid>p0</partid></rest> <ts><tstype>2</tstype><top>4<bottom>4</ts> <ts><tstype>1</tstype><top>8<bottom>4</ts> <rest><duration><top>4<bottom>4<tag><partid>p0</partid></rest> <ts><tstype>2</tstype><top>4<bottom>4</ts> <ts><tstype>1</tstype><top>12<bottom>4</ts> <rest><duration><top>3<bottom>4<tag><partid>p0</partid></rest> <ts><tstype>2</tstype><top>3<bottom>4</ts> <stem></stem> <notehead><stafstep>5<duration><top>1<bottom>4 <tag><partid>p0</partid></notehead> </tie> <ts><tstype>2</tstype><top>4<bottom>4</ts> <ts><tstype>1</tstype><top>16<bottom>4</ts> <stem></stem>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<notehead><stafstep>5<duration><top>1<bottom>8<tag><partid>p0</partid></notehead></tie><ts><tstype>2</tstype><top>1<bottom>8</ts><stem></stem><notehead><stafstep>4<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>16</ts><stem></stem><notehead><stafstep>5<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>1<bottom>4</ts><stem></stem><notehead><stafstep>6<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>5<bottom>16</ts><stem></stem><notehead><stafstep>5<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>8</ts><stem></stem><notehead><stafstep>1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>7<bottom>16</ts><stem></stem><notehead><stafstep>3<duration><top>1<bottom>16 <tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>2<bottom>4</ts><stem></stem><notehead><stafstep>5<duration><top>1<bottom>8<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>5<bottom>8</ts><stem></stem>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<notehead><stafstep>5 <duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>11<bottom>16</ts><stem></stem><notehead><stafstep>3 <duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>4</ts><stem></stem><notehead><stafstep>5 <duration><top>1<bottom>4<tag><partid>p0</partid></notehead></tie><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>20<bottom>4</ts></staffL><staffL><stafhedC></stafhedC><ts><tstype>2</tstype><top>0<bottom>4</ts><clef><type>treble<octave>0</octave></clef><timesig><top>4</top><bottom>4</bottom></timesig><rest> <duration><top>4<bottom>4<tag><partid>p1</partid></rest><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>4<bottom>4</ts><rest><duration><top>4<bottom>4<tag><partid>p1</partid></rest><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>8<bottom>4</ts><rest><duration><top>4<bottom>4<tag><partid>p1</partid></rest><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>12<bottom>4</ts>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<rest><duration><top>4<bottom>4<tag><partid>p1</partid></rest><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>16<bottom>4</ts><rest><duration><top>4<bottom>4<tag><partid>p1</partid></rest><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>20<bottom>4</ts>
</staffL><rest><duration><top>4<bottom>4<tag><partid>p15</partid></rest><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>20<bottom>4</ts>
</staffL> </systemL></pageL><pageL> <systemL> <staffL>
<stafhedC></stafhedC><ts><tstype>2</tstype><top>0<bottom>4</ts><clef><type>treble<octave>0</octave></clef><stem></stem><notehead><stafstep>5<duration><top>1<bottom>8<tag><partid>p0</partid></notehead></tie><ts><tstype>2</tstype><top>1<bottom>8</ts><stem></stem><notehead><stafstep>4<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>16</ts><stem></stem>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<notehead><stafstep>5<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>1<bottom>4</ts><stem></stem><notehead><stafstep>3<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>5<bottom>16</ts><stem></stem><notehead><stafstep>2<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>8</ts><stem></stem><notehead><stafstep>0<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>7<bottom>16</ts><stem></stem><notehead><stafstep>1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>2<bottom>4</ts><stem></stem><notehead><stafstep>2<duration><top>1<bottom>2<tag><partid>p0</partid></notehead></tie><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>24<bottom>4</ts><stem></stem><notehead><stafstep>2<duration><top>1<bottom>16<tag><partid>p0</partid></notehead></tie><ts><tstype>2</tstype><top>1<bottom>16</ts><stem></stem><notehead><stafstep>1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>1<bottom>8</ts><stem></stem>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<notehead><stafstep>0<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>16</ts><stem></stem><notehead><stafstep>-1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>1<bottom>4</ts><stem></stem><notehead><stafstep>0<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>5<bottom>16</ts><stem></stem><notehead><stafstep>1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>8</ts><stem></stem><notehead><stafstep>2<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>7<bottom>16</ts><stem></stem><notehead><stafstep>3<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>2<bottom>4</ts><stem></stem><notehead><stafstep>2<duration><top>1<bottom>2<tag><partid>p0</partid></notehead></tie><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>28<bottom>4</ts>
</staffL>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<pageL> <systemL> <staffL>
<stafhedC></stafhedC><ts><tstype>2</tstype><top>0<bottom>4</ts><clef><type>treble<octave>0</octave></clef><stem></stem><notehead><stafstep>2<duration><top>1<bottom>16<tag><partid>p0</partid></notehead></tie><ts><tstype>2</tstype><top>1<bottom>16</ts><stem></stem><notehead><stafstep>3<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>1<bottom>8</ts><stem></stem><notehead><stafstep>4<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>16</ts><stem></stem><notehead><stafstep>3<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>1<bottom>4</ts><stem></stem><notehead><stafstep>2<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>5<bottom>16</ts><stem></stem><notehead><stafstep>1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>3<bottom>8</ts><stem></stem><notehead><stafstep>0<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>7<bottom>16</ts><stem></stem>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<notehead><stafstep>-1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead>
<ts><tstype>2</tstype><top>2<bottom>4</ts><stem></stem><notehead><stafstep>0<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>9<bottom>16</ts><stem></stem><notehead><stafstep>-1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>5<bottom>8</ts><stem></stem><notehead><stafstep>-2<duration><top>1<bottom>4<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>7<bottom>8</ts><stem></stem><notehead><stafstep>-2<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>15<bottom>16</ts><stem></stem><notehead><stafstep>-1<duration><top>1<bottom>16<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>32<bottom>4</ts><stem></stem><notehead><stafstep>0<duration><top>1<bottom>8<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>1<bottom>8</ts><stem></stem><notehead><stafstep>1<duration><top>1<bottom>8<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>1<bottom>4</ts><stem></stem><notehead><stafstep>-1<duration><top>1<bottom>8<tag><partid>p0</partid></notehead><ts><tstype>2</tstype><top>2<bottom>4</ts><stem></stem>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF<notehead><stafstep>2<duration><top>1<bottom>2<tag><partid>p0</partid></notehead></tie><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>36<bottom>4</ts></staffL><staffL><stafhedC></stafhedC><ts><tstype>2</tstype><top>0<bottom>4</ts><clef><type>treble<octave>0</octave></clef><rest><duration><top>4<bottom>4<tag><partid>p1</partid></rest><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>32<bottom>4</ts><rest><duration><top>4<bottom>4<tag><partid>p1</partid></rest><ts><tstype>2</tstype><top>4<bottom>4</ts><ts><tstype>1</tstype><top>36<bottom>4</ts></staffL>
Un esempio: Il BoleroBolero di Ravel
Il formato
NIFFNIFF Riferimenti
Definizione:http://niffty.sourceforge.net/NIFF6b/NIFF6b.html
Tesi interne:Tonino Mendicino Prototipo software per il trattamento integrato di codici MIDI e NIFF-Modelli formali di strutture musicali Stefano Guagnini (Capitolo 2)Metodi e strumenti per la segmentazione automatica di partiture musicali rappresentate in NIFF