Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
Ceea ce noi numim sunet reprezint, de fapt, o perturbaie (energie mecanic) propagat prin mediu (aer) sub forma unor unde. Cnd undele sonore ajung la timpanul nostru, nervii auditivi sunt stimulai i trimit impulsuri electrice ctre crei er, acesta realiznd o interpretare a informaiei primite. n mod asemntor funcioneaz, spre exemplu, un microfon: mica membran a microfonului, de care este fixat o bobin, este pus n vibraie de undele sonore care se ciocnesc de ea i, datorit unui magnet permanent aflat n apropiere, se induce curent electric alternativ n bobin, interpretat mai apoi de un dispozitiv fie de amplificare, fie de nregistrare. nregistrarea digital const n urmtoarele etape: Semnalul analog (curentul sinusoidal ) este transmis de ctre dispozitivul de captare al sunetului ctre un convertor analogdigital (en. ADC analog to digital converter); ADC-ul transform semnalul primit ntr-un ir de bii (1 i 0). Cantitatea de bii produi pe secund poart numele de SAMPLE RATE. Informaia este apoi stocat, spre exemplu, pe hard-disk sau CD-ROM. Pentru a reda sunetul, se parcurg paii n sens invers: Secvena binar este trimis unei uniti DAC (en. digital to analog converter), c e transform biii napoi, n semnal analog. Semnalul este eventual amplificat pentru a fi trimis apoi spre difuzoare. Salvarea sunetelor ntr-un calculator se bazeaz pe procedeul de eantionare a semnalului audio, de reinere a valorilor amplitudinii (voltajului), la anumite interval e de timp. Numrul de bii folosit n formatul audio pentru reprezentarea binar a valorii unei msurri de amplitudine se numete rezoluie, sau adncime de bii (en. resolution, bits per sample, bit depth). Intervalele de timp la care se msoar aceast amplitudine poart numele de perioad, ajungndu-se astfel la noiunea de frecven (en. sa mple rate) numrul de msurri ntr-un interval de o secund. Datele pot fi stocate necomprimate sau comprimate, pentru a se reduce dimensiunea fiierului.
dorit un interval ct mai mare de reprezentare. Pentru CD-urile audio, intervalul este cuprins ntre 0 i 65,535, bit depth avnd valoarea 16 (16 bii = 2 octei).
recomandat
44.1 kHz
24 bii
optim
96 kHz
24 bii
Ocup mult spaiu per secund nregistrat. Timp de procesare mare. Pentru unele secvene audio nu prezint mbuntiri perceptibile. Necesit conversie pentru folosirea pe un CD Audio standard.
Urmtorul tabel prezint dimensiuni ale unor fiiere ce conin O OR de sunet n format digital, pentru valori diferite ale ratei de eantionare (sample rate) i rezoluiei de bii (bit depth).
Sample Rate 44.1 kHz 44.1 kHz 44.1 kHz 44.1 kHz 96 kHz 96 kHz Bit depth 16 16 24 24 24 24 Numr de canale 2 (stereo) 1 (mono) 2 (stereo) 1 (mono) 2 (stereo) 1 (mono) Mrime, n MB 591 MB 296 MB 887 MB 444 MB 1931 MB 966 MB
Majoritatea formatelor audio suport multiple codecuri. Sa zicem c un fiier de format audio XYZ are extensia .xyz. Vom crea dou astfel de fiiere ce conin exact acelai sunet. Dac nu ar fi aplicat niciun codec, atunci datele din ambele fiiere ar fi perfect identice. ns un fiier l salvm folosind codecul A, iar pe cellalt folosind codecul B. Fiecare fiier va conine la o anumit adres numele codecului folosit, iar datele nu vor mai fi aceleai, ele fiind salvate prin algoritmi diferii. Mrimea celor dou fiiere nu va mai fi nici ea aceeai, depinznd de gradul de comprimare al fiecrui codec. Cu toate c datele sunt diferite, informaia (sunetul) rmne, de obicei, neschimbat. Cnd vom rula un player audio pentru redarea secvenei nregistrate, acesta observ codecul specificat i va importa proceduri din librriile dinamice ale fiecrui codec (un exemplu ar fi fiierele DLL, pentru platforma Windows) pentru interpretarea datelor din fiierel e noastre. Dac codecul specificat nu este instalat pe calculator, atunci datele nu vor putea fi citite, deci sunetul nu va fi redat.
Tipuri de formate
Exist trei mari grupe de formate audio: Formate ce conin date audio necomprim ate (en. uncompr essed audio formats) cum ar fi WAV, AIFF, AU; Formate ce conin date audio comprim ate, ns fr pierdere de informaie (en. lossless compression) cum ar fi FLAC, Monkeys audio (extensia .ape), WavPack (extensia .wv), Windows Media Audio Lossless (WMA Lossless). Formate cu conin date comprim ate, cu pierdere de date i informaie (en. lossy) MP3, Vorbis (extensia .ogg), AAC, Windows Media Audio (WMA). 1. Formate fr compresie Exist un format principal de reprezentare necomprimat a sunetului, i anume PCM (Pulse-code modulation mprirea curentului sinusoidal pe eantioane dreptunghiulare, un mod de aproximare fidel a sunetului), folosit n fiierele WAV (platforma Windows) i AIFF (pentru Mac OS). Formatele WAV i AIFF sunt deosebit de flexibile i sunt concepute astfel nct s poat stoca flux de date la diverse combinaii de rezoluie i rate de eantionare (en. bit rate, sample rate). Sunt folosite pentru stocarea nregistrrilor originale. Formatul AIFF (Audio Interchange File Format) se bazeaz pe formatul IFF (Interchange File Format) dezvoltat de Apple. Formatul WAV se bazeaz pe RIFF (Resource Interchange File Format), replica Microsoft la IFF-ul celor de la Apple. BWF (Broadcast Wave Format - http://en.wikipedia.org/wiki/Broadcast_Wave_For mat) este un format audio standard creat de European Broadcasting Union, ca un succesor al lui WAV. BWF permite metadatelor (metadate = date despre date) s fie stocate n fiier. Este foarte uti lizat de ctre profesionitii n domeniul audio, n televiziune i industria cinematografic. Fiierele conin i o linie temporal ce permite sincronizarea perfect a sunetului cu anumite imagini, etc. 2. Formate cu compresie , fr pierdere de informaie O secven de date dintr-un fiier cu un astfel de format nec esit mai mult timp de procesare nainte de a fi ncrcat n memoria principal, dar ocup mai puin spaiu pe hard -disk. Formatele fr compresie rein acelai numr de bii pentru reprezentarea fiecrui sample (eantion) astfel nct, spre exemplu, un minut de linite deplin rezult ntr -un fiier de aceeai mrime cu un fiier ce reine un minut de muzic orchestral. n cazul comprimrii fr pierdere de informaii, lucrurile stau altfel. Minutul de muzic va ocupa ceva mai puin spaiu dect iniial (necomprimat), iar minutul de linite aproape c nu va ocupa deloc spaiu. Formatele comprimate fr pierdere de
informaii asigur o rat de compresie de aproximativ 50%. Dezvoltarea algoritmilor de comprimare are ca scop reducerea timpului de procesare, meninnd totui o rat bun de compresie. 3. Formate cu compresie , cu pierdere de informaie Codarea cu pierdere de informaie se folosete pentru a reduce cantitatea de date, eventual pe seama calitii. Intenia este de a elimina numai informaiile pe care omul obinuit nu le percepe (de exemplu detaliile ultrafine ale unei interpretri muzicale, sunetele foarte nalte sau cele cu o amplitudine foarte mic). Pe msur ce se dorete obinerea unei c antiti din ce n ce mai mici a materialului codat, pierderea de informaie poate deveni totui vizibil/auzibil i chiar deranjant (de exemplu, n cazul codrii unei imagini, cerul cu nori poate fi nlocuit pur i simplu printr -o pat albastr uniform). Fiierele cu o astfel de compresie pot duce la o dimensiune a datelor de 5 -20% din fluxul de date audio iniial. Exemple: MP3, OGG, WMA .
AAC (Advanced Audio Coding) acest format se bazeaz pe standardele MPEG2 i MPEG4 . Se r egsete n fiiere cu extensiile .acc, .m4a, .mp4, .3gp, etc. MP3 (MPEG-1 Layer 3) cel mai popular format de stocare i rspndire a muzicii , dezvoltat de Institu tul Fraunofer. Eliminnd date redundante din fluxul de date (sunetele greu de perceput de urechea uman), poate deter mina o compresie de aproape 90% a unui fiier WAV de ex emplu (n format PCM), meninnd n acelai timp o calitate foarte bun. WMA (Windows Media Audio) format cu compresie, deinut de Microsoft. RA (Real Audio) for mat conceput pentru transmiterea fluxurilor audio prin Internet (poate fi redat n timpul descrcrii en. streaming).
Ce nseamn RIFF?
Formatul de fiiere RIFF (Resource Interchange File Format) este baza pentru WAV, AVI, ANI. Un document RIFF const ntr-un antet RIFF urmat de 0 sau mai multe liste i porii (lists & chunks). Antetul RIFF are urmtoarea form: 'RIFF' fileSize fileType (data), unde 'RIFF' este un FourCC, fileSize este un ntreg pe 4 octei (mrimea ntregului fiier minus 8 oc tei), fileType este tot un FourCC (fie AVI , fie W AVE), iar data conine porii sau liste, n orice ordine. O porie (chunk) are urmtoarea form: ckID ckSize ckData, unde ckID este un identificator FourCC pentru data din porie, ckSize este un ntreg pe 4 octei ce reprezint mrimea (n octei) a datelor din ckData, iar ckData conine 0 sau mai muli octei de date. Data este ntotdeauna rotunjit, aranjat (en. padded) spre un numr fix de cuvinte (WORDS), n cazul n care ckSize nu are valoarea divizibil cu sizeof(WORD). S reinem ns c ckSize ofer strict numrul octeilor valizi din poria de date, nu include i numrul octeilor de aranjare (en. padding). O list are urmtoarea form: 'LIST' listSize listType listData, unde 'LIST' este un FourCC, listSize este un ntreg pe 4 octei ce ofer numrul octeilor din list, listType este un FourCC, iar listData const n porii sau liste, n orice ordine. listSize numr i cei 4 octei ai FourCC-ului listType, nu doar numrul octeilor din listData, ns nu include (cum este i normal) cei 4 octei ai FourCC-ului 'LIST' sau cei 4 octei ce reprezint cmpul nsui (listSize). n continuare, vom folosi urmtoarea notaie pentru a reprezenta o porie de date: ckID ( ckData ), cmpul ckSize (mrimea poriei) fiind subneles (implicit).
n aceeai manier, o list va fi reprezentat astfel: 'LIST' ( listType ( listData ) ) Elementele opionale vor fi cuprinse ntre paranteze drepte: [ optional element ].
Aici, hdrl i movi sunt ID-urile celor dou liste eseniale despre care vorbeam. hdrl definete formatul de date i este prima list necesar. movi conine datele pentru secvena audio-video i este cea de-a doua list necesar. Poria cu ID-ul idx1 conine indecii. Fiierele TREBUIE s aib aceste trei componente n ordine.
Listele hdrl i movi au ca date subporii (subchunks). Urmtorul exemplu prezint ntr-un mod ceva mai extins structura RIFF AVI:
RIFF ('AVI ' LIST ('hdrl' 'avih'(<Main AVI Header>) LIST ('strl' 'strh'(<Stream header>) 'strf'(<Stream format>) [ 'strd'(<Additional header data>) ] [ 'strn'(<Stream name>) ] ... ) ... ) LIST ('movi' {SubChunk | LIST ('rec ' SubChunk1 SubChunk2 ... ) ... } ... ) ['idx1' (<AVI Index>) ] )
De ex emplu, dac fluxul cu indexul 0 conine date audio, atunci chunk-urile despre care vorbim au FourCC-ul 00wb. Dac fluxul 1 conine date video, atunci FourCC-ul va fi 01db sau 01dc. Un sub-chunk cu ID-ul xxpc definete o actualizare (schimbare) a paletei de culori n timpul derulrii secvenei AVI. Acest fel de subchunk alctuiete o structur AVIPALCHANGE (http://msdn.microsoft.com/en us/library/ms779635(VS.85).aspx). Pentru ca schimbarea s fie aplicat unui flux video, atunci acel flux ar trebui s accepte astfel de schimbri. Dup cum am precizat pe parcursul acestui document, antetul unui flux (strh) alctuiete o structur AVISTREAMHEADER. Cmpul dwFlags din structur trebuie s aib setat caracteristica AVISF_VIDEO_PALCHAN GES. Pentru fluxurile de tex t (existente i ele ntr-un fiier AVI) nu se specific niciun cod de 2 caractere. Se pot utiliza combinaii arbitrare. Poria AVI Index (idx1) Aceast porie este opional, putnd urma dup lista movi. Conine o list cu ID-urile chunk-urilor de date (cadrele, sample-urile audio), mrimea, locaiile lor n fiier. n list sunt incluse, de asemenea, i grupurile de chunk-uri de date, acele porii rec . Poria idx1 alctuiete o structur AVIOLDINDEX (http://msdn.microsoft.com/en -us/library/ms779634(VS.85).aspx). Dac fiierul AVI conine aceast porie final, atunci cmpul dwFlags din structura AVIMAINHEADER (adic poria avih) tr ebuie s aib setat caracteristica AVIF_HASINDEX. Alte Chunk-uri pot fi cele cu ID-ul JUNK. Ac este sunt folosite pentru alinierea datelor n fiierul AVI. O aplicaie ar trebui s ignore coninutul unui astfel de chunk. Surs: http://msdn.microsoft.com/en-us/library/ms779636(VS.85).aspx
WAVE Audio
Formatul WAV este o ramificaie e specificaiei RIFF a Microsoft, destinat pstrrii fiierelor multimedia. Un fiier RIFF ncepe cu un antet (file header) urmat de o secven de porii de date (data chunks). Un fiier WAV conine o singur porie, WAVE chunk, ce const n dou sub-porii (sub-chunks), fmt (detaliile formatului) i data (ce conine secvena audio propriu-zis, sample-urile). S numim construcia alturat forma canonic a unui fiier WAV.
Tabelul urmtor prezint cmpurile ce compun un fiier de tip wav FR compresie, format PCM, adresele i mrimile lor:
Tipul de ordonare a octeilor Antetul RIFF Big endian Little endian Big endian Big endian Little endian Little endian CHUNK-ul RIFF WAVE Little endian Little endian Little endian Little endian Little endian Big endian Little endian Little endian
Numele cmpului Chunk ID Chunk Size Format (RIFF type ID) SubChunk1ID SubChunk1 Size CompressionCode Num Channels Sample Rate BytesPerSec Block Align BitsPerSample SubChunk2ID SubChunk2 Size Data 4 4 4 4 4 2 2 4 4 2 2 4 4
Observaii Literele RIFF, n format ASCII Mrimea ntregului fiier, minus 8 octei, mrimea nsumat a primelor dou cmpuri. Conine literele WAVE, n format ASCII Literele fmt (inclusiv un spaiu) n ASCII 16 pentru PCM, format necompresat Tipul de compresie folosit pentru Data, 1 pentru PCM Numrul de canale, 1 pentru mono, 2 pentru stereo, etc. 8000, 44100, etc. Valoarea expresiei: Valoarea expresiei:
8, 16, 24 sau 32 de bii pentru fiecare sample Subchunk-ul data Literele data, n ASCII , NumSamples depinznd bineneles de durata secvenei audio Data audio propriu-zis
SubChunk2 Size
Subchunk-ul fmt
Varianta complet a acestui tabel poate fi gsit n articolul http://msdn.microsoft.com/enus/library/ms867195.aspx. Iat un exemplu de fiier WAV, n stnga este deschis csua de dialog Properties, iar n dreapta fiierul este deschis cu editorul de text Notepad:
Pentru informaii despre cele dou tipuri de ordonare a octeilor n cadrul unui cuvnt (WORD), vezi urmtoarele articole: http://en.wikipedia.org/wiki/Endianness http://betterexplained.com/articles/understanding-big-and-little-endian-byte-order/ De asemenea, poi gsi informaii utile pe urmtoarele linkuri: http://en.wikipedia.org/wiki/Pulse-code_modulation - PCM, un mod de reprezentare digital a semnalelor analogice, standardul pentru secvene audio digitale n computere i CD-uri Audio Red Book. Surs: https://ccrma.stanford.edu/courses/422/projects/WaveFormat/, http://www.sonicspot.com/guide/wavefiles.html , http://wwwmmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html . // TODO: de tradus articolul http://en.wikipedia.org/wiki/Flv + specificaii ale Flash Video
http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf
Formatele FLAC, MP3, etc. Informaii despre standardele MPEG. // *********************************************************************************