niff il formato niff massimiliano pancini lim-laboratorio di informatica musicale

85
Il formato NIFF NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Upload: tiziana-capone

Post on 02-May-2015

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFFMassimiliano Pancini

LIM-Laboratorio di Informatica Musicale

Page 2: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF

Cos’e’ il NIFF ?

Page 3: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF

N.I.F.F. (Notation Interchange File Format)

MIDI Files:Descrizione simbolica dell’informazione musicale rivolta all’esecuzione

Page 4: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFFMIDI Files:

Descrizione simbolica dell’informazione musicale rivolta all’esecuzione

POVERO DI INFORMAZIONI:GRAFICHE E MUSICOLOGICHE

Page 5: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 6: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 7: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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)

Page 8: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 9: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 10: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 11: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 12: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 13: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 14: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 15: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 16: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF

Chunk

Il TAG

Tipo di Chunk

Dimensione dati

DATI

=parte opzionale del chunk

TagChunk

Tag

Tag

Page 17: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF

Tag

Il TAG=parte opzionale del chunk

Page 18: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF

Tag

Il TAG

Tipo di Tag

Dimensione dati

DATI

=parte opzionale del chunk

Page 19: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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’

Page 20: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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.

Page 21: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 22: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 23: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF Lo spartito…

E’ presente in ogni file niff,Contiene tutte le informazioni di partitura

Score

Page 24: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 25: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF Lo spartito…

ScorePart

E’ un flusso di eventi musicali ritmicamente indipendenti all’interno di una parte

Voice

Page 26: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF Lo spartito…

Score

Voice

Part

E’ la struttura della pagina dello spartitoSimboli che rappresentano eventi simultaneisono allineati verticalmente

System

Page 27: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF Lo spartito…

Score

Voice

Part

System

Rappresenta il singolo pentagramma, su cui vengono visualizzati i simboli musicali

Staff

Page 28: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 29: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF Lo spartito…

Score

Voice

Part

System

StaffTime-Slice

Page 30: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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.)

Page 31: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 32: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 33: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 34: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF La struttura1 Part per pentagramma

Pentagramma (Staff Header Chunk)

chunk chunk chunkchunk …chunk

PART ID = numero della part

simboli

Page 35: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF La strutturaPart diversi su un pentagrammaPentagramma (Staff Header Chunk)

chunk chunk chunkchunk …chunk

xxxx

………PartID = m

………PartID = p

………PartID = m

………PartID = ..

Page 36: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFF La strutturaDentro al pentagrammaPentagramma (Staff Header Chunk)

chunk chunk chunkchunk …chunk

Time slice Ch.………

nota………

………

Time slice Ch.………

Page 37: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 38: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 39: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 40: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 41: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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”

Page 42: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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 :

Page 43: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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 :

Page 44: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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)

Page 45: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 46: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 47: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 48: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 49: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 50: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 51: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 52: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 53: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 54: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 55: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 56: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 57: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 58: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

Il formato

NIFFNIFFIntegrazione MIDI

Nessuna correlazione

Setup section Data section

MIDINIFF

Informazione rappresentabile in entrambi i formati

Page 59: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 60: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 61: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 62: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 63: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 64: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 65: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 66: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 67: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 68: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 69: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 70: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 71: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 72: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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.

Page 73: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 74: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 75: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 76: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 77: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 78: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 79: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 80: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 81: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 82: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 83: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 84: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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

Page 85: NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

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