Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Filmy a seriály, streamovací služby
Televize  |  Projektory
Audio a domácí kina
Multimediální centra  |  Ostatní
Svět hardware  |  Digimanie
Svět mobilně

Jak vypočítat celkovou úroveň zvuku?

radek.kovacik (267)|27.8.2010 19:45
Zdravím,
mám jeden čistě teoretický dotaz ohledně zvuku, zda existuje nějaký vzorec na výpočet celkové úrovně zvuku? Mám na mysli případ, když do audio nebo video editoru vložím ve stejném časovém okamžiku dva nebo více zvuků o určité úrovni (např. tři zvuky o úrovni -12 dB), zda jde nějak vypočítat celková (konečná) úroveň těchto zvuků dohromady (tedy kolik dB dostanu na výstupu).
Pytkin (7947)|27.8.2010 23:54
uroven -12dB je peak ? alebo rms ? dalej celkova uroven zavisi , od algoritmu zmiesavania .. atd .. je tam velmi vela roznych velicin , od ktorych to zavisi ..
radek.kovacik (267)|28.8.2010 11:15
Pytkin:
Řekněme, že -12 dB je peak. Co se týká algoritmu, to netuším, jaký např. Vegas používá algoritmus. Mně jde pouze o nějaký jednoduchý výpočet (s přesností +- 1 dB) konečné úrovně všech zvuků, které mám např. vložené ve Vegasu ve třech audiostopách pod sebou.
artam (1147)|28.8.2010 22:10
radek.kovacik:
Vegas (ani iny audio editor) pri obycajnom scitani zvukov nepouziva ziaden algoritmus. Je to jednoducha matematicka operacia suctu. Vo vseobecnosti sa sucet urovni zvuku rovna suctu ich urovni vyjadrenych v dB. Ale ono to nie je take jednoduche vypocitat vyslednu maximalnu uroven, ked zvuk ma premenlivu uroven hlasitosti v case.

Pokial je napriklad peak -12dB u obidvoch, tak teoreticky najhlasnejsia uroven bude -6 dB, ale ak sa tieto max. urovne nikdy v jednom casovom okamziku nestretnu, tak nikdy vysledna uroven nedosiahne -6dB.

U RMS je to este viac zlozitejsie, pretoze pri scitani zvuku, u ktorych poznas len maximalnu RMS uroven nikdy nevies, kolko je peak uroven a pri scitani sa jednoducho mozes dostat dost vyrazne az za uroven clippingu. V takom pripade je prakticky nevyhnutne pouzitie limitera, co samozrejme vedie k zmrseniu vyslednej dynamiky. Preto je lepsie poznat orientacne aj peak urovne, aby nemusela byt nasadzovana limitacia v prilis velkom rozsahu dynamiky a nastavit urovne tak, aby po sucte peak hodnot nebol clipping presiahnuty o viac ako cca 3 dB, kompresia dynamiky v tak malom rozsahu pri limitacii nebude este nejako vyrazne pocutelna.
radek.kovacik (267)|29.8.2010 10:30
artam:
OK, máš pravdu, že při součtu dvou zvuků se stejnou úrovní bude jejich výsledná úroveň na dvojnásobku (vyjádřeno v dB). Jak to ovšem bude při rozdílných úrovních např. -10dB a -12dB? A to ještě nemluvím o vícestopém zvuku. Jak se to tam počítá?

Je mi jasné, že pokud bych měl brát do úvahy např. rozdílné frekvence zvuků (např. 1 kHz a 2 kHz), tak se samozřejmě musí objevit místa, kde bude hrát pouze jeden z těchto zvuků a naopak i místa, kde bude součet jejich peak hodnot, ale to už bychom zbytečně zabíhali do podrobností. Mně jde pouze o jednoduchý výpočet výsledného peaku hodnot daných dvou, tří nebo čtyř zvuků. Já jsem v matematice nikdy nevynikal, takže zatím jsem na žádný vzorec, podle kterého by se to dalo vypočítat, nepřišel.
Pytkin (7947)|29.8.2010 12:36
no musis brat to , ze sa ti mozu stretnut peaky .. to je max hodnota .. a vsetky ostatne pripady budu nizsie ..
artam (1147)|29.8.2010 22:12
[quote=radek.kovacik;294468]...Mně jde pouze o jednoduchý výpočet výsledného peaku hodnot daných dvou, tří nebo čtyř zvuků. Já jsem v matematice nikdy nevynikal, takže zatím jsem na žádný vzorec, podle kterého by se to dalo vypočítat, nepřišel.[/quote]
No to mas tazke, bez matematiky sa nezaobides... ;)

tak napriklad u 2 zvukov:
Uroven zvuku 1 v dB = 20log(V1/Vref)
Uroven zvuku 2 v dB = 20log(V2/Vref)
Vysledna uroven = zvuk 1 + zvuk 2 = 20log((V1+V2)/Vref)
u 4 zvukov = podobne, t.j. 20log((V1+V2+V3+V4)/Vref)

Ale plati to len pre okamzitu hodnotu v jednom casovom bode, co dost mozno nikdy nenastane. Pri takejto logike by pri sucte 4 zvukov bolo nutne kazdny zvuk stisit na 1/4 svojej povodnej urovne, aby sa vo vysledku po sucte neprekrocilo maximum ziadneho z nich. Co je samozrejme blbe a vysledok by bol znacne potichu. Preto, ak nechceme vstupne urovne prilis stisovat, je nutne v takomto pripade zakonite pocitat s hrozbou prebudenia a clippingu a preto sa musi nasadit limiter (samozrejme s vhodne zvolenym thresholdom a strmostou limitacie).
Saxel (2279)|30.8.2010 08:53
[quote=radek.kovacik;294468]... Jak to ovšem bude při rozdílných úrovních např. -10dB a -12dB? A to ještě nemluvím o vícestopém zvuku. Jak se to tam počítá?...[/quote]
A není jednodušší, když používáš Vegas, zapnout si okno audio mixéru (Alt + 3) a v něm rovnou sledovat výslednou úroveň?
Pytkin (7947)|30.8.2010 15:39
vegas ukazuje uroven uplne odveci .. das tam signal co ma peak do nuly a vegas ukazuje +3dB az +5dB v cervenom ..
radek.kovacik (267)|30.8.2010 19:50
[quote=artam;294570]
Vysledna uroven = zvuk 1 + zvuk 2 = 20log((V1+V2)/Vref)[/quote]
Vzorce vypadají dobře. Teď bych ještě potřeboval vědět, co znamená V1, V2 a Vref, abych se něčeho dopočítal. :confused:

[quote=Saxel;294591]A není jednodušší, když používáš Vegas, zapnout si okno audio mixéru (Alt + 3) a v něm rovnou sledovat výslednou úroveň?[/quote]
Jednoduché by to možná bylo u nějaké krátké zvukové pasáže (třeba do 3 minut), ale pokud je potřeba srovnat zvuky např. ve dvou audiostopách ve videu dlouhém 90 minut, tak jak to řešit, když bych z toho chtěl vytáhnout maximum (maximální celkovou úroveň) a zároveň to nepřebudit a nemuset používat limiter (kvůli porušení dynamiky)?
artam (1147)|30.8.2010 20:53
[quote=radek.kovacik;294668]...Teď bych ještě potřeboval vědět, co znamená V1, V2 a Vref, abych se něčeho dopočítal.[/quote]
V1, V2 ... mozes si vybrat - napriklad velkost samplu ako absolutne cislo, alebo uroven signalu vo Voltoch... na jednotkach nezalezi, pretoze sa jedna o ich vzajomny pomer, co je vo vysledku bezrozmerne cislo (zlomok ma v menovateli a citateli rovnake jednotky)
Vref - vztazna uroven, voci ktorej sa pocita, v nasom pripade pri 0dB, cize u velkosti samplu je to maximalne mozne cislo, napr. pri 16-bit = 65535 (0xffff), pri 24-bit 16777215 (0xffffff), pri 32-bit 4294967295 (0xffffffff)... atd. :), alebo uroven signalu vo Voltoch pri urovni 0dB
[quote=radek.kovacik;294668]...ak to řešit, když bych z toho chtěl vytáhnout maximum (maximální celkovou úroveň) a zároveň to nepřebudit a nemuset používat limiter (kvůli porušení dynamiky)?[/quote]
V samotnom Vegase asi problematicky, zrejme intuitivne, ale napriklad v Sound Forge jednoducho - natiahnes audio stopu, vyberes volbu z menu Tools -> Find -> a zvol si "Find largest peak", co vyhlada a nastavi kurzor na maximalnu vzorku v celej audio stope. A tak to zistis pre vsetky stopy, potom vezmes kalkulacku a mozes pocitat. :D
Saxel (2279)|31.8.2010 09:31
[quote=Pytkin;294639]vegas ukazuje uroven uplne odveci .. das tam signal co ma peak do nuly a vegas ukazuje +3dB az +5dB v cervenom ..[/quote]
Divné, to jsem nikdy nezaznamenal. Podle manuálu zobrazuje mixér Vegasu 0dB při úrovni o hodnotě 32767 (u 16-bit. audia), což je maximum, takže bez dodatečných úprav úrovně by se neměl dostat nad nulu. Ale přiznávám, že nejsem profík na audio a že kromě Vegasu používám už jen Audition.
Pytkin (7947)|31.8.2010 16:34
Saxel : sak skus nagrabovat dake CDcko akutalne .. kere je natlacene poriadne .. daky popik .. vloz ho do vegasu .. a kukaj na master ..
radek.kovacik (267)|31.8.2010 18:00
Teda chlapi, po přečtění posledních příspěvků už jsem z toho totální jelen. Když si to vezmu čistě logicky, tak předpokládám, že při nejpoužívanějším 16 bitovém vzorkování je maximální úroveň (tj. 0 dB) 65536, jak píše artam. Z tohoto důvodu nechápu, jak může mixér ve Vegasu (jak tvrdí Saxel) zobrazovat nulu při úrovni o hodnotě 32767, což je vlastně polovina maximální úrovně, která odpovídá -6 dB. Pokud by to tak skutečně bylo, pak by musel mít pravdu Pytkin v tom, že když se do Vegasu dá zvuk s peakem 0 dB, že Vegas by zobrazoval +6 dB, protože při nastavení podle Saxela by ani nemohl jinak, což mi přijde dost ujetý.

Tož se nějak dohodněte a pak mi to vysvětlete... :-)
Pytkin (7947)|31.8.2010 18:07
radek : zabudol si na kladne a zaporne cisla ..
artam (1147)|31.8.2010 18:26
Aaaa, spravne, Pytkin, mas jednicku s hviezdickou. :)

radek: Samozrejme, musis tie moje cisla vydelit 2, kedze signal (analogovy) ide okolo nuly do zapornych a kladnych hodnot, takze po digitalizacii to bude pri 16-bitoch v intevale -32788 ; 32767 (0x8000 ; 0x7fff). V ramci rychlosti spisat priklad som na to zabudol, to bude tou profesionalnou deformaciou ;) momentalne programujem army a pouzivam vacsinou len unsigned int.

Mimochodom, i ked zdrojove audio je napriklad len 16bit, tak vo Vegase sa spracuje interne s vyssou bitovou hlbkou (24bit, resp. 32bit), co je logicke, eliminuju sa tym zaokruhlovacie chyby (posunu sa pod bitovu vahu zdroja).
radek.kovacik (267)|1.9.2010 18:30
Já jsem si to hned myslel, že ten Vegas nebude tak blbý, že by zobrazoval dvojnásobnou úroveň, než ve skutečnosti je. ;)

Co se týká toho interního zpracování zvuku ve Vegasu, tím se na tom výpočtu nic nezmění, protože se jedná o poměr signálů a ten zůstane stejný, ať je bitová hloubka jakákoli.
Říkám to správně?
artam (1147)|1.9.2010 22:24
[quote=radek.kovacik;294976]Co se týká toho interního zpracování zvuku ve Vegasu, tím se na tom výpočtu nic nezmění, protože se jedná o poměr signálů a ten zůstane stejný, ať je bitová hloubka jakákoli.
Říkám to správně?[/quote]
Spravne.
radek.kovacik (267)|2.9.2010 10:40
Díky všem zúčastněným (a především artamovi) za objasnění. Teď už můžu v klidu počítat... :-!!!

:BB: