Kategorie
dźwiękownia Pisze bo mogie.

16bit, 48kHz, 128kbps – o co w tym wszystkim chodzi?

Podwaliny pod współczesny zapis audio stworzyło tzw twierdzenie Shannona, a zasadzie jedno z jego twierdzeń uzupełnione przez paru innych mózgowców. Wgłębiając się w wikipedię dowiemy się różnych dziwnych rzeczy o sygnałach dyskretnych, dziwnych wzorach itp, ale przekładając z Polskiego na nasze chodzi o to, że jest możliwe zapisać audio przy pomocy zer i jedynek w sensowny sposób. Teraz czas na wyjaśnienie jak to się dzieje. Otóż jak pewnie części z was wiadomo mikrofon to w gruncie rzeczy takie szprytne urządzenie, które zamienia dźwięk na prąd. Tenże prąd wędruje sobie kabelkiem do karty dźwiękowej i… no właśnie, teraz ten prąd trzeba zamienić na cyferki. Może ktoś jeszcze pamięta, że dźwięk to fala. Co tu faluje? poniekąt powietrze, chociaż może to być niemal dowolny inny ośrodek, jednak żeby nie komplikować skupmy się na powietrzu. Waląc np. w bęben lub drąc tzw ryja wprawiamy niektóre cząsteczki powietrza w ruch drgający, który ma na tyle dużą energię, że jest w stanie wprawić również w drganie mębranę mikrofonu. Jak już wcześniej wspomniałem dalej zamienia się to w prąd i w takiej formie dociera do karty dźwiękowej. W efekcie mamy prąd o bardzo szybko zmieniającym się napięciu. Jak zapisać tego typu sygnał wymyślił właśnie Claude Shannon. Jego metoda jest w gruncie rzeczy bardzo prosta należy co chwila badać wartość, w tym przypadku napięcia prądu i zapisać je w formie liczby. W ten sposób otrzymamy w cholerę wartości napięcia, które, gdy je zamienić z powrotem na prąd otrzymamy w miarę podobny do oryginału sygnał. Taki zapis cyfrowy zmieniającego się sygnału nazywamy jego zpróbkowaniem, a dźwięk zapisany tą metodą określamy PCM czyli pulse code modulation, a po polskiegu modulacja kodowo impulsowa. Prawda, że proste? :d.
No fajnie, ale gdzie tu te Hertze, bity itd?
Taqki sygnał można po pierwsze zapisać w różnych odstępach czasu i jak się można domyślić im częściej zapiszemy stan napięcia, tym dokładniejszy ten zapis będzie. Kłaniają się więc Hertze czyli częstotliwość zapisywania zmian napięcia. Teraz czekam na pytanie typu „ale granicą słyszalności człowieka jest podobno 20000hz więc na cholerę te 48000?” tiaaa. obawiam się, że trzeba będzie wprowadzić kolejny termin, a mianowicie częstotliwość Nyquista. Znowu w Wikipedii mamy masę wzorów, zakręconych definicji itd, bo przecież trzeba udowodnić, że to faktycznie działa, ale ja tego ni cholery nie rozumiem. Jednak da się to jakoś tam wyjaśnić bez uciekania się do matematyki, którą chyba tylko Dawid zrozumie. Aa, nie napisałem o co chodzi? no to: maksymalna, poprawnie zapisana częstotliwość jest dwkrotnie mniejsza niż częstotliwość próbkowania czyli tę, z jaką zapisujemy sygnał. Najprościej wyjaśnić to w ten sposób, że aby zapisać jakąś falę trzeba zaznaczyć przy najmniej jej minimum i maksimum, tak więc na zapisanie pełnego okresu fali w tym przypadku trzeba wykorzystać dwa zapisy. To oczywiście znacznie uproszczone wyjaśnienie, bo zostaje jeszcze tzw aliasing czyli problem z częstotliwościami wyższymi niż maksymalne, które bez odpowiednich filtrów wprowadzają potworne śmieci i zgrzyty do oryginalnego dźwięku, ale to już komputery robią bez naszego udziału i tym zdecydowana większość z nas zajmować się nie będzie, a tym, którzy jednak mięliby takie pomysły odsyłam do taakich mądrych siążek, z taaakimi wzorami. Podsumowując mając częstotliwość próbkowania 48kHz czyli 48000Hz możemy maksymalnie zapisać dźwięk o częstotliwości 24000Hz czyli cały zakres słyszalności człowieka plus jeszcze trochę na wszelki wypadek no i ewentualne problemy z filtrami usuwającymi śmieci i zgrzyty.
Zostają jeszcze bity. Wspomniałem, że napięcie jest zapisywane co pewien czas, ale tu pojawia się pytanie – jaki jest zakres liczb? czyli jaka jest różnica między minimum a maksimum. To właśnie określa ilość bitów. Mając informację, o 16bitowym dźwięku można obliczyć, że mamy 65536 możliwych stanów i tu po wyjaśnienia odnośnie systemów liczbowych odsyłam do Dawida, bo chyba on to najlepiej wyjaśni. Ja mogę jedynie dodać, że każdy dodatkowy bit zwiększa ilość wartości dwókrotnie, czyli dodawszy informację z poprzedniego wpisu zwiększa dynamikę sygnału o 6db. Dynamika sygnału to różnica miiędzy minimalnym a maksymalnym poziomem zapisanego dźwięku. Co prawda zostaje jeszcze coś, co się nazywa dithering, czyli dodanie szumu do dźwięku, bo jeśli ilość bitów jest mała np. 8 to dynamika wynosi 6*8 czyli, o ile jeszce mnożyć umiem, 48db. Mówi się, że od progu słyszalności do tzw progu bólu jest 120db różnicy. Trochę jakby więcej i pojawia się problem pod tytułem, co w związku z tym? ano w takim przypadku dźwięk jest w specyficzny sposób zniekształcony i aby te zniekształcenia były łatwiejsze dla człowieka do zniesienia dodaje się właśnie szum, ale to taka ciekawostka, bo to większość programów też robi sama, chocaż co bardziej zaawansowane dają możliwość wyboru typu tego ditheringu, ale to dla tych, co to myślą, że tyyle wiedzą, co nota bene nie zawsze mija się z prawdą.
Pozostaje ostatnia rzecz czyli tzw. szybkość transmisji. To jest nieco inne spojrzenie na dźwięk, a mianowicie nie interesuje nas częstotliwość próbkowania, ilość bitów tylko to, ile miejsca na dysku ma zająć sekunda nagrania, a parametry ma dobrać program. Takie potraktowanie sprawy jest popularne głównie w przypadku tzw stratnej kompresji dźwięku, bo w tym przypadku ilość parametrów jest niejednokrotnie przyprawiająca o ból głowy, wyjaśnienia są znacznie bardziej skomplikowane niż banalne twierdzenie Shannona, a liczby zespolone to wstęp do wprowadzenia w zarysie. Dlatego użytkownik ma określić jak duży ma być wyjściowy plik i tyle jego. Inna rzecz, że wiele kodeków oferuje dla tych, co to lubią robić po swojemu różne dziwne przełączniki, ale to już rzecz na zupełnie inny wpis, a nawet szereg wpisów.

Podwaliny pod współczesny zapis audio stworzyło tzw twierdzenie Shannona, a zasadzie jedno z jego twierdzeń uzupełnione przez paru innych mózgowców. Wgłębiając się w wikipedię dowiemy się różnych dziwnych rzeczy o sygnałach dyskretnych, dziwnych wzorach itp, ale przekładając z Polskiego na nasze chodzi o to, że jest możliwe zapisać audio przy pomocy zer i jedynek w sensowny sposób. Teraz czas na wyjaśnienie jak to się dzieje. Otóż jak pewnie części z was wiadomo mikrofon to w gruncie rzeczy takie szprytne urządzenie, które zamienia dźwięk na prąd. Tenże prąd wędruje sobie kabelkiem do karty dźwiękowej i… no właśnie, teraz ten prąd trzeba zamienić na cyferki. Może ktoś jeszcze pamięta, że dźwięk to fala. Co tu faluje? poniekąt powietrze, chociaż może to być niemal dowolny inny ośrodek, jednak żeby nie komplikować skupmy się na powietrzu. Waląc np. w bęben lub drąc tzw ryja wprawiamy niektóre cząsteczki powietrza w ruch drgający, który ma na tyle dużą energię, że jest w stanie wprawić również w drganie mębranę mikrofonu. Jak już wcześniej wspomniałem dalej zamienia się to w prąd i w takiej formie dociera do karty dźwiękowej. W efekcie mamy prąd o bardzo szybko zmieniającym się napięciu. Jak zapisać tego typu sygnał wymyślił właśnie Claude Shannon. Jego metoda jest w gruncie rzeczy bardzo prosta należy co chwila badać wartość, w tym przypadku napięcia prądu i zapisać je w formie liczby. W ten sposób otrzymamy w cholerę wartości napięcia, które, gdy je zamienić z powrotem na prąd otrzymamy w miarę podobny do oryginału sygnał. Taki zapis cyfrowy zmieniającego się sygnału nazywamy jego zpróbkowaniem, a dźwięk zapisany tą metodą określamy PCM czyli pulse code modulation, a po polskiegu modulacja kodowo impulsowa. Prawda, że proste? :d.
No fajnie, ale gdzie tu te Hertze, bity itd?
Taqki sygnał można po pierwsze zapisać w różnych odstępach czasu i jak się można domyślić im częściej zapiszemy stan napięcia, tym dokładniejszy ten zapis będzie. Kłaniają się więc Hertze czyli częstotliwość zapisywania zmian napięcia. Teraz czekam na pytanie typu "ale granicą słyszalności człowieka jest podobno 20000hz więc na cholerę te 48000?" tiaaa. obawiam się, że trzeba będzie wprowadzić kolejny termin, a mianowicie częstotliwość Nyquista. Znowu w Wikipedii mamy masę wzorów, zakręconych definicji itd, bo przecież trzeba udowodnić, że to faktycznie działa, ale ja tego ni cholery nie rozumiem. Jednak da się to jakoś tam wyjaśnić bez uciekania się do matematyki, którą chyba tylko Dawid zrozumie. Aa, nie napisałem o co chodzi? no to: maksymalna, poprawnie zapisana częstotliwość jest dwkrotnie mniejsza niż częstotliwość próbkowania czyli tę, z jaką zapisujemy sygnał. Najprościej wyjaśnić to w ten sposób, że aby zapisać jakąś falę trzeba zaznaczyć przy najmniej jej minimum i maksimum, tak więc na zapisanie pełnego okresu fali w tym przypadku trzeba wykorzystać dwa zapisy. To oczywiście znacznie uproszczone wyjaśnienie, bo zostaje jeszcze tzw aliasing czyli problem z częstotliwościami wyższymi niż maksymalne, które bez odpowiednich filtrów wprowadzają potworne śmieci i zgrzyty do oryginalnego dźwięku, ale to już komputery robią bez naszego udziału i tym zdecydowana większość z nas zajmować się nie będzie, a tym, którzy jednak mięliby takie pomysły odsyłam do taakich mądrych siążek, z taaakimi wzorami. Podsumowując mając częstotliwość próbkowania 48kHz czyli 48000Hz możemy maksymalnie zapisać dźwięk o częstotliwości 24000Hz czyli cały zakres słyszalności człowieka plus jeszcze trochę na wszelki wypadek no i ewentualne problemy z filtrami usuwającymi śmieci i zgrzyty.
Zostają jeszcze bity. Wspomniałem, że napięcie jest zapisywane co pewien czas, ale tu pojawia się pytanie – jaki jest zakres liczb? czyli jaka jest różnica między minimum a maksimum. To właśnie określa ilość bitów. Mając informację, o 16bitowym dźwięku można obliczyć, że mamy 65536 możliwych stanów i tu po wyjaśnienia odnośnie systemów liczbowych odsyłam do Dawida, bo chyba on to najlepiej wyjaśni. Ja mogę jedynie dodać, że każdy dodatkowy bit zwiększa ilość wartości dwókrotnie, czyli dodawszy informację z poprzedniego wpisu zwiększa dynamikę sygnału o 6db. Dynamika sygnału to różnica miiędzy minimalnym a maksymalnym poziomem zapisanego dźwięku. Co prawda zostaje jeszcze coś, co się nazywa dithering, czyli dodanie szumu do dźwięku, bo jeśli ilość bitów jest mała np. 8 to dynamika wynosi 6*8 czyli, o ile jeszce mnożyć umiem, 48db. Mówi się, że od progu słyszalności do tzw progu bólu jest 120db różnicy. Trochę jakby więcej i pojawia się problem pod tytułem, co w związku z tym? ano w takim przypadku dźwięk jest w specyficzny sposób zniekształcony i aby te zniekształcenia były łatwiejsze dla człowieka do zniesienia dodaje się właśnie szum, ale to taka ciekawostka, bo to większość programów też robi sama, chocaż co bardziej zaawansowane dają możliwość wyboru typu tego ditheringu, ale to dla tych, co to myślą, że tyyle wiedzą, co nota bene nie zawsze mija się z prawdą.
Pozostaje ostatnia rzecz czyli tzw. szybkość transmisji. To jest nieco inne spojrzenie na dźwięk, a mianowicie nie interesuje nas częstotliwość próbkowania, ilość bitów tylko to, ile miejsca na dysku ma zająć sekunda nagrania, a parametry ma dobrać program. Takie potraktowanie sprawy jest popularne głównie w przypadku tzw stratnej kompresji dźwięku, bo w tym przypadku ilość parametrów jest niejednokrotnie przyprawiająca o ból głowy, wyjaśnienia są znacznie bardziej skomplikowane niż banalne twierdzenie Shannona, a liczby zespolone to wstęp do wprowadzenia w zarysie. Dlatego użytkownik ma określić jak duży ma być wyjściowy plik i tyle jego. Inna rzecz, że wiele kodeków oferuje dla tych, co to lubią robić po swojemu różne dziwne przełączniki, ale to już rzecz na zupełnie inny wpis, a nawet szereg wpisów.
Na koniec odrobina prostej, nawet dla mnie, matematyki. Takie małe ćwiczonko: obliczmy sobie szybkość transmisji dźwięku stereo 16bit, 48kHz. Od początku: mamy 16bitó, czyli na marginesie dwa bajty, na próbkę. Mnożymy to przez ilość tychże próbek na sekundę, czyli 48000, otrzymujemy 768000 i wszystko razy dwa kanały i wychodzi 1536000 czyli półtora megabita. Teraz oczywiście można rzecz ciągnąć dalej i policzyć ile wyjdzie na minutę – 92160000, a godzina to 5529600000 oczywiście bitów, czyli 691200000 bajtów czyli 691,2 megabajtów. uff! I tym może optymistycznym akcentem….

8 odpowiedzi na “16bit, 48kHz, 128kbps – o co w tym wszystkim chodzi?”

Czyli 48 KHz zajmuje więcej podczas nagrywania niż 44,1? I dużo to daje jeśli chodzi o słyszalność nagrywanych dźwięków np. otoczenia?

Zajmuje istotnie, odrobinę więcej, ale czy dużo daje? 44.1kHz pozwala na zarejestrowanie 22050Hz, 48kHz to maksymalna rejestrowana częstotliwość 24000Hz. W praktyce różnica pomijalna. Te różnice to tak na prawdę pokłosie europejskiego i amerykańskiego systemu rejestracji dźwięku w filmie, bo tu metry, tam stopy i się to nie pokryło do końca. Nie pamiętam teraz szczegułów, ale w praktyce nie ma to znaczenia chyba, że jakaś karta dźwiękowa ma problem z konkretnym próbkowaniem, z czym można się spotkać, ale tu nigdy nie wiadomo, na co się trafi.

Bardzo fajny artykuł, podoba mi się sposób, w jaki Pan opisuje różne zagadnienia.
A ja dalej nie wiem, dlaczego moja karta dźwiękowa z uporem maniaka domyślnie chce odtwarzać wszystko w 192kHz.

A w dźwięku w panelu sterowania jak masz częstotliwość ustawioną? bo windows inicjalizuje kartę w konfigurowanej częstotliwości.

To tak jakby jakiś sterownik się uaktualniał i przestawiał do wartości domyślnych. Cóż, kolejny dowód na to, że to wszystko żyje własnym życiem :d

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

EltenLink