La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale."— Transcript della presentazione:

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

2 NIFF Il formato NIFF Cose il NIFF ?

3 NIFF Il formato NIFF N.I.F.F. (Notation Interchange File Format) MIDI Files: Descrizione simbolica dellinformazione musicale rivolta allesecuzione

4 NIFF Il formato NIFF MIDI Files: Descrizione simbolica dellinformazione musicale rivolta allesecuzione POVERO DI INFORMAZIONI: GRAFICHE E MUSICOLOGICHE

5 NIFF Il formato NIFF Obiettivi: 1) Completezza notazionale (editoria, acquisizione da scanner ) 2) Equivalenza con il MIDI (informazione relativa allesecuzione) 3) Espandibilita, Flessibilita e Compattezza

6 NIFF Il formato NIFF Segue 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

7 NIFF Il formato NIFF Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Form contenitore principale Allinizio del file, contiene tutti gli altri list e chunk RIFF/ RIFX Dimensione dati in Form Tipo di file (NIFF) DATI (list & Chunk)

8 NIFF Il formato NIFF Segue 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

9 NIFF Il formato NIFF Segue 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

10 NIFF Il formato NIFF Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Form POINTER 4Nome del chunk 4POINTER 1Nome del chunk 1POINTER 5Nome del chunk 5 POINTER 2Nome del chunk 2 POINTER 3Nome del chunk 3 Chunk Length Table

11 NIFF Il formato NIFF Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Form POINTERNome del chunk 2 Chunk Length Table CHUNK 2Tag1Tag2Tag3Tag4… CHUNK 1

12 NIFF Il formato NIFF Segue 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 Trans pose

13 NIFF Il formato NIFF Segue 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 Trans pose Part ID Part Name Part Abbreviation Max. num. di Pentagrammi MIDI Ch. & Cable number Trans pose Part ID Part Name Part Abbreviation Max. num. di Pentagrammi MIDI Ch. & Cable number Trans pose

14 NIFF Il formato NIFF Segue 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

15 NIFF Il formato NIFF Segue 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

16 NIFF Il formato NIFF Chunk Il TAG Tipo di Chunk Dimensione dati DATI =parte opzionale del chunk Tag Chunk Tag …

17 NIFF Il formato NIFF Tag Il TAG =parte opzionale del chunk

18 NIFF Il formato NIFF Tag Il TAG Tipo di Tag Dimensione dati DATI =parte opzionale del chunk

19 NIFF Il formato NIFF Nei tipi di dati dove e definita la parte variabile troviamo sempre indicata la dimensione dellarea riservata ai dati ? Un perché importante Questo permette al linguaggio di soddisfare il requisito di flessibilita

20 NIFF Il formato NIFF 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 di dati da aggiungere al formato, salaguardando la compatibilita delle versioni precedenti.

21 NIFF Il formato NIFF 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 identificativouser, e memorizzeranno nei primi due byte dello spazio riservato ai dati il NIFF user ID

22 NIFF Il formato NIFF 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 (xFF) e memorizzeranno nei primi due byte dello spazio riservato ai dati del tag il NIFF user ID

23 NIFF Il formato NIFF Lo spartito… E presente in ogni file niff, Contiene tutte le informazioni di partitura Score

24 NIFF Il formato NIFF 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

25 NIFF Il formato NIFF Lo spartito… Score Part E un flusso di eventi musicali ritmicamente indipendenti allinterno di una parte Voice

26 NIFF Il formato NIFF Lo spartito… Score Voice Part E la struttura della pagina dello spartito Simboli che rappresentano eventi simultanei sono allineati verticalmente System

27 NIFF Il formato NIFF Lo spartito… Score Voice Part System Rappresenta il singolo pentagramma, su cui vengono visualizzati i simboli musicali Staff

28 NIFF Il formato NIFF Lo spartito… Score Voice Part System Staff E il meccanismo per temporizzare gli eventi allinterno della partitura Time-slice Inizio Misura: tempo dallinizio dello spartito Inizio Evento: tempo dallinizio della misura

29 NIFF Il formato NIFF Lo spartito… Score Voice Part System Staff Time-Slice

30 NIFF Il formato NIFF 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.)

31 NIFF Il formato NIFF La struttura Setup section Data section Informazione musicale Contiene la vera e propria informazione musicale sotto tutti gli aspetti: Notazionale Esecutivo Grafico… Pagina Pentagramma …. simboli … (note, pause, indicazioni temporali) (accollatura) system

32 NIFF Il formato NIFF La struttura Pagina Pentagramma …. simboli … (note, pause, indicazioni temporali) (accollatura) system Sono Liste: Composte da un header chunk e, di seguito, i chunk relativi ai vari simboli

33 NIFF Il formato NIFF La struttura Pagina Pentagramma …. simboli … (note, pause, indicazioni temporali) (accollatura) system Una LISTA-pentagramma puo contenere simboli musicali appartenenti a piu di una PART

34 NIFF Il formato NIFF La struttura 1 Part per pentagramma Pentagramma (Staff Header Chunk) chunk … PART ID = numero della part simboli

35 NIFF Il formato NIFF La struttura Part diversi su un pentagramma Pentagramma (Staff Header Chunk) chunk … xxxx …… … PartID = m …… … PartID = p …… … PartID = m …… … PartID =..

36 NIFF Il formato NIFF La struttura Dentro al pentagramma Pentagramma (Staff Header Chunk) chunk … Time slice Ch. …… … nota …… … ……………… Time slice Ch. …… …

37 NIFF Il formato NIFF 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

38 NIFF Il formato NIFF 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

39 NIFF Il formato NIFF 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

40 NIFF Il formato NIFF La pagina Altezza Lo 0 cartesiano e nellangolo in alto a sinistra Larghezza Unita assolute Unita di misura e sistema di coordinate

41 NIFF Il formato NIFF 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

42 NIFF Il formato NIFF E espressa in due differenti modi: dimensione (in twips) Altezza dello spazio occupato(in unita assolute) (questultimo 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 :

43 NIFF Il formato NIFF Il NIFF e stato progettato per poter contemporaneamente fornire informazioni sulle durate precise per laspetto simbolico, e sufficienti per lesecuzione tramite un sequencer o la trasformazione a MIDI. Rappresentazione temporale Obiettivi :

44 NIFF Il formato NIFF Rappresenta il punto di inizio della nota. A livello simbolico si rappresenta con una frazione, che indica la distanza temporale dallinizio della battuta A livello esecutivo la frazione econvertita in MIDI ticks (con la relazione MIDI ticks per quarto ), a cui verranno aggiunti un offset dovuto allinterpretazione Rappresentazione temporale Start time Durata (Istante di inizio)

45 Durata Start time NIFF Il formato NIFF A livello simbolico si rappresenta con una frazione, pari alla durata della figura della nota I 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 econvertita in MIDI ticks a cui verranno aggiunti un offset dovuto allinterpretazione Rappresentazione temporale

46 NIFF Il formato NIFF 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 lassenza di tutte le note necessarie a completare una battuta, o abbellimenti i cui valori non vengono calcolati. Rappresentazione temporale Caratteristiche grafiche

47 NIFF Il formato NIFF Barra della battuta: e un chunk che viene notato come fine della battuta anziche linizio (come da teoria musicale) e quindi cade prima del time slice chunk di inizio battuta Rappresentazione temporale Caratteristiche grafiche

48 NIFF Il formato NIFF Rappresentazione temporale Caratteristiche grafiche Cambio di chiave, armatura o tempo: Anche questo e rappresentato da un chunk che, pur seguendo il Barline chunk, viene posto anchesso prima del time slice chunk di inizio battuta. Nel caso in cui siano posti allinizio 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 levento successivo

49 NIFF Il formato NIFF I FONT CUSTOM in un file NIFF si possono definire tipi di Font speciali Nella 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

50 NIFF Il formato NIFF I 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

51 NIFF Il formato NIFF Integrazione MIDI Un file MIDI puo essere integrato in un file NIFF Nella 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

52 NIFF Il formato NIFF Integrazione 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

53 NIFF Il formato NIFF Integrazione MIDI Nella sezione data, sono utilizzati i MIDI Data Stream chunk e i MIDI Performance tag. Setup section Data section A seconda della notazione ci sono 4 possibili relazioni tra i simboli musicali e I dati MIDI

54 NIFF Il formato NIFF Integrazione 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

55 NIFF Il formato NIFF Integrazione MIDI Correlazione uno a molti: e lesempio 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

56 NIFF Il formato NIFF Integrazione MIDI Correlazione molti a molti: e lesempio 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.Nellesempio, solo il primo nodo contiene la serie di messagi MIDI Pitch Bend

57 NIFF Il formato NIFF Integrazione MIDI Nessuna correlazione La notazione non ha una interpretazione esecutiva (MIDI) univoca, o non esiste un equivalente nello standard MIDI. E lesempio del simbolo grafico espressivo o dei valori MIDI di informazioni sul PANNING Setup section Data section

58 NIFF Il formato NIFF Integrazione MIDI Nessuna correlazione Setup section Data section MIDI NIFF Informazione rappresentabile in entrambi i formati

59 NIFF Il formato NIFF Integrazione 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

60 NIFF Il formato NIFF 1.Intavolatura per chitarra 2.Simboli per chitarra 3.Nomi di spartiti e pentagrammi 4.Numerazione delle battute e segni di richiamo 5.Ritornelli e code Altre possibilita Trombe { ______________________________________ TABTAB In la

61 NIFF Il formato NIFF Altre possibilita Esempio: Un passaggio con note di dimensione piu piccola: viene inserito il Tag Activate Chunk per il tag Small Size allinizio della sequenza dei simboli nota allinterno del pentagramma, e il Tag Activate Chunk alla fine della medesima. Attivazione e disattivazione di un Tag

62 NIFF Il formato NIFF Altre possibilita Questa possibilita puo essere anche impiegata selettivamente, solo sui simboli relativi ad una voce o ad una parte Questo e possibile in quanto i simboli sono rappresentati tramite chunk, e al loro interno si puo scegliere quelli che abbiano un determinato Voice ID o Part ID Attivazione e disattivazione di un Tag

63 NIFF Il formato NIFF Ancoraggio In NIFF, un simbolo dal cui posizionamento dipenda quello di uno o piu simboli e chiamato ancora. Per ogni tipo di chunk che porta un simbolo e definito un chunk ancora. Simboli dipendenti e loro ancore

64 NIFF Il formato NIFF Ancoraggio 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

65 NIFF Il formato NIFF Ancoraggio Vediamo come esempio il caso della nota, che e un accordo degenere: il gambo della nota (stem)e lancora, e la testa della nota (notehead) e dipendente. Infatti dove viene posizionata lasta della nota, ce anche la testa. Simboli dipendenti e loro ancore

66 NIFF Il formato NIFF Ancoraggio Qualora sia un accordo con seconde, il chunk dipendente (notehead) puo adattare il posizionamento del simbolo grazie al valore di offset che muove il posizionamento del carattere dal punto caldo (coordinata del carattere). Simboli dipendenti e loro ancore

67 NIFF Il formato NIFF Stem Notehead, staff step=3, duration=1/4 Fingering, shape=1 Notehead, staff step=7, duration=1/4 Ornament, shape=short trill Accidental, shape=sharp, Small Size, Anchor Override=Ornament, Logical Placement=above Fig. 2a

68 NIFF Il formato NIFF Fig.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/4 Articulation, 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

69 NIFF Il formato NIFF Fig.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=1 Notehead, 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

70 NIFF Il formato NIFF Fig.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

71 NIFF Il formato NIFF Disposizioni Disposizione di default lunica informazione di impaginazione e la sintassi musicale Il programma utilizza i suoi defaults per limpaginazione Disposizione Logica Fornisce le relazioni tra simboli dipendenti e le loro ancore Disposizione Assoluta Viene indicato per ogni simbolo esattamente dove questo debba essere posizionato

72 NIFF Il formato NIFF Sebbene la disposizione per misure assolute possa sembrare la piu precisa, ecco alcuni casi che mettono in crisi la sua fedelta con loriginale Criteri di scelta tra posizionamenti diversi Disposizioni il programma che legge il file NIFF non ha a disposizione gli stessi font del programma che lha prodotto.

73 NIFF Il formato NIFF Sebbene la disposizione per misure assolute possa sembrare la piu precisa, ecco alcuni casi che mettono in crisi la sua fedelta con loriginale 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 posizionamenti LOGICI

74 NIFF Il formato NIFF Sebbene la disposizione per misure assolute possa sembrare la piu precisa, ecco alcuni casi che mettono in crisi la sua fedelta con loriginale Criteri di scelta tra posizionamenti diversi Disposizioni Lutente 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 dalleditore del file NIFF originale

75 NIFF Il formato NIFF 6b 1 p0 part0 p1 part1 p2 part2 p3 part3 p4 part4 p5 part5 p6 part6 p7 part7 p8 part8 p9 part9 p10 part10 p11 part11 p12 part12 p13 part13 p14 part14 p15 part15 Bolero Un esempio: Il Bolero di Ravel

76 NIFF Il formato NIFF treble p p p p p Bolero Un esempio: Il Bolero di Ravel

77 NIFF Il formato NIFF p p p p p p p p Bolero Un esempio: Il Bolero di Ravel

78 NIFF Il formato NIFF p p p treble p p p Bolero Un esempio: Il Bolero di Ravel

79 NIFF Il formato NIFF 4 4 p p p treble p p Bolero Un esempio: Il Bolero di Ravel

80 NIFF Il formato NIFF p p p p p p p p Bolero Un esempio: Il Bolero di Ravel

81 NIFF Il formato NIFF p p p p p p p Bolero Un esempio: Il Bolero di Ravel

82 NIFF Il formato NIFF treble p p p p p p p Bolero Un esempio: Il Bolero di Ravel

83 NIFF Il formato NIFF p p p p p p p p p Bolero Un esempio: Il Bolero di Ravel

84 NIFF Il formato NIFF p treble p p Bolero Un esempio: Il Bolero di Ravel

85 NIFF Il formato NIFF Riferimenti Definizione: 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


Scaricare ppt "NIFF Il formato NIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale."

Presentazioni simili


Annunci Google