View Single Post
Old 16-04-2006, 04:12 PM   #23
boggy
Moderator
 
boggy's Avatar
 
Join Date: Sep 2005
Location: Beograd
Posts: 6,200
Default Re: Bob Katz: Analog vs. Digital summing

Pozdrav svima,

Unapred bih zamolio sve koji budu replicirali na ovaj tekst, da ga PAZLJIVO procitaju u potpunosti i potrude se da ga razumeju pre nego sto krenu da ga kritikuju. Ako postoje problemi u razumevanju teksta, pomoci cu. Hvala!

Digitalno sumiranje ili sabiranje u kompjuteru (sabeeranje pre oduzimanja je nesto drugo) se odvija funkcijama koje obezbedjuje programerski paket za programiranje i procesor. Proizvodjaci mogu biti Microsoft, Borland, Intel, IBM, Freescale itd..

Da smanjim pisanje, uzmimo da su odbirci u vasim projektima 4 bitni... a kasnije cemo uzeti realne rezolucije.

Osnovna stvar koju treba imati u vidu kada se sabiraju celi brojevi (integer-i) je "bit prenosa", odnosno visak koji nastane. Prilikom sabiranja dva 4 bitna broja nastaje 4 bitni rezultat plus jos jedan bit prenosa. Ako bit prenosa nema gde da se posalje, onda se "baca". To je takozvani digitalni overload... jako ruzno zvuci.
Kada se ovo desava? Ako je najveci moguci broj zapisan u formatu 4bit broj 15 onda ce takav i toliki u zbiru vec zbir brojeva 8 i 7, i taj nece biti osecen, ali ako saberete 8 i 8 nastaje odsecanje i sabiranje ima gresku.

Ovo ne zvuci opasno, i od toga se mozete zastititi ako oba kanala drzite na -6dbFS (7/15=0.467 otprilike jedan bit kraci nego maksimalno) ali samo pod uslovom da se drzite samo dva kanala u sabiranju...

Kada dodate jos jedan kanal, ista formula vazi osim sto dobijate da morate sabrati maksimalno 5+5+5... uvek imate u vidu da vam je rezultat u nekoj ogranicenoj rezoluciji i da vam vasi signali u sabiranju moraju biti prosecno u nivoima {maksimalna vrednost rezultata}/{broj kanala}

ako uzmemo neke realne vrednosti... recimo neka je broj bita 24 i neka je broj kanala 24, i neka rezultat takodje bude 24 bit.
Maksimalni broj koji moze biti neodsecen u 24 bita je 16777215.
Kako mozete doci do ovog broja, za one koji ne znaju, uzmite windows kalkulator, scientific oblik, ispod polja gde se nalaze brojevi imate da birate brojne sisteme dec, hex, bin... izaberite bin, ukucajte 24 jedinice i prebacite na dec, i to je to. Ako vam je to mrsko, uzmite da je binarno 1111 jednako hex vrednosti F, pa izaberite hex, kucajte sest F-ova i izaberite dec...

Vracamo se na pricu, ako vam je broj kanala 24 onda vam sabirci (peak vrednost a ne rms!)moraju biti manji od 16777215/24~699050 da ne bi izazvali odsecanje, a to je -27.6dBFS maksimalno u peaku za sve kanale.
Nivo u decibelima se racuna za ovaj slucaj kao 20*log(699050/16777215)

ako su vam odbirci 24bitni a rezultat 32bitan i imate 24 kanala, onda se racuna ovako: maksimalni rezultat (32bit) vam je onda 4294967295, maksimalna vrednost sabirka vam je 4294967295/24=178956970.625
ako vam je maksimalna vrednost odbirka 16777215 vidi se da nece biti odsecanja jer je maksimalna vrednost odbirka dosta manja od izracunate vrednosti i ispada oko +10dBFs.
Pitanje je za koji broj kanala mozemo imati odsecanje prilikom sabiranja...
u slucaju da imate 32bitni rezultat a 24bitni podatak, maksimalni broj kanala je 256 i svi mogu da idu do 0dBFs.

Ovo pisanje (teorija) je radjeno samo pod uslovom da ne radite mnozenje konstantom pre sabiranja, naprotiv, to UVEK radite, jer gain na fader-ima je MNOZENJE pre sabiranja, koje "prosiruje" rezoluciju, odnosno duzinu zapisa za broj bita zapisa konstante, moze napraviti dodatna odsecanja PRE sabiranja. Koliki i kakvi su ti brojevi? Obicno su to 8-10bitne konstante, i raspodeljene su da mogu da urade i attenutation i gain. To dodatno komplikuje pricu. A da ne govorimo o tome sto imate i plug-ins ukljucene koji mogu raditi gain/attenuation... tako da to postaje haos, i broj mogucih kanala se RAPIDNO smanjuje, odnosno odsecanje pocinje da se desava vec tokom obrade...

Generalno, u praksi, digitalno sabiranje odnosno miksanje, ima najveci problem upravo sa odsecanjem i aritmetikom, poravnavanjem odbiraka, i dovodjenjem u isti nivo... na kraju to zvuci kako zvuci, i da bi se sa tim radilo, MORA se racunati na odsecanje prilikom sabiranja i obrade, jer je broj kanala uvek znatan, a aritmetika obicno 32bitna.

Da ne bi pored miksera placali nekog "kviska" koji ce da racuna bitove i soliti pamet onome koji miksa kako gainove da podesi, stacionarni digitalni mikseri rade dithering po svakom kanalu ili po parovima, distribuirano, svaki put kada nastane odsecanje sa donje strane, i tako uspevaju da mikser zvuci dobro u svakoj prilici...

Tako nesto ni najbrzi PC/MAC ne moze raditi u realnom vremenu i to rade DSP specijalno konstruisani, i sa algoritmima za dithering, i to MNOGO njih u zbiru... Zbog toga PC/MAC realno "boluju" od prevelikog ucinka suma kvantizacije, koji je neprijatan i statisticki razbacan po miksu... cesto je pojacan, pravi specificne koloracije i prakticno neunistiv i ruzan... ako se nadje u zavrsnom miksu...

Kvalitetni dithering je izuzetno zahtevna radnja, iako prilicno tupava, ali je za univerzalne procesore opste namene, prevelik zalogaj, a takvi su svi o kojima pricate i koristite ih u PC/MAC. Ako ista i ubace u te procesore da stvari bolje rade, onda je to samo za gledanje filmova i slusanje muzike, Intel je imao MMX a IBM/Freescale Altivec, ali sve je to kilometrima daleko od dedicated DSP. Tu je nebitna "snaga" procesora, nego konstrukcija i namena. DSP na smesno malom clocku od kojih 33MHz moze brze uraditi poslove oko digitalnog procesiranja signala od univerzalne mrcine sa cetiri core-a i mnogo gigaherca, jer nisu optimizovani za tu proceduru.

Znaci, imajte u vidu da kada pricate o PC/MAC, pricate u stvari o izuzetno sofisticiranim i naprednim pisacim masinama. Ne zelim da vam vredjam ljubimca, ali pogledajte ko je jos uvek najveci kupac za te masine pa ce vam biti sve jasno...
Drugi je problem sto generalno, sabiranje i aritmetika nema veze sa proizvodjacem audio editora, vec sa proizvodjacem procesora, operativnog sistema i paketa za programiranje... Da li oni (proizvodjaci audio editora) imaju uticaj na njih? Koliki je to deo trzista za spomenute proizvodjace-gigante?

Nisam pristalica da se necije izjave proglasavaju ovako ili onako, a da se pri tom argumentacija iznosi u vidu velikih brojeva sumnjive relevantnosti i ne dublje od reklamnih papira... mozda je ipak postenije probati isprogramirati u C++, mikser ili PeraPeric Turbo Digitalnu Master Sabirnicu 4WD pa pricati o problematici mehanizma digitalnog miksanja... dok se to ne uradi, dotle je korektnije slusati rezultat i donositi odluke na osnovu svog osnovnog sredstva za rad... organa cula sluha! (barem u ovoj oblasti)
Ovo je moj licni stav, da napomenem.




pozdrav i hvala jos jednom na utrosenom vremenu.

bogi
__________________
@Facebook
@Instagram
Email: boggy@myroom-acoustics.com

--"We can never see past the choices we don't understand." (Oracle, The Matrix Reloaded)
boggy is offline   Reply With Quote