I dati audio Campionamento Quantizzazione e Codifica Formati e standard Supporti
Campionamento
Moltiplicare il segnale per l impulso di campionamento t f max f t f c 2f c f t f max f c 2f c f f c -f max f c +f max
Aliasing e filtri anti-aliasing aliasing f max f c 2f c f f c -f max f c +f max Non esistono filtri ideali Occorre tenersi un margine di sicurezza rispetto a f c /2
Campionamento nel CD: 44 khz Si è abbastanza larghi sui 20 khz Risposta piatta fino a 20 khz Attenuazione sufficiente (60 db) a 22 khz E abbastanza economico costruire un filtro di questo tipo
Popolari frequenze di campionamento Strumenti di registrazione digitale limitati a specifiche frequenze (o loro approssimazioni) Anche alcuni strumenti di riproduzione offrono supporto solo per alcune frequenze Alcune sono divisori di frequenze comuni (ciò deriva dalla facilità per i circuiti di dividere la frequenza dei clock)
8000 standard telefonico (codifiche µ-law e A-law) NeXT workstation: 8012.8210513 (sembra per uniformità con CoDec per telecomunicazione) 11 k (in realtà 11025) un quarto della sr del CD o metà della sr del Mac 16000 (standard di compressione G.722) 18.9 k CD-ROM/XA standard
22 k 22050: metà sr del CD 22254.545454545454: sr del Mac (22254.5454... frequenza di scan orizzontale del Mac 128k) 32000 radio digitale e NICAM (Nearly Instantaneous Compandable Audio Matrix [IBA/BREMA/BBC]) TV in UK, long play DAT e HDTV giapponese 37.8 k: standard CD-ROM/XA (qualità superiore)
44056: per audio professionale (un numero intero di campioni entra in un frame video) 44100: sr del CD audio i lettori DAT che registrano digitalmente da CD usano anche tale frequenza di campionamento 48000: sr del DAT (Digital Audio Tape) per uso domestico 96000: sr qualità DVD
Quantizzazione
Quantizzazione lineare La gamma continua viene spezzata in un certo numero di intervalli uguali Tecnica standard dei costruttori dei convertitori A/D e D/A Valore di tensione Parola binaria [-5.000, -4.961] 00000000 [-4.961, -4.922] 00000001 [-4.922, -4.883] 00000010 [-4.883, -4.844] 00000011 00000100 11111011 [+4,844, +4,883] 11111100 [+4,883, +4,922] 11111101 [+4,922, +4,961] 11111110 [+4,961, +5,000] 11111111
Il rapporto segnale/rumore (SNR) SNR = rapporto tra ampiezza max del segnale ampiezza media dell errore di quantizzazione Ampiezza media dell errore di quantizzazione costante e indipendente dall ampiezza del segnale no correlazione tra segnale e parametri di digitalizzazione Per PCM lineare, SNR diminuisce con l ampiezza (segnali deboli degradati)
Quantizzazione uniforme e non Numero di intervalli è sempre dato dalla dimensione della parola binaria Come si scelgono e si codificano gli intervalli quantizzazione uniforme: intervalli equi-spaziati quantizzazione non uniforme: intervalli spaziati differentemente
Quant. uniforme e ampiezze ridotte si usa un numero di bit sufficientemente elevato da evitare il problema Esempio Con 16 bit, SNR = gamma dinamica = circa 96 db Max ampiezza in riproduzione = 100 db Il segnale più debole è circa 90 db sotto (poco oltre la soglia dell udibile)
Quant. non uniforme e ampiezze ridotte regioni di quantizzazione spaziate meno per ampiezze vicine allo zero spaziate di più per ampiezze elevate (maggiore errore di quantizzazione) la quantizzazione non uniforme slega SNR e gamma dinamica
Quantizzazione logaritmica 7 6 5 4 3 2 1 0 Cosa vuol dire che queste regioni sono uniformi su scala logaritmica?
Le nuove regioni di quantizzazione
Il nuovo errore di quantizzazione 7 4 5 6 3 2 1 0
Quantizzazione: 4 bit lineari e 3 bit log 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 7 4 5 6 3 2 1 0
Schema di quantizzazione logaritmica assegna i valori a regioni spaziate in modo uguale sulla scala logaritmica gamma dinamica: con 8 bit log si ottiene la g.d. di un quantizzatore lineare a 13-14 bit SNR: un convertitore 8-bit log va meglio di un convertitore 8-bit lin alle ampiezze basse, ma peggio alle ampiezze elevate
Vantaggi e svantaggi produce risparmi di memoria in generale, migliore qualità audio a parità di sr più complesso applicare le tecniche di elaborazione del segnale (la somma di due segnali corrisponde al prodotto)
Codifica Senza segno e con segno Offset binary Complemento a 2 Segno + valore
Il problema e le soluzioni
Codifica unipolare e bipolare Codifica unipolare (interi senza segno) 0 corrisponde alla tensione minima negativa Esempio: da 0 V a 10 V Codifica bipolare (interi con segno) convenienti per elaborazioni digitali sul segnale Esempio: da -5 V a +5 V
Offset binary Il formato più semplice (output da molti ADC) Svantaggi: 0000 picco negativo Silenzio a metà scala Quindi: sovrapposizione di due sorgenti di silenzio digitale = livello di picco positivo (DC level)!!! Somma di segnali: prima dell elaborazione occorre sottrarre metà del livello di picco da ogni segnale
Complemento a 2 1000: fondo scala negativo 0111: fondo scala positivo 0000: silenzio La somma di segnali è una semplice addizione binaria
Segno e magnitudo Primo bit di segno: 0 positivi 1 negativi La magnitudo aumenta da 0000 Usato nei sistemi di broadcast Nicam
Memorizzazione dei dati
Pulse Code Modulation (PCM) Ampiezza Campione i Campione i+1 Campioni di 4 bit 0 1 0 1 1 0 0 1 Tempo
Interleaving dei campioni multicanale si costruiscono frame di campioni da tutti i canali con N canali, i dati sono in sequenze di frame di N campioni (ciascuno per canale) per lo stereo, canale sx precede canale dx I campione II campione I campione II campione III campione? campione? campione
Frame multicanale vantaggi facile sincronizzazione dei canali memorizzazione e trasmissione più efficiente svantaggi spreco di spazio (non necessari tutti i canali) operazioni sui singoli canali
Little Endian e Big Endian 7 6 5 4 3 2 1 0 LSB 15 14 13 12 11 10 9 8 MSB 00000000 00001000 Big Endian 00000000 00001000 Little Endian 00001000 00000000
Riassumendo
I parametri dei dati audio Frequenza di campionamento (sampling rate) campioni al secondo (o Hz): es. 8000, 44100 è misurata per canale Quantizzazione numero di bit per campione: es. 8 or 16 Numero di canali 1 per mono, 2 per stereo, etc.
Alcuni standard de facto rate style mono/stereo 8000 8-bit µ-law, log mono 22050 8-bit linear unsigned mono e stereo 44100 16-bit linear signed mono e stereo
Quanto pesa l audio L audio digitale non compresso occupa... molto spazio sull hard-disk per la memorizzazione una banda ampia sul canale di trasmissione Esempio: brano di 1 min con qualità CD parametri: sr = 44,100 KHz; quantizzazione = 16 bit memoria = 44.100 c/s * 2 can * 2 byte/c * 60 s ~ 10 Mbyte tempo = 10 Mbyte * 8 bit/byte / (56 kbps * 60 s) ~ 24 min Solo per scaricare un minuto di musica stereo!
Formati
I formati Storicamente, ogni tipo di macchina usava un suo formato per i dati audio Alcuni formati applicabili in modo più generale Conversioni tra quasi tutti i formati (talvolta si perde informazione)
Due tipi di formati autodescriventi: parametri e forma di codifica espliciti in una intestazione (header) senza intestazione (headerless - anche detti raw ): parametri e codifica fissati a priori
Formati con intestazione Definiscono una famiglia di codifiche di dati un parametro definisce la variante di codifica usata parametri del device per il campionamento descrizione del suono leggibile dall utente (+ il copyright) Spesso header iniziano con una parola chiave e proseguono con i dati di codifica signed / unsigned, bytes / short integers,... quasi nessuna variazione sulle info di canale
La tabella dei formati di file audio Estensione Origine Parametri.au,.snd NeXT, Sun rate, #canali, codifica, info string.aif(f), AIFF Apple, SGI rate, # canali, quantizzazione, molte info.aif(f), AIFC Apple, SGI stessa cosa (AIFF con compressione).wav, WAVE Microsoft rate, #canali, quantizz., molte info.voc Soundblaster rate (8 bits/1 ch; silence deletion).iff, IFF/8SVX Amiga rate, # canali, info sugli strumenti (8 bit).mp3,.mp4 standard MPEG rate, #canali, qualità dei campioni.sf IRCAM rate, #canali, codifica, info none, MIME Internet
.ra Real Networks rate, #canali, qualità dei campioni.smp Turtle Beach loops, cues, (16 bits/1 ch).wve Psion (8 bits, 1 ch, a-law, 8khz) none, HCOM Mac rate (8 bits/1 ch; usa Huffman) none, NIST SPHERE DARPA speech community.mod or.nst Amiga
Formati senza intestazione Definiscono una singola codifica dei dati non ammettono variazioni dei parametri a volte permettono più sr, ma può essere un problema tirarla fuori Estensione (o nome) / Origine / Parametri.snd,.fssd / Mac, PC/ var. sr, 1 canale, 8 bits unsigned.ul / telefonia US / 8 k, 1 canale, 8 bit "u-law.snd / Amiga / var. sr, 1 canale, 8 bits signed
Un esempio: il formato WAV (Windows) Identificatore RIFF Tipo WAVE Format chunk Identificatore: fmt Data chunk Identificatore: data
Il formato RIFF Byte Offset Nome Lunghezza in byte Descrizione 00 rid 4 Contiene i caratteri RIFF 04 rlen 4 Lunghezza dei dati nel prossimo chunk 08 rdata rlen Il chunk di dati
Il formato WAV: la definizione del chunk rdata rdata Byte Offset Nome Lunghezza in byte Descrizione 00 wid 4 Contiene WAVE 04 Chunk del Formato 28 Wave data chunk 24 Formato dei dati nel chunk successivo? Wave audio data
Il chunk del formato Offset Nome Lunghezza Descrizione in byte 00 fid 4 fmt 04 flen 4 Lunghezza del chunk 08 wformattag 2 Codifica segnale (es. 1=PCM) 10 # Canali 2 1 = mono 2 = stereo 12 # Campioni / Sec 2 Tasso di playback 14 # Byte medi / Sec 2 #canali * # campioni al sec * # bit x campione / 8 16 # Block Align 2 Dimensione sample frame 18 Format Specific 6 Area dati specifici per il formato
Il chunk dei dati Data Chunk Offset Nome Lunghezza in byte Descrizione 00 h did 4 data 02 h dlen 4 Lunghezza del campo ddata 00 h ddata dlen Veri e propri dati sulla forma d onda
Vista globale sul formato WAV File da 8 bit mono ogni byte rappresenta un campione File da 16 bit stereo 2 byte per campione primo byte, canale di sx secondo byte, canale di dx
I supporti
I supporti per l audio digitale I campioni audio possono essere registrati su qualsiasi supporto (nastro, disco, circuito integrato) Si può usare qualsiasi tecnica di registrazione: elettromagnetica, ottica I dati possono essere scritti in molti formati: formato = strutturazione dei campioni
Supporti DAT (nastro magnetico): accesso seriale, piccole cassette e registratori, compatibilissimi DCC (nastro magnetico): accesso seriale, un formato digitale con compressione che si può usare anche in registratori analogici, qualità inferiore al CD HD (disco magnetico o ottico): accesso casuale (in msec), se fissi più veloci, non dello stesso formato del CD (anche se sembra simile)
Floppy (magnetico): accesso casuale (lento), solo file corti, non utile per archivio a lungo termine Sony MD (magnetico): accesso casuale, floppy con compressione, qualità inferiore al CD Memoria semiconduttore (elettronico): accesso casuale velocissimo (80 nanosec), eccellente per editing temporaneo, costoso e delicato per grandi DB
CD-DA Data transfer rate = 1411200 bit/sec tutti i data bit del frame (192) sono usati per i campioni audio 192 = 12 x 16 (ogni frame contiene 12 campioni, 6 per canale) Program area contiene informazioni sulle tracce (es. durata) indice: numero di tracce e locazione sul disco
CD-ROM Differenza fondamentale con il CD-DA: livello di rilevamento e correzione degli errori Settori (blocchi) consecutivi: unità min di accesso casuale ogni settore = 98 frame 1 frame = 192 bit di dati (24 byte) 98 frame = 2352 byte di dati
I blocchi del CD-ROM (2 modalità) Mode1 Testo e codici Sync Indirizzo 12 bytes 3 bytes Mode 1 byte Dati dell applicazione 2048 bytes Rilevamento e correzione errori 288 bytes Mode2 Audio e immagini Sync Indirizzo 12 bytes 3 bytes Mode 1 byte Dati dell applicazione 2336 bytes 2352 bytes
Compromessi sulla qualità audio Lentezza del trasferimento dati su CD-ROM l audio potrebbe balbettare grafica e video rallentare o a scatti Compromessi possibili sull audio uso del formato MIDI (sintesi FM o wavetable, spazio occupato minimo) abbassare quantizzazione e/o sr (OK assieme) scelta tipica: 8 bit, 22 KHz
Suggerimenti per la produzione audio Registrare sempre al max di quantizzazione Usare il ditherer quando si converte a 8 bit aggiungendo rumore per 3/4 del livello di quantizzazione picco a picco si elimina il crumbling Usare l equalizzatore per aggiungere forza alla regione midrange (3-10 KHz) aggiunge un po di dinamicità persa con la conversione a 22 KHz (a causa del filtro antialiasing)
Riepilogo formati e supporti audio digitali Frequenza di campionamento (khz) Dimensione dei campioni (bits) CD Audio DAT G.721 A-law µ-law 44.1 48 8 8 16 16 16/4 8 Quantizzazione Lineare Lineare Lineare Log Numero di canali 2 2 1 1 Tasso dati per canale 705 708 32 64 (1000 bit/sec) Codifica PCM PCM ADPCM PCM Qualità Molto alta Molto alta Media Telefono