1 / 85

Il formato NIFF

Il formato NIFF. Massimiliano Pancini LIM-Laboratorio di Informatica Musicale. Il formato NIFF. Cos’e’ il NIFF ?. Il formato NIFF. N.I.F.F. (Notation Interchange File Format). MIDI Files: Descrizione simbolica dell’informazione musicale rivolta all’esecuzione. Il formato NIFF.

vidar
Download Presentation

Il formato NIFF

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Il formatoNIFF Massimiliano Pancini LIM-Laboratorio di Informatica Musicale

  2. Il formatoNIFF Cos’e’ il NIFF ?

  3. Il formatoNIFF N.I.F.F. (Notation Interchange File Format) MIDI Files:Descrizione simbolica dell’informazione musicale rivolta all’esecuzione

  4. Il formatoNIFF POVERO DI INFORMAZIONI: GRAFICHE E MUSICOLOGICHE MIDI Files: Descrizione simbolica dell’informazione musicale rivolta all’esecuzione

  5. Il formatoNIFF Obiettivi: 1) Completezza notazionale (editoria, acquisizione da scanner) 2) Equivalenza con il MIDI (informazione relativa all’esecuzione) 3) Espandibilita’, Flessibilita’ e Compattezza

  6. Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF Elementi principali: Form “contenitore” List e Chunk Lunghezza variabile Tag Parti opzionali

  7. Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF 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)

  8. Form RIFF/ RIFX Dimensione dati in Form Tipo di file (NIFF) DATI(list & Chunk) Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF Chunk LIST … … … LIST… … … Chunk Chunk ……… Chunk

  9. Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF Form RIFF/ RIFX Dimensione dati in Form Tipo di file (NIFF) DATI(list & Chunk) Nome del chunk(4 byte ) POINTER (4 byte ) Chunk Length Table

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

  11. Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF Form Chunk Length Table Nome del chunk 2 POINTER CHUNK 1 CHUNK 2 Tag1 Tag2 Tag3 Tag4 …

  12. Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF Form RIFF/ RIFX Dimensione dati in Form Tipo di file (NIFF) DATI(list & Chunk) nome del chunk (4 byte ) POINTER (4 byte ) Part ID Part Name Part Abbreviation Max. num. di Pentagrammi MIDI Ch. &Cable number Transpose Part Description Chunk

  13. Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF Form 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 Part ID Part Name Part Abbreviation Max. num. di Pentagrammi MIDI Ch. &Cable number Transpose Part List

  14. Form DATI(list & Chunk) Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF List = struttura, contenitore “LIST” LIST… … … Dimensione dati Chunk Tipo dati DATI

  15. Form DATI(list & Chunk) Segue le regole dettate dalla specifica per il formato RIFF Microsoft (Resource Interchange File Format) Il formatoNIFF Chunk =informazione codificata LIST… … … Tipo di Chunk Dimensione dati Chunk DATI

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

  17. Il formatoNIFF Il TAG =parte opzionale del chunk Tag

  18. Il formatoNIFF Il TAG =parte opzionale del chunk Tag Tipo di Tag Dimensione dati DATI

  19. ? Il formatoNIFF Un “ perché ” importante Nei tipi di dati dove e’ definita la parte variabile troviamo sempre indicata la dimensione dell’area riservata ai dati Questo permette al linguaggio di soddisfare il requisito di flessibilita’

  20. ? Il formatoNIFF 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. ? Il formatoNIFF 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

  22. ? Il formatoNIFF 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

  23. Il formatoNIFF Lo spartito… Score E’ presente in ogni file niff, Contiene tutte le informazioni di partitura

  24. Il formatoNIFF Lo spartito… Score Part E’ un flusso di eventi musicali. Il vero e proprio “spartito”, relativo ad uno o ad un gruppo di strumenti suonati dallo stesso strumentista

  25. Il formatoNIFF Lo spartito… Score Part Voice E’ un flusso di eventi musicali ritmicamente indipendenti all’interno di una parte

  26. Il formatoNIFF Lo spartito… Score Part System Voice E’ la struttura della pagina dello spartitoSimboli che rappresentano eventi simultaneisono allineati verticalmente

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

  28. Il formatoNIFF Lo spartito… Score E’ il meccanismo per temporizzare gli eventi all’interno della partitura Part Time-slice Voice Inizio Misura: tempo dall’inizio dello spartito System Staff Inizio Evento:tempo dall’inizio della misura

  29. Il formatoNIFF Lo spartito… Score Part Voice System Staff Time-Slice

  30. Il formatoNIFF La struttura Setup section Data section • NIFF Information chunk(versione NIFF, provenienza, unita’ di misura, bpm) • 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. system system system (accollatura) Pentagramma Pentagramma …. simboli simboli … simboli simboli simboli (note, pause, indicazioni temporali) Il formatoNIFF La struttura Setup section Data section • Informazione musicale • Contiene la vera e propria • informazione musicale sotto tutti gli aspetti: • Notazionale • Esecutivo • Grafico… Pagina

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

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

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

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

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

  37. Unita’ di misura e sistema di coordinate Il formatoNIFF Scopi • Configurabilita’ per programmi di editoria e OMR • Sufficiente precisione grafica • Interi VS floating point per le coordinate • Congruenza delle informazioni grafiche e semantiche

  38. Unita’ di misura e sistema di coordinate Il formatoNIFF 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

  39. Unita’ di misura e sistema di coordinate Il formatoNIFF Staff step Riferimento verticale rispetto alla linea inferiore del pentagramma Il simbolo viene posizionato verticalmente nel pentagramma in base a questo valore

  40. Unita’ di misura e sistema di coordinate Il formatoNIFF La pagina Altezza Unita’ assolute 0 + Larghezza Lo 0 cartesiano e’ nell’angolo in alto a sinistra +

  41. Unita’ di misura e sistema di coordinate Il formatoNIFF Dimensione dei font di testo : E’ espressa in twips (1/20 di punto) Permette, nei programmi in cui e’ previsto, di proporzionare il testo in modo fine rispetto alla dimensione “punto”

  42. Unita’ di misura e sistema di coordinate Il formatoNIFF Dimensione dei font musicali : • 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)

  43. Rappresentazione temporale Il formatoNIFF Obiettivi : 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.

  44. Rappresentazione temporale Il formatoNIFF Start time Durata (Istante di inizio) Rappresenta il punto di inizio della nota. A livello simbolico si rappresenta con una frazione, che indica la distanza temporale dall’inizio della battuta A 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

  45. Rappresentazione temporale Il formatoNIFF Start time Durata 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 e’convertita in MIDI ticks a cui verranno aggiunti un offset dovuto all’interpretazione

  46. Rappresentazione temporale Il formatoNIFF Caratteristiche grafiche 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.

  47. Rappresentazione temporale Il formatoNIFF Caratteristiche grafiche 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

  48. Rappresentazione temporale Il formatoNIFF Caratteristiche grafiche • Cambio 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

  49. I FONT CUSTOM Il formatoNIFF 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. I FONT CUSTOM Il formatoNIFF 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

More Related