Sei sulla pagina 1di 27

MP3 Editor 1.

MP3 Editor
Versione 1.1
Copyright 2003-2004 Giancarlo Vercellesi
giancarlo.vercellesi@dsi.unimi.it

LIM Laboratorio di Informatica Musicale www.lim.dico.unimi.it

D.I.CO. Dipartimento di Informatica e Comunicazione www.dico.unimi.it Universit degli Studi di Milano www.unimi.it

MP3 Editor 1.1

In questo documento potete trovare informazioni su: Installazione del software Requisiti minimi di sistema Licenza duso Codifiche MP3 supportate e non supportate Descrizione generale Manuale duso Tutorial sul formato di rappresentazione simbolica MP3_XML.

MP3 Editor 1.1

INSTALLAZIONE
Per installare il software MP3 Editor 1.1 sufficiente copiare il file MP3_Editor_11.exe ed mpglib.dll in unopportuna cartella del proprio PC. Per il corretto funzionamento del software, importante che il file mpglib.dll si trovi nella stessa cartella del file MP3_Editor_11.exe.

Una volta salvati questi due file, sufficiente lanciare il software con un doppio click sul file eseguibile MP3_Editor_11.exe.

Per visualizzare correttamente i file MP3_XML necessario salvarli nella stessa cartella contenente il corrispondente dtd mpr_xml.dtd

REQUISITI MINIMI DI SISTEMA


Per eseguire lapplicazione MP3 Editor 1.1 necessario disporre di: Processore Pentium III di almeno 500 Mhz; Memoria RAM di almeno 128 Mbyte (con file MP3 di grosse dimensioni, 256 512 Mbyte sono consigliati); Scheda Audio; Sistema Operativo Win9x o NT;

LICENZA DUSO
Questo software freeware. Potete utilizzarlo e distribuirne copie liberamente, scaricando lapplicazione dallarchivio originale. Per ulteriori informazioni sulla licenza duso ed i diritti di copyright consultare il file licence.txt. Per informazioni sulluso e la distribuzione della libreria di decoding mpglib.dll consultare il sito web http://www.rz.uni-frankfurt.de/~pesch ed il file lpgl.txt. 3

MP3 Editor 1.1

CODIFICHE MP3 SUPPORTATE E NON SUPPORTATE


Lapplicazione supporta i seguenti tipi di file MP3: Codifiche MPEG Layer 3 (MPEG-1, MPEG-2 ed MPEG-2.5) con: o Bitrate fisso (CBR) o bitrate variabile (VBR) o Codifica di canale mono o stereo (compresso e non compresso) o Frame con CRC (il CRC non viene riscritto nel file salvato) o MP3 con ID3 V1 ed ID3 V2

Non sono supportati file MP3 con: Codifiche MPEG Layer 3 non conformi agli standard ufficiali ISO-IEC 11172-3 ed ISO-IEC 13818-3; in particolare non sono aperti: o Streaming aventi primo frame con campo MAIN_DATA_BEGIN diverso da 0. o Streaming in cui applicata la tecnica del Bit Reservoir, in cui presente un frame la cui reale dimensione maggiore di quella prevista da un bitstream a bitrate massimo. Codifiche MPEG Layer 3 con bitrate free format

MP3 Editor 1.1

DESCRIZIONE GENERALE
Questo prototipo software rappresenta il primo esempio di editor audio in grado di manipolare frame MP3 lavorando direttamente sul formato compresso. Ci significa che non deve decomprimere il file in fase di apertura, e soprattutto ricodificare in MP3 durante il salvataggio.

MP3

Decoder (Apri)

PCM EDITING

MP3

Encoder (Salva) PCM

Fig 1: sequenza operazioni editing classico

Decoder PLAYER MP3 Apri / Salva / EDITING


Fig 2: sequenza operazioni editing eseguito direttamente su MP3

(Apri)

PCM

MP3

Questo tipo di approccio elimina tre aspetti negativi presenti nellarchitettura d editing classico: Elimina il processing delay introdotto dai tempi di encoding e decoding Riduce la quantit di memoria utilizzata permettendo cos di manipolare file MP3 di elevate dimensioni Elimina linevitabile perdita dinformazione in fase di salvataggio (lencoder MPEG/Audio utilizza un algoritmo di compressione con perdita dinformazione) 5

MP3 Editor 1.1

Esso fornisce funzioni di Taglia Copia Incolla Elimina Inverti e di estrazione di informazione simbolica in XML (), attraverso uninterfaccia GUI che permette di selezionare porzioni di MP3 utilizzando la rappresentazione grafica della relativa forma donda (andamento energetico del segnale nel dominio del tempo), e delle funzioni di player che danno la possibilit allutente di ascoltare il brano audio in tempo reale, ogni volta che viene eseguita una qualunque modifica. Qui di seguito sono mostrate le architetture di editing classico e diretto su MP3 mostrando, per ogni operazione, il modo di interagire con il codec ed i formati audio.

Editor Audio
PLAYER CUT/COPY/ PASTE/ DELETE FRAME INVERSION AUDIO INFORMATION EXTRACTION WAVEFORM RENDERING

Classico

OPEN (decoder) / SAVE (encoder) BITRATE and BIT RESERVOIR CHANGE

CODEC
PCM (Wav) Encoder Decoder MPEG Layer 3 (MP3)

Fig 3: architettura operazioni eseguite da un editor classico

MP3 Editor 1.1

MP3 EDITOR

PLAYER WAVEFORM RENDERING

OPEN / SAVE CUT/COPY/ PASTE/DELETE FRAME INVERSION BITRATE and BIT RESERVOIR CHANGE AUDIO INFORMATION EXTRACTION

CODEC
PCM (Wav) Encoder Decoder MPEG Layer 3 (MP3)

Fig

4:

architettura

operazioni

eseguite

da

un

editor

che

lavora

direttamente su formato compresso MPEG Layer 3 (MP3)

MP3 Editor 1.1

MANUALE DUSO
La finestra principale del programma quella tipica di Windows: una barra del titolo con il nome del software e la versione, un menu a tendina contenente tutte le funzioni dellapplicazione, e sei sezioni distinte suddivise per tipologia di utilizzo: File Console, MPEG Details, Selection Console, Play Console, Edit Console, XML Console, ID3 Tag Info. Sono presenti due controlli grafici, posti tra File Console MPEG Details e Selection Console Play Console, contenenti la rappresentazione della forma donda (andamento energetico nel tempo) ed uno slider (blu) indicante la posizione di play allinterno dello streaming MP3.

Fig 5: screenshot della finestra principale di MP3 Editor.

Andiamo ora ad analizzare dettagliatamente tutte le funzioni presenti nei menu e nelle sei sezioni della finestra principale. 8

MP3 Editor 1.1

Struttura delle SEZIONI


Sezione File Console
Questa sezione serve ad aprire e salvare file MP3. E presente una casella di testo contenente il nome del file MP3 su cui si sta lavorando e quattro pulsanti che permettono di aprire, salvare, salvare con nome o salvare una sola parte dei frame su cui si sta lavorando.

Fig 6: screenshot della sezione File Console

OPEN: questo pulsante permette di caricare lMP3 attraverso una tipica dialog di apertura che permette di navigare allinterno del proprio file system visualizzando solo file con estensione MP3. Una volta scelto il file, vengono mostrate tre diverse dialog User Message, indicanti il tipo di operazioni che leditor sta eseguendo per aprire il file: Im opening MP3 file indica che il software sta decodificando lo streaming; I'm aligning MP3 frames indica che il software sta eseguendo la tecnica dallineamento; Im drawing waveform indica che il software sta decodificando i frame necessari per poi poter disegnare la forma donda su schermo.

SAVE: questo pulsante salva le modifiche effettuate nello stesso file su cui si sta lavorando. Se la prima volta che si effettua il salvataggio, il programma mostra una dialog (fig 3) che permette di scegliere il tipo di bitrate da utilizzare: fisso, senza Bit Reservoir o variabile, senza Bit Reservoir. A fianco di ogni scelta viene mostrato il valore di bitrate medio impiegato.

SAVE AS: questo pulsante permette di salvare le modifiche effettuate sullMP3 in un nuovo file. Una prima dialog permette di definire il nome ed il percorso dove questo file deve essere salvato; una seconda dialog invece (Fig 3) permette di scegliere il tipo di bitrate da utilizzare. Dopo il salvataggio, lutente continuer a lavorare su questo nuovo file.

SAVE SELECTION AS: questa funzione permette di salvare solo la parte di MP3 che in quel momento stata selezionata, scegliendo tra bitrate fisso e variabile (Fig. 3). A differenza di

MP3 Editor 1.1

SAVE e SAVE AS.., dopo questa operazione lutente continuer a manipolare lo stesso file su cui stava lavorando precedentemente.

Fig 7: screenshot della dialog MP3 Save Mode che permette di salvare lMP3 con bitrate fisso o variabile al valore indicato.

Sezione MPEG Details


In questa sezione sono presenti tutte le informazioni principali riguardanti lMP3 caricato: frequenza di campionamento (in Hz), tipo di codifica di canale, numero totale di frame, bitrate medio (in Bit/Sec) ed infine, durata totale del file nella forma HH:MM:SS:MSEC.

Fig 8: screenshot della sezione MPEG Details

Sezione Selection Console


Qui possibile determinare la selezione su cui poi poter effettuare le operazioni di editing disponibili in Edit Console e le funzioni di Play From e Play From-To presenti in Play Console. 10

MP3 Editor 1.1

Le prime due caselle di testo in alto a sinistra (frame number start frame number stop) permettono di definire la posizione del frame iniziale e finale della selezione. I valori inseriti devono essere compresi tra 1 ed il numero di frame presenti nel bitstream; inoltre il valore di quello iniziale deve essere minore o uguale a quello finale. Queste caselle possono essere modificate a mano oppure selezionando opportunamente la forma donda di figura 7. Il pulsante SELECT ALL infine, permette di selezionare lintero streaming audio MP3. Le restanti caselle di testo sono modificate automaticamente dal programma in funzione della selezione effettuata: le due in basso a sinistra (Time (seconds) start Time (seconds) stop) contengono la posizione iniziale e finale della selezione in secondi mentre la colonna Range fa riferimento a due caselle di testo che mostrano la dimensione della selezione in secondi e numero di frame.

Fig 9: screenshot della sezione Selection Console

Sezione Play Console


I controlli qui presenti permettono di ascoltare lMP3 in tempo reale, utilizzando come decoder la libreria dinamica mpglib.dll. PLAY: esegue lo streaming audio dal primo allultimo frame; STOP: blocca la riproduzione audio riposizionandosi allinizio del file PAUSE: blocca la riproduzione audio senza modificare la posizione di PLAY. PLAY FROM-TO: esegue la riproduzione nel range di frame indicato nella selezione (section Selection Console). PLAY FROM: esegue la riproduzione partendo dal frame di partenza della selezione, e terminando alla fine del file.

11

MP3 Editor 1.1

E presente un Player Status che indica lo stato di riproduzione delleditor (PLAY STOP PAUSE), un Frame Position che indica il frame attualmente riprodotto e un Time position che indica listante di tempo (in HH:MM:SS:MSEC) in esecuzione. E infine presente uno slider che permette di gestire il volume master durante la riproduzione ed un indicatore grafico (fig 7 controllo in basso) che indica graficamente la posizione del frame riprodotto rispetto alla forma donda.

Fig 10: screenshot della sezione Play Console

Sezione Edit Control


Questa sezione fornisce le funzioni di editing diretto su MP3 che danno la possibilit di manipolare direttamente i frame dello streaming. CUT: elimina dallo streaming i frame selezionati, copiandoli nella clipboard; COPY: copia i frame selezionati nella clipboard; PASTE TO: incolla i frame presenti nella clipboard (immessi con il CUT / COPY) nella posizione indicata nella casella di testo adiacente. Essa pu contenere un valore tra 1 ed il numero di frame del file + 1; se questo valore pari a numero di frame del file + 1, i dati presenti nella clipboard vengono accodati allo streaming. PASTE AT THE END: incolla i frame presenti nella clipboard alla posizione numero di frame del file + 1; INVERT: inverte la posizione dei frame selezionati; INVERT ALL: inverte la posizione dei frame dellintero file; UNDO: ripulisce la clipboard, riposizionando gli eventuali frame eliminati dopo il CUT;

12

MP3 Editor 1.1

Fig 11: screenshot della sezione Edit Console

Sezione XML Console


Questa sezione permette di salvare lMP3 nel formato MP3_XML. Le quattro caselle di spunta permettono di scegliere quali TAG salvare nel file XML mentre le due caselle di testo Frame Begin Frame End danno la possibilit di selezionare il range di frame da salvare (i valori possono variare tra 1 ed il numero massimo di frame presenti nello streaming). Col pulsante Save_MP3_XML infine si apre la dialog con la quale possibile scegliere il nome e la posizione del file XML da salvare. Selezionando il TAG LENGTH_INFO, viene selezionato automaticamente il TAG

MPEG1_LAYER3_BITSTREAM. Per poter visualizzare i file XML con il browser Internet Explorer, necessario salvarli nella stessa cartella del corrispondente DTD (mp3_xml.dtd). Perci utile creare una cartella apposita in cui salvare i file XML ed il DTD.

Fig 12: screenshot della sezione XML Console

13

MP3 Editor 1.1

Sezione ID3 Info


Questa sezione segnala la presenza (is present) o lassenza (isnt present) nellMP3 delle due strutture dati ID3 V1 ed ID3 V2.

Fig 13: screenshot della sezione Id3 Tag Info

Controlli grafici Waveform Audio e Play Indicator


Questi controlli grafici contengono la forma donda del file MP3 sottoforma di andamento energetico nel tempo (controllo sopra) e lo slider indicante lavanzamento della riproduzione audio (controllo sotto). E possibile selezionare la Waveform Audio desiderata in modo da cambiare automaticamente i valori presenti nelle apposite caselle di testo in Selection Console, Edit Console ed XML Console.

Fig 14: screenshot dei controlli grafici Waveform Audio (sopra) e Play Indicator (sotto)

Struttura dei MENU


Menu File
Questo menu contiene tutte le funzioni presenti in File Console pi ulteriori tre comandi che permettono di uscire dal programma e di salvare il file MP3 in formato WAV e PCM (con bit di segno e codifica Little Endian). Una breve descrizione del formato WAV data in Appendice C.

14

MP3 Editor 1.1

Menu Edit
Questo menu contiene tutte le funzioni presenti in Edit Console ed il SELECT ALL presente in Selection Console.

Menu View
Da questo menu possibile aprire due diverse dialog contenenti una serie di informazioni sul tipo di file MP3 aperto.

Common Header Info: da questa voce possibile aprire una dialog contenente tutte le informazioni contenute nellintestazione di un frame e comuni a tutto lo streaming.

Fig 15: screenshot della dialog General Header Info

Tutte

le

informazioni

presenti

in

questa

dialog

sono

contenute

nella

tag

<GENERAL_HEADER_INFO> di MP3_XML versione 1.0. 15

MP3 Editor 1.1

Bitrate-Bit Reservoir Info: da questa voce possibile aprire una dialog contenente informazioni statistiche sul bitrate e luso della tecnica del Bit Reservoir del file.

Fig 16: screenshot della dialog Bitrate Bit Reservoir Info

Le informazioni contenute nella tag <BIRATE_BITRESERVOIR_INFO> di MP3_XML versione 1.0, sono le stesse di quelle presenti in questa dialog.

Menu Player
Questo menu contiene tutte le funzioni presenti in Play Console.

Menu Option
Dal menu Option possible selezionare la voce WAVE DEVICE che apre una dialog da cui possibile selezionare ed avere informazioni dettagliate sulle periferiche di riproduzione ed acquisizione WAVE presenti sul computer.

16

MP3 Editor 1.1

Fig 17: screenshot della dialog Wave Device Properties

E inoltre possibile selezionare la voce SETTING che apre una dialog da cui possibile selezionare la directory di default per lapertura di file MP3 e modificare la dimensione del prebuffer in fase di Player. In caso di problemi di riproduzione (generalmente nei PC lenti), aumentare il valore di questo pre-buffer.

Fig 18: screenshot della dialog Wave Device Properties

17

MP3 Editor 1.1

Menu Help
Da qui possibile aprire questo manuale duso e la dialog About. Per visualizzare questo manuale duso necessario avere installato il software Acrobat Reader.

18

MP3 Editor 1.1

IL FORMATO MP3_XML
Qui di seguito verr illustrato MP3_XML evidenziandone, sia la struttura, sia tutti i tag principali che lo compongono.

Struttura del formato MP3_XML 1.0


La struttura generale di MP3_XML versione 1.0 la seguente:
MP3_XML

COMMON_ HEADER_ INFO

BITRATE_ BITRESERVOIR_ INFO

ID3TAG_V2

MPEG1_ LAYER3_ STREAMING

ID3TAG_V1

BITRATE_INFO

BITRESERVOIR_ INFO

FRAME

HEADER

SIDE_INFO

MAIN_ DATA

LENGTH_ INFO

Fig 19: struttura generale di MP3_XML. I soli tag in grassetto riguardano lo standard MPEG-1 Layer 3 ISO-IEC 11172-3.

Qui di seguito verranno descritte, uno ad uno, tutti gli elementi che lo compongono.

MP3_XML Tag
Questo lelemento radice e rappresenta il punto di partenza per tutti gli altri rami del formato: common_header_info, bitrate_bitreservoir_info, id3tag_v2, id3tag_v1 ed mpeg1_layer3_streaming. Contiene lattributo version indicante la versione del formato MP3_XML utilizzato, e che allo stato attuale pu essere solo la 1.0.

19

MP3 Editor 1.1

COMMON_HEADER_INFO Tag
Questo elemento contiene tutte le informazioni contenute nellheader e comuni a tutti i bitstream, oltre ad alcune informazioni aggiuntive riguardo alla durata di un frame, dello streaming, ecc. Per il calcolo di queste grandezze far riferimento al capitolo 3.1.1 Andiamo ora ad analizzarne il contenuto: <MPEG_VERSION>: contiene la versione di MPEG utilizzata; <MPEG_LAYER>: contiene due diversi tag indicanti il Layer utilizzato

(<MPEG_LAYER_VALUE>) ed il corrispettivo valore codificato nello streaming binario di MP3 (<MPEG_LAYER_INDEX>); <CRC_CONTROL present="Yes/No"/>: inidica la presenza o assenza del campo di CRC tramite lattributo present; <SAMPLING_FREQUENCY constant = "Yes/No">: contiene due diversi tag indicanti il valore di Fc utilizzato (<SAMPLING_FREQUENCY_VALUE>) ed il corrispettivo valore codificato nello streaming binario (<SAMPLING_FREQUENCY_INDEX>); Siccome lo standard MPEG non obbliga ad utilizzare frequenze di campionamento costanti allinterno di uno streaming, stato introdotto lattributo constant che indica appunto la presenza o lassenza di una Fc costante. Sebbene sia molto raro trovare encoder che forniscano questa funzione, si ritenuto necessario introdurre questa informazione. Se constant = No, il valore di Fc indicato quello del primo primo bitstream; <CHANNEL_MODE> contiene due diversi tag indicanti il tipo di codifica di canale utilizzato (<CHANNEL_MODE_VALUE>) ed il corrispettivo valore codificato nello streaming binario (<CHANNEL_MODE_INDEX> ; <ORIGINAL> indica se lo streaming originale (Yes) oppure no (No); <COPYRIGHT> indica se lo streaming possiede diritti di Copyright (Yes) oppure no (No); <EMPHASIS_MODE_VALUE>: indica il tipo di algoritmo di enfasi utilizzato per le alte frequenze;

I seguenti tag, a differenza di quelli precedenti, non appartengono allo standard MPEG-1 Layer 3 (ISO-IEC 11172-3), ma derivano da un analisi dello streaming:

<TOTAL_FRAME_NUMBER>: indica il numero totale di frame presenti nello streaming; <TOTAL_TIME_DURATION_SECOND>: indica la durata totale dello streaming in secondi

20

MP3 Editor 1.1

<FRAME_TIME_DURATION_SECOND>: indica la durata totale in secondi di un singolo frame; <BYTE_START_FIRST_FRAME> indica loffset in byte tra linizio del file MP3 e linizio del primo bitstream valido nello streaming

BITRATE_BITRESERVOIR_INFO Tag
E formato da due tag contenenti informazioni sul bitrate (<BITRATE_INFO>) e la tecnica del Bit Reservoir (<BITRESERVOIR_INFO>).

<BITRATE_INFO> o <BITRATE_TYPE>: indica se il tipo di bitrate utilizzato nello streaming costante (CBR Constant BitRate) o variabile (VBR Variable BitRate); o <AVERAGE_BITRATE>: indica il valore del bitrate medio dello streaming in Bit/Sec o <MIN_BITRATE>: indica il minimo valore di bitrate (in Bit/Sec) trovato nello streaming; o <MAX_BITRATE>: indica il massimo valore di bitrate (in Bit/Sec) trovato nello streaming;

<BITRESERVOIR active="No"/>: lattributo active indica se la tecnica attivata (Yes) oppure no (No). o <AVERAGE_MDB>: indica il valore medio (in byte) del campo main_data_begin nello streaming; o <MIN_MDB>: indica il valore minimo (in byte) del campo main_data_begin nello streaming; o <MAX_MDB>: indica il valore massimo (in byte) del campo main_data_begin nello streaming; OSS: per il calcolo del valore massimo, minimo e medio non viene considerato il primo frame in quanto, non potendo possedere serbatoio di bit, ha il campo main_data_begin pari a 0 byte.

ID3TAG_V2 Tag
Allo stato attuale questo elemento contiene solo un attributo che indica la presenza o lassenza di questa struttura allintero dello streaming.

21

MP3 Editor 1.1

MPEG1_LAYER3_STREAMING Tag
Dalla figura 4.1 evidente come la struttura dei tag contenuti in MPEG1_LAYER3_STREAMING rispecchi fedelmente il Layer 3 degli standard ISO-IEC 11172-3 (lo standard MPEG-2 non stato formalizzato in XML): una sequenza di <FRAME>, ognuno dei quali formato da un <HEADER>, delle <SIDE INFO> e dei <MAIN_DATA>. Le uniche informazioni che sono state aggiunte rispetto allo standard, sono quelle riguardanti la dimensione (in byte ed in secondi) del frame e dei campi che lo compongono (<LENGTH_INFO>), in quanto non esplicitamente scritte nel formato binario. In <LENGTH_INFO> presente anche il numero di canali utilizzati dal bitstream ed un ID che ne identifica il proprio contenuto. MPEG1_LAYER3_STREAMING inoltre, mostra in modo chiaro linterleaving delle Side Information e dei Main_Data, effettuato in fase di encoding durante limpacchettamento dei frame. Per il calcolo delle dimensioni dei campi (il cui nome evidenziato in grassetto), far riferimento al capitolo 3.1.4. Per il calcolo della durata di un frame invece, andare al capitolo 3.1.1. <FRAME id=numero intero non negativo>: rappresenta il frame vero e proprio e di fatto il contenitore dei tag <HEADER>, <SIDE INFO>, <MAIN_DATA> e <LENGTH_INFO>. Il valore dellattributo id rappresenta la posizione del frame allinterno dello streaming MP3; il suo significato diverso da quello del tag <FRAME_NUMBERID> contenuto in <LENGTH_INFO>; <HEADER>: contiene i valori (e dove necessario, le rispettive codifiche binarie), dei campi dellHeader previsti per il Layer 3 dallo standard ISO-IEC 11172-3 ed ISO-IEC 13818-3; <SIDE INFO>: contiene i valori dei campi delle Side Information previsti per il Layer 3 dallo standard ISO-IEC 11172-3 ed ISO-IEC 13818-3. Siccome il software MP3 Editor decodifica soltanto main_data_begin e part2_3_length, solo i tag corrispondenti a questi due campi contengono i reali valori; gli altri invece vengono impostati di default a 0. La struttura dei tag qui presenti rispecchia fedelmente il tipo di interleaving effettuato in fase di encoding e nelle due immagini qui sotto possibile vederne due esempi, uno rappresentante il caso di codifica mono e laltro la codifica stereo:

22

MP3 Editor 1.1

Fig 20: interleaving di un frame mono eseguito sulle Side Information.

23

MP3 Editor 1.1

Fig 21: interleaving di un frame stereo (Stereo, Dual Channel, Joint Stereo) eseguito sulle Side Information.

<MAIN_DATA>: contiene le informazioni riguardanti gli scalefactor, huffmancodebits ed ancillary data. Siccome il software MP3 Editor tratta i main_data come una sorta di scatola nera, ci che viene scritto in XML la sola forma che questo campo possiede senza nessun tipo di valore. Solamente il tag <ANCILLARY_DATA> possiede lattributo present che indica la presenza (Yes) o lassenza (No) di ancillary_data (sia reali, di multicanale o di overhead) nel bitstream considerato. 24

MP3 Editor 1.1

La struttura dei tag qui presenti rispecchia fedelmente il tipo di interleaving effettuato in fase di encoding e nelle due immagini qui sotto possibile vederne due esempi, uno rappresentante il caso di codifica mono e laltro la codifica stereo:

Fig 22: interleaving di un frame mono eseguito sui Main_Data.

25

MP3 Editor 1.1

Fig 23: interleaving di un frame stereo (Stereo, Dual Channel, Joint Stereo) eseguito sui Main_Data.

<LENGTH_INFO> o <FRAME_IDNUMBER>: un ID numerico (intero e non negativo) che identifica univocamente il contenuto del frame. In fase di apertura di un MP3, ad ogni frame viene associato questo valore (equivalente alla propria posizione nello streaming), in modo da identificarne i propri dati audio; ogni volta che ne vengono copiati alcuni, questo valore viene mantenuto tale e ci significa che due frame distinti ma contenenti i medesimi dati audio avranno uguale FRAME_IDNUMBER. Perci, dopo le operazioni di editing, da questa informazione possibile riconoscere cosa stato tagliato, spostato od eliminato. 26

MP3 Editor 1.1

E importante sottolineare che il significato di questo tag ben diverso da quello dellattributo id del tag <FRAME>; o <FRAME_TIME_DURATION_SECOND>: indica la durata in secondi del frame (Tf); o <NUM_CHANN>: inidica il numero di canali utilizzati dal frame; o <LENGTH_HEADER>: inidica la lunghezza in byte del campo Header (header_size); o <LENGTH_SIDE_INFO>: inidica la lunghezza in byte del campo Side Information (side_info_size); o <LENGTH_FRAME>: inidica la lunghezza in byte del Frame (frame_size); o <LENGTH_SCALEFACTOR_HUFFCODE>: inidica la lunghezza in byte degli Scalefactor e degli HuffmanCodeBits (scalefactor_huffmancodebits_size); o <LENGTH_ANC_DATA>: inidica la lunghezza in byte delgli Ancillary Data (ancllary_data_size); o <LENGTH_MAIN_DATA_CONTAINER> : inidica la lunghezza in byte del Main_Data_Container (main_data_container_size); o <LENGTH_BITSTREAM>: inidica la lunghezza in byte del bitstream (bitstream_size);

ID3TAG_V1 Tag
Come ID3TAG_V2, questo eleme nto contiene solo un attributo che indica la presenza o lassenza di questa struttura allintero dello streaming.

27