Redukcja Bit Depth, Dithering, Jitter, Truncation i Zegar

Kontynuujemy podróż po meandrach teorii cyfrowego dźwięku. Dziś przyjrzymy się bliżej procesowi skracania słowa cyfrowego, czyli redukcji bit depth, dowiemy się, co to jest dithering i jakie daje nam korzyści, zapoznamy się z tajemniczym słowami „truncation” i „jitter” oraz krótko porozmawiamy o zegarze (clock) – wewnętrznym i zewnętrznym.

Po drodze postaram się także obalić kilka legend towarzyszących niektórym zjawiskom w świecie audio.

Zanim jednak to nastąpi – trzeba wyłonić zwycięzców naszego małego konkursu gwiazdkowego 🙂 Ciężko było mi się zdecydować, kogo z Was nagrodzić za najlepiej sformułowany komentarz odnośnie jednej, wymarzonej rzeczy z listy życzeń i po długich namysłach zdecydowałem się przyznać nie jedną, a dwie nagrody w postaci wirtualnego instrumentu Scarbee Funk Guitarist od firmy Native Instruments. Niniejszym ogłaszam, że zwycięzcami konkursu są:

    • Tomek (za bardzo rozsądne podejście, które wyraził w ostatnim zdaniu swojej wypowiedzi)
    • Akysz (za najbardziej niespodziewany i przepięknie absurdalny wybór elementu wyposażenia studia, o którym napisał tutaj…)

Obu Panom serdecznie gratuluję! Mam nadzieję, że Wasze oraz wszystkich innych czytelników życzenia się spełniły, dziadek z brodą w tym roku nie zawiódł i nabraliście energii i zapału do jeszcze cięższej pracy w nowym roku!

A teraz wróćmy do tematu…

Skracanie słowa cyfrowego

W poprzednim wpisie omówiliśmy m.in. redukcję częstotliwości próbkowania, przy okazji której wskazałem kilka niebezpieczeństw, jakie na nas w tym nieco skomplikowanym procesie czyhają. Konwersja bit depth jest jednak procesem znacznie prostszym, ale też wymaga pewnej wiedzy, aby zastosować ją prawidłowo. O tym ważnym aspekcie za chwilę, najpierw przyjrzyjmy się temu, co dzieje się podczas zamiany jednej wartości głębi bitowej na drugą:

Podczas zwiększania bit depth, do każdej dolnej wartości danej próbki dodawane są nowe bity informacji, którym następnie przypisana zostaje wartość zero. Dla konwersji z 16 bit do 24 bit wygląda to następująco:

    • Oryginalny plik (16 bit) – 0010 0100 1110 0110
    • Po konwersji (do 24 bit) – 0010 0100 1110 0110 0000 0000

Podczas redukcji bit depth, najniższe (najmniej istotne) bity są po prostu usuwane. Dla konwersji z 24 bit do 16 bit wygląda to następująco:

    • Oryginalny plik (24 bit) – 0010 0100 1110 0110 0011 1010
    • Po konwersji (do 16 bit) – 0010 0100 1110 0110

A co wymiernego dla nas dzieje się podczas konwersji?

Otóż, w przypadku konwersji głębi bitowej do wyższej, nie uzyskujemy żadnych słyszalnych korzyści, bo pliki zostały oryginalnie nagrane w niższej wartości i nie możliwe jest przypisanie im nowych wartości wymiernych post-factum – stąd dodane bity są zerami. Jedyne skutki takiego procesu, to powiększony rozmiar plików i możliwość pracy na wtyczkach operujących w wyższej rozdzielczości. Jest to oczywiście plusem, ale co pragnę podkreślić, to fakt, że zwiększenie bit depth dla plików nagranych w niższej rozdzielczości NIE spowoduje poprawy ich brzmienia – w co niektórzy błędnie wierzą.

Można ten proces interpretować, jako „przedłużenie nazwy”, ale takie, które nic nie zmienia w oryginalnej zawartości nagranego śladu. Wtyczki po prostu pracują precyzyjniej mając do czynienia z plikiem o „pełnej nazwie”, ale skoro dodane 8 bitów „od dołu” nie zawiera żadnych istotnych danych – nic znaczącego się w tamtym rejonie nie dzieje, bo nie da się przecież tworzyć czegoś z niczego.

Sytuacja jest jednak bardziej skomplikowana podczas konwersji w drugą stronę. Kiedy redukujemy głębię bitową z 24 to 16 bit, najniższe 8 bitów zostaje brutalnie odciętych i ten proces nazywa się truncation. Po tym odcięciu, zaokrąglenie do najbliższej wartości (czy to w górę czy w dół) się niestety nie odbywa. Zamiast tego, audio jest surowo docięte do najbliższej NIŻSZEJ wartości, co oczywiście dodaje niewielkiej ilości zniekształceń, nazywanych truncation distortion.

I tutaj do chodzimy do miejsca, w którym musimy wiedzieć, jaki zastosować proces, aby ukryć błędy występujące podczas tego brutalnego odcięcia.

Dithering

Dithering to proces dodawania do sygnału audio bardzo delikatnego, losowego szumu, którego poziom plasuje się w okolicach najniższego bitu informacji. W przypadku redukcji 24 do 16 bit będzie to około 90dB poniżej poziomu maksymalnego – czyli naprawdę bardzo cicho…

Korzyści ze stosowania ditheringu

Z uwagi na to, że szum jest zmienny, dodawanie go do sygnału w czasie redukcji głębi bitowej sprawia, że do najniższego bitu przypisywane są przypadkowe wartości, co będzie o wiele mniej zauważalne/słyszalne niż harmoniczne, które zostałyby dodane podczas samego tylko odcięcia (truncation). Mówiąc, że będzie słyszalne, mam na myśli przypadek, gdy bardzo cicha porcja sygnału będzie odtwarzana bardzo głośno, bo tak jak wspomniałem, te 90dB poniżej cyfrowego zera to poziom, który nie zostanie wychwycony przez nikogo podczas odsłuchu pełnego kawałka. Mimo to, dla pewności, za każdym razem, gdy redukujemy bit depth, warto dodać wtyczkę ditherującą, w którą wyposażony powinien być każdy program DAW. Nie będziemy wtedy ryzykować pojawieniem się nieprzyjemnych, trzaskających harmonicznych, bo dodany szum, mimo że w zasadzie niesłyszalny, skutecznie to zamaskuje.

Jaki algorytm ditheringu lub kształtowania szumu (noise shaping) stosować?

Niektóre wtyczki ditherujące dają nam możliwość wyboru konkretnego algorytmu, który teoretycznie jest zoptymalizowany do różnych typów sygnału. Czasem mamy też możliwość skorzystać z funkcji kształtowania tego szumu. Moja prywatna opinia na ten temat jest taka, że są to rzeczy tak bardzo istotne, jak to czy podrapiemy się po plecach lewą czy prawą ręką. Nikt normalny nie jest w stanie usłyszeć różnic między tymi algorytmami podczas odtwarzania całego kawałka. Dithering sam w sobie jest niesłyszalny w sytuacji odgrywania muzyki, a co dopiero rożne jego algorytmy, które z założenia brzmią bardzo podobnie… Trzeba by je porównać aplikując sam tylko szum w jego różnych formach na pusty ślad i wzmocnić go serią brutalnych limiterów, żeby w ogóle zaobserwować jakieś skoki sygnału. Oznacza to, że poziom szumu w ditheringu leży bardzo, bardzo daleko pod poziomem muzyki i gdy ta jest odtwarzana, szum jest nie do wyłowienia. I takie jest założenie tego procesu – maskowanie błędów, które występują przy redukcji głębi bitowej bez słyszalnych artefaktów.

Mając na uwadze powyższy wywód i to, co napisałem w poprzednim artykule, powinniście już posiadać wszelkie znaczące informacje na temat zamiany głębi bitowej i częstotliwości próbkowania. Ale to nie wszystko, co dzieje się podczas konwersji sygnału analogowego na cyfrowy i cyfrowego na analogowy…

Spójrzmy teraz na kolejny element, który może nam stać na drodze podczas konwersji.

Jitter

Jitter to efekt uboczny konwersji cyfrowej. Jest to błąd czasowy występujący między poszczególnymi próbkami. W idealnym świecie, konwerter C/A powinien podczas odtwarzania wypuszczać jedną próbkę co 1/44100 sekundy (w sesji 44.1kHz) – analogicznie do pierwszego wykresu w poprzednim artykule. Ale w rzeczywistości, odległości między poszczególnymi próbkami mogą się bardzo delikatnie różnić (o trylionowe części sekundy – pikosekundy), co podczas odtwarzania może spowodować powstawanie minimalnych ilości szumu. Podobnie jak w przypadku zniekształceń w procesie odcinania najniższych bitów, jitter jest niewyobrażalnie cichy i zamaskowany przez muzykę, co oznacza, że raczej nie ma szans na to, aby był w ogóle usłyszany. Mimo to, producenci sprzętu często wykorzystują sformułowanie „low-jitter” (niski jitter), jako jedno z haseł nakłaniających nas do kupna ich konwerterów… Osobiście wahałbym się kupić wysokiej klasy konwertery tylko po to, żeby zapewniały mnie one o niższym poziomie jitter niż u konkurencji – mimo, że w obu przypadkach błąd ten byłby niesłyszalny. Wygląda mi to na trochę za wysoką cenę za sam komfort psychiczny i niesłyszalne różnice w tej konkretnej kwestii.

Tutaj chciałem wtrącić małą, aczkolwiek bardzo ważną dygresję…

Zauważyliście pewnie, że często w przypadku samplowania audio w domenie cyfrowej mówi się o „minimalnym”, „ledwie słyszalnym”, „bardzo cichym” szumie czy innych zniekształceniach. Otóż wszystkie formy zakłóceń wynikające z konwersji A/C czy C/A są naprawdę ledwo słyszalne, zamaskowane przez sygnał właściwy, a czasem w ogóle poniżej możliwości naszego słuchu. Współcześnie mamy do dyspozycji tak wspaniały sprzęt, że tymi wszystkimi potencjalnymi „brudami” nie warto sobie nawet głowy zawracać. Wystarczy stosować się do kilku podstawowych reguł i nie myśleć o tych wszystkich zależnościach zbyt obsesyjnie, bo wierzcie mi, że to naprawdę nie one decydują o jakości Waszych nagrań.

To jest raptem jedna kropla w oceanie tego, co ma rzeczywisty wpływ na brzmienie naszych produkcji. Opisuję je tutaj, bo warto wiedzieć, jak cały proces się odbywa, ale nie dajcie się nigdy wpędzić w myślenie, że tak małostkowe rzeczy są odpowiedzialne za niezadowalające brzmienie produkcji. Najczęściej winowajcami naszych słabo brzmiących utworów jesteśmy my sami, muzycy, nienastrojone instrumenty, słabe pomysły, aranżacje, kiepskie wykonanie, fatalne pomieszczenia i tym podobne…

Ale wróćmy do cyfrowego audio…

Zegar (Clock)

Elementem, który decyduje o tym, że każdy konwerter A/C/A sampluje audio 44100 razy na sekundę i „wypluwa” je z dokładnością co do 1/44100 sekundy (gdy sesja ma 44.1kHz) jest Zegar, czyli obwód oscylatora, który pracuje w określonej częstotliwości. Istnieją różne zegary, które są zbudowane z różnych komponentów. Nam wystarczy wiedzieć, że te najtańsze nie są niestety zbyt pewne i stabilne, bo zdarza im się mieć odchył od optymalnych warunków pracy nawet o 1-2%, co jest akurat w tej kwestii liczbą bardzo dużą. Mało tego, są one podatne na zmiany temperatur, co dodatkowo je dyskwalifikuje. Nawet te zbudowane z droższych komponentów miewają odchyły rzędu 0,1-0,2%, co też jest wartością jeszcze zbyt wysoką, jak na konwerter audio.

Najbardziej precyzyjne i stabilne oscylatory zawierają kwarc lub kryształ ceramiczny i dobra wiadomość jest taka, że tych właśnie elementów używa się w konwerterach kart muzycznych i interfejsów audio, nawet tych budżetowych. Takie zegary są także o wiele mniej podatne na zmiany temperatur.

Po co nam ta wiedza?

Zegary są montowane w każdym konwerterze i w zasadzie nie musimy nawet wiedzieć o ich istnieniu do momentu, kiedy nie zdecydujemy się używać kilku różnych urządzeń cyfrowych spiętych ze sobą. W przypadku prostej pracy z mikrofonem i interfejsem – nawet, jeśli jakaś próbka dotrze o kilka pikosekund później lub wcześniej niż inna, nic złego się nie dzieje. Ale gdy chcemy połączyć ze sobą cyfrowe audio z kilku różnych źródeł, zegary wszystkich tych urządzeń muszą być ze sobą zsynchronizowane. Dzięki temu, dla każdego urządzenia sekunda będzie trwała dokładnie tyle samo (z dokładnością do pikosekund). W praktyce jest tak, że gdybyśmy przykładowo do cyfrowego miksera podpięli kilka urządzeń, to ten mógłby się dostosować tylko do jednego z zegarów, więc im tych urządzeń byłoby więcej, a różnice w ich zegarach większe, tym więcej klików i popów oraz innych zniekształceń byśmy usłyszeli.

Rozwiązaniem w tej sytuacji jest zastosowanie Zewnętrznego Zegara, którego rolą jest tylko jedna rzecz – generowanie stabilnej częstotliwości pracy zegara przesyłanej do wielu urządzeń cyfrowych jednocześnie. Ma to na celu pełną synchronizację wszystkich urządzeń cyfrowych ze sobą i optymalizację ich pracy.

I tu chciałem wspomnieć o kolejnym micie krążącym wokół zewnętrznych zegarów…

Podczas, gdy jeden Master Clock jest koniecznością, jeśli chcemy zsynchronizować i pracować z kilkoma różnymi urządzeniami cyfrowymi jednocześnie, to zastosowanie takiego zewnętrznego zegara do pracy tylko z jednym konwerterem (np. w naszym interfejsie), który miałby zmniejszać jitter – jest zupełną pomyłką. Prawda jest taka, że kiedy interfejs jest podłączony do zewnętrznego zegara, występujący jitter może być wręcz powiększony! W przypadku najlepszych i najdroższych konwerterów, których zewnętrznych zegarów chcielibyśmy używać w naszym prostym zestawie, Jitter będzie w najlepszym przypadku taki sam, jak w zegarze interfejsu, ale nie lepszy. Ma to ścisły związek z tym, jak obwody zegara reagują na zewnętrzne sygnały. Jeśli temu nie wierzycie, rzućcie okiem na TEN ARTYKUŁ opublikowany w magazynie Sound On Sound, w czerwcu 2010r. Zmierzono wtedy jitter czterech różnych konwerterów – od budżetowych po te wysokiej klasy. Jitter na wyjściu był zmierzony najpierw przy pracy z wbudowanym w interfejs zegarem, a potem z interfejsem podłączonym do zewnętrznego zegara. W teście użyto oczywiście kilku różnych zegarów zewnętrznych. Rezultaty były takie, że KAŻDY z konwerterów w interfejsie raportował wyższy jitter, gdy był podpięty do zewnętrznego zegara.

Wniosek wypływa taki, że korzystanie z zewnętrznego zegara w przypadku pracy z tylko jednym konwerterem (w interfejsie), nie jest wskazane, bo jitter wcale się nie zmniejsza, a czasem nawet zwiększa. Kwestie samego „brzmienia” poszczególnych konwerterów to już oczywiście inna sprawa. Jeśli ktoś chciałby kiedyś poznać te różnice (choć znów – będą one niewielkie), to polecam wykonać samemu testy albo poszukać takowych w sieci, ale nie dajmy się nabierać na tanie historyjki o konieczności używania w prostym setupie studyjnym zewnętrznych zegarów z niską wartością jitter wymyślane przez niektórych producentów sprzętu, bo są one zwykłym kłamstwem, czy tam „techniką marketingową” – jak kto woli 🙂

Podsumowanie

Mam nadzieję, że te kilka terminów nie będzie już budzić u nikogo z Was wątpliwości i będziecie się swobodniej w tych rejonach poruszać, bo nie ma nic gorszego, jak nie rozumieć, co się dzieje podczas danego procesu. Może nie jest to bardzo ekscytujący temat, ale moim zdaniem, jego podstawy znać trzeba i należy się nauczyć odróżniać fakty od mitów. W kolejnej odsłonie porozmawiamy o latencji i sposobach jej niwelowania, w następnej dowiemy się co nieco o systemach zmienno-przecinkowych, a cykl podsumujemy tekstem o różnicach w jakości audio analogowego i cyfrowego. Jeśli macie jakieś uwagi, sugestie, pytania czy może obelgi lub wyzwiska – dajcie im upust poniżej.

Zostawić komentarz ?

35 Komentarze.

  1. Coś tak gdzieś tam kiedyś czytałem o ditheringu, ale mało łopatologicznie ten proces był opisany więc wiedza ta nie zakorzeniła mi się w bańce…jednym uchem wlata drugim wylata 😉
    No ale od dziś już wiem i będę pamiętaj, o ile nie zapomnę 😀

  2. W sumie przy pracy z PC (USB/Firewire) zegary są synchronizowane poprzez zegar sprzętowy systemu komputerowego. Nie wiem czy w takiej sytuacji naprawdę powinno się korzystać z zewnętrznego zegara.
    Zresztą, w końcu nasze PC dysponują jednymi z najszybszych zegarów świata, procesorami :D.

    • Jeśli używasz interfejsu audio, to jego zegar tutaj przejmuje nadrzędną rolę.

  3. Oo świetny artykuł! Ta tematyka szczególnie mnie interesuje. No i dzięki za wyróżnienie mnie w konkursie!

    Pzds~!

    • Ja dziękuję za udział w konkursie i cieszę się, że temat zainteresował.

  4. Łukasz Dryl

    Skoro został poruszony temat synchronizacji, jako uzupełnienie artykułu polecam zajrzeć tu:
    http://www.planetoftunes.com/digiaudio/digital_audio_sync.htm
    Obecnie w nowych urządzeniach sprawę mamy w miarę prostą – w najgorszym wypadku potrzebny jest kawałek koncentryka 75 Ohm ale kiedyś było bardziej ciekawie:
    http://www.planetoftunes.com/dv/timecode.html
    Pozdrawiam autora i dziękuję za systematyczne systematyzowanie wiedzy o produkcji muzyki 🙂

    • Ciekawy materiał 🙂 Również pozdrawiam.

    • Łukasz Dryl

      Dziękuję, przyznam, że chciałem kiedyś zaprząc z ciekawości starego 4-śladowego szpulaka do nasycenia śladów perkusji zapisując na jednym ze śladów kody SMPTE wygenerowane z mojego Reapera lecz w międzyczasie sprzęt się zepsuł i wyników eksperymentu nie ma 😐

  5. Nasuwa się pytanie, co byłoby gdybym dithering wykonywał wielokrotnie. Oczywiście nie ma takiej potrzeby, choc moim zdaniem warto pamiętać, aby wykonać obcięcie tylko na samym końcu “produkcji”.

    Pozdrawiam i czekam na kolejne informacje

    • Łukasz Dryl

      Teoretycznie może zmienić się układ sygnału wprowadzonego losowo nie wnosząc nic w praktyce. Naocznie cały proces porównać można do zmniejszania liczby kolorów grafiki: http://pl.wikipedia.org/wiki/Dithering_(grafika_komputerowa)
      Podczas końcowego “obcinania” należy pamiętać też o resamplingu, który jak dithering też ma swoje uroki:
      http://src.infinitewave.ca/
      Nie słyszałem jednak by komukolwiek normalnemu udało się rozróżnić poszczególne algorytmy na ucho 🙂

    • @darek – gdybyś się uparł i naprawdę wielokrotnie stosował dithering, to może w końcu ilość tego szumu dałaby się we znaki, ale przy normalnym trybie pracy, nie ma się o co obawiać 🙂
      @Łukasz – resampling (np. downsampling) również leży poza granicą rozróżnienia normalnego słuchacza, ale są tacy, którzy twierdzą, że słyszą te różnice 🙂 Ja niestety do tej grupy szczęśliwców ze “złotym uchem” zaliczyć się nie mogę… 😀

  6. “Moja prywatna opinia na ten temat jest taka, że są to rzeczy tak bardzo istotne, jak to czy podrapiemy się po plecach lewą czy prawą ręką.”

    Nie zgadzam się. Dithering wprowadza dość silną zmianę odczucia co do dźwięku (smak dźwięku jeśli tak to można nazwać; jego twardość, subtelność, gładkość, puszystość) i niestety potrafi to byc bardzo dokuczliwe albo bardzo pomocne. Jeśli masz czasem wrażenie, że “coś jest nie tak”, mimo że dynamika i EQ gra – to najprawdopodobniej jest to właśnie dokuczliwość źle dobranego ditheringu.

    • Jak na moje oko, to dosc pochopne stwierdzenie. Musialbys miec do czynienia z jakims wybitnie cichym materialem, bo w kontekscie calego i glosnego kawalka roznic w algorytmach ditheringu nigdy nie uslyszysz. Co to jest “puszystosc” dzwieku? 🙂

  7. Kwestie ditheringu i wpływu na brzmienie są ładnie, z przykładami opisane w książce Roey Izhaki – Mixing Audio: Concepts, Practices and Tools. Polecam posłuchać te przykłady. Pokazują one jak brzmi sygnał (na przykład ogon pogłosu w końcowej fazie) w różnych rozdzielczościach bitowych oraz z ditherem i bez. Naprawdę robi to wrażenie. Pytanie tylko czy faktycznie jest to w stanie ktoś wychwycić przy normalnym słuchaniu? Nikt o zdrowych zmysłach nie podbija sygnału o 130 dB żeby posłuchać sobie jaki typ ditheru został użyty. Jednak z drugiej strony niektórzy twierdzą że dither powinien być używany nie tyle przy zgraniu masteru co przy każdym kolejnym zapisie do danej rozdzielczości która nie jest 32 bitowym floatem! Wynika z tego na dobrą sprawę, że powinniśmy aplikować dither po każdej wtyczce którą zapinamy 🙂

    Ja jestem wobec tego sceptyczny, ale sami możecie poczytać i wyrobić sobie własne zdanie 🙂

    http://productionadvice.co.uk/dither-or-distort/
    http://productionadvice.co.uk/when-to-dither/

    • Z teoretycznego punktu widzenia, dithering po kazdej uzytej wtyczce moze byc wskazany, ale to byloby malo praktyczne. Ian ma oczywiscie tutaj racje, tylko pytanie brzmi, czy naprawde ktos odczuje roznice? Czy jest to warte zachodu? Nie znam szczerze mowiac realizatorow, u ktorych bylaby to normalna praktyka, a przeciez mamy mase swietnie brzmiacych kawalkow bez takich zabiegow. Mysle, ze wyrabiajac sobie wlasne zdanie, trzeba wziac pod uwage bilans rzeczywistych zyskow kontra dodatkowy czas i takie zabiegi podczas miksu.
      Nikt nie watpi w to, ze na cichych sygnalach, jak chociazby przytoczony przez Ciebie przyklad ogonu poglosu, bedzie slychach roznice w roznych rozdzielczosciach z ditheringiem i bez. O tym przeciez napisalem w artykulach 🙂 Kwestionuje jedynie sens rozwodzenia sie nad roznymi typami ksztaltowania szumu. Powiem tak, drazni mnie co nieco takie obsesyjne debatowanie o ksztalcie szumu, bo inne, stukrotnie wazniejsze rzeczy, z reguly leza i decyduja o nieudanym brzmieniu jakiejs produkcji, a nie takie mikro- czy piko-detale. Nawiazujac jeszcze do tego, co napisal wyzej J.K.Chris – jesli rodzaj dobranego ditheringu tak silnie wplywa na ”smak dzwieku”, to ja sie poddaje… Meczy mnie rowniez uzywanie takich abstrakcyjnych pojec, ktorych i tak nikt do konca nie rozumie albo interpretuje je inaczej niz ktos inny lub nie potrafi jasno zdefiniowac i w rezultacie rozmowa o muzyce zaczyna przypominac ”tanczenie o literaturze” 😉

    • Łukasz Dryl

      Współczesne wtyczki barwią dźwięk wprowadzając różnej maści zniekształcenia nieliniowe, fazowe, coraz częściej szumy własne i inne “skazy” odbierane przez nasze ucho jako zjawiska przyjemne. Dithering w tym przypadku należy postrzegać trochę jako filtr dolnoprzepustowy ale działający pod mikroskopem 🙂 Sądzę, że łagodzenie zbocza zmieniającego się wielokrotnie sygnału poprzez ciągłe “zaszumianie” go w ten sam sposób przy jednoczesnym znacznym wzmacnianiu na kolejnych etapach miksu niekoniecznie przyniesie dobre dla ucha rezultaty.
      Na koniec należy dodać, że produkcje tworzone we wczesnych DAW w latach 80-90 nie były traktowane żadnymi tajemniczymi algorytmami a nie raz zdarzało się korzystanie z sampli 8-bitowych i co? I piosenki brzmiały świetnie dochodząc do czołowych miejsc na listach przebojów.
      Do wypowiedzi J.K.Chris’a: Obarczanie winą algorytmów renderujących na źle brzmiący miks jest nadużyciem 🙂

    • Chciałem zapodać dokładnie tymi linkami, co @Piotr. Dzięki tym artykułom wyrobiłem sobie takie podejście: Jeżeli zapisuję miks (może się to odnosić także do innych etapów pośrednich produkcji), to robię to w 32 bitach, aby nie wprowadzać przesterów, które pojawiają się już o dziwo kilka dB poniżej 0 (jak na taśmie :lol:). Jeżeli jednak nie stać Cię na 32 bity, a chcesz uniknąć owych przesterów – ditheruj i zapisuj z poziomem maksymalnym najwyżej -4 dB. Co do ditherowania na samym końcu masteringu – ditheruj zawsze.

      Jeśli chodzi o wybór profilu ditheringu, chyba nie zaszkodzi sobie samemu poklikać i sprawdzić, (czy) który(ś) profil dla danego utworu sprawuje się lepiej. Zapewne będzie tak, że zwykle nie zauważymy różnicy (szczególnie przy dzisiejszych poziomach średnich produkcji…), ale może zdarzy się ten jeden przypadek na sto, że coś zyskamy.

  8. Maciej Sobczak

    Dithering to ciekawa sprawa, ale zgodzę się z Igorem, że chyba nie należy przesadzać. Jeśli cały proces nagrywania i produkcji przeprowadzimy w 24bit (chyba zgadzamy się, że to rozsądne podejście) a przed ostatnim zgraniem do 16bit (powiedzmy, że celem jest płyta CD) *znormalizujemy* ścieżke, czyli rozepniemy ją do pełnej skali, to dithering jest rozwiązaniem problemu, który technicznie jest nawet mniejszy, niż jakość samego przetwornika, który posłuży do końcowego odsłuchu. Czy należy się przejmować tymi ułamkami ostatniego bitu (bo o ten ułamek bitu właśnie chodzi), gdy tak naprawdę nie mamy kontroli nawet nad tym, na czym końcowy odbiorca tego słucha? A jeśli nagrywamy tylko dla siebie (to też częsty przypadek, zwłaszcza w domowym studiu), to po cholerę zgrywać do 16bit? Trzymajmy końcowe zgrania w 24bit i słuchajmy naszych pięknych ogonów pogłosowych oraz wybrzmień strun w ich oryginalnej jakości. W ten sposób w obu przypadkach dithering wydaje się być “przereklamowany”, przynajmniej w temacie audio.

  9. Rzecz w tym, że dithering jest “cichy” tylko w teoretycznej teorii. W praktyce – tak jak mówią koledzy – z jednej strony chodzi o wykończenia dźwięku, z drugiej – o maskowanie “skaz” wprowadzanych przez różne pluginy. Nierzadko sam dithering jest “skażony” błędami (periodycznymi?) wynikającymi z algorytmu adaptacyjnego (przy złym doborze pojawia się np. wrażenie “chlupotliwości” granulacji w dźwieku, a po jakimś czasie dźwięk robi się po prostu nieswój).

    Dithering jest także sposobem uzupełniania pasma przy resamplingu (coś a’la płyta gramofonowa – pitch/tempo) i tutaj sytuacja jest podobna jak w grafice komputerowej; spróbuj przeskalować obraz używając różnych sposobów wygładzania krawędzi i powiedz mi że nie ma różnicy.

    Pobaw się z moimi Nabra-Sync’ami i zaaplikuj im różne odmiany ditheringowych wtyczek, to się przekonasz 😉

  10. No i refleksja na koniec, żeby nie było że przesadzam. Kontrolowany dithering jako sposób zmiany jakości brzmienia – przydaje się na samym końcu, nie musi być dawany przy każdej wtyczce. Dithering adaptatywny działa jak wypełniacz – maskuje wszystko w tle, jak klej dentystyczny 😉

  11. Łukasz Dryl

    Refleksja końcowa słuszna. Można by teraz zacząć rozważać różnice w algorytmach sumujących wykorzystywanych przez poszczególne DAW’y, wyższości 64-bitowej precyzji sumowania nad inną itd. Może ktoś w końcu określiłby, który program daje brzmienie bardziej tłuste, grube, puszyste czy może okrągłe 😆

  12. Odpal sobie dowolną wtyczkę od Waves co ma opcje wyboru ditheringu i zapodaj różne wariacje na róznych dźwiękach (od bardzoej muzykalnych do bardziej szumiących).

    Zaś co do 64-bitowej precyzji, to jeśli mówimy o tym samym – środowisko w którym sobie majstruję aplikacje ma obsługę 32-bitowych łańcuchów, przez co dokładność dopuszczalnych parametrów – maleje. Jak mam dwie wartości typu 1000.012 i 1000.019, to już mi ostatnie miejsce po przecinku utnie. W praktyce – może się to przełożyć na zniekształcenia fazowe. A jeśli nie mówimy o tym samym, to różnica będzie w prędkości pracy o ile dobrze pamiętam.

    • Trzeba rozroznic sumowanie lub prace plug-inow w 64-bitowych DAWach od 64-bitowych systemow operacyjnych, bo to dwie rozne i czesto mylone rzeczy. Ale o tym bedzie na pewno caly wpis w przyszlosci.

  13. Mam wielkie pytanie w sumie off-topowe.
    Szykuje mi się cięcie i wybieranie śladów z sesji, mój MAC (intelowski) padł. Jedyny komputer jaki posiadam to dość stary Power Book G4 (1,5 ghz PPC i 1,25 GB ramu) – Myślicie, że pociągnie 30-40 śladową sesje (oczywiście bez wtyczek)?
    Mam troche stracha bo używałem go do małych prac w terenie i pamiętam, że potrafił strzelać i ciąć się przy 10 śladach mono – dlaczego?!
    Pozdrawiam i z góry dziekuje za odpowiedź!

    • Pewnie dlatego, ze jest juz stary i ma slabe parametry. Wrzuc te slady i zobacz czy pociagnie, bo w sumie co masz do stracenia?

    • Powalcz trochę i na bank się uda. Zacznij od formata i wyczyszczenia kurzu w środku. A potem rób bouncing poszczególnych śladów, zamrażaj pluginy jak się pojawią itd.

      Sporo ograniczeń ale jak dasz rade to fajnie skupisz się na muzie i może zrobisz coś czego normalnie by się nie udało ;).

  14. rufinmusic

    Znalazłem Ciekawą stronę z kursami wideo: http://musoneo.com/pl/courses
    Szkoda, że nie gratis… 😈

  15. Wydaje mi się, że w tym pierwszym przykładzie konwersji(16bit > 24bit) bity zerowe powinny być na początku, bo po dodaniu na końcu całkowicie zmieni się wartość ciągu(czyli de facto informacji audio)a nie tylko jej dokładność, a to by zaprzeczało temu co jest napisane później, że konwersja w tą stronę nie daję żadnej zmiany/poprawy w zarejestrowanych 16 bitach. Według mnie matematycznie się nie zgadza. Jeśli się mylę i w rzeczywistości tak nie jest (i jest poprawnie napisane) to niech mnie ktoś wyprowadzi z błędu. 😎

    • Akurat część matematyczną zaczerpnąłem z książki Ethana Winera, bo dla mnie osobiście to są nudy 🙂 Mniemam, że takiego pokroju człowiek wie, co pisze w temacie 😉

    • A ja się zgadzamz Alanem i sam miałem o tym napisać. W zapisie bitowym z lewej strony sa bity najbardziej znaczące, po prawej najmniej znaczące. To znaczy, że bit 1 od prawej zawsze powinien być bitem najmniej znaczącym. Konwersja 16-24 powinna zatem zostawić go w spokoju. Tymczasem dopisanie 8 bitów z prawej strony oznacza, że bit LSB (least significant – najmniej znaczący), czyli mający dotąd wagę 2^0 nagle będzie miał wagę 2^8 !! Odpowiada to pomnożeniu całej próbki przez 2^8 = 256
      Jeśli ktoś dalej nie łapie, to uzyję analogii do systemu dziesiętnego.
      dowolna liczba zapisana 3 cyframi : 374
      ta sama zapisana 6 cyframi bez zmiany wartości:000374;
      Jeśli dopisać te zera z prawej dostajemy 374 000 (374 tys.)

      Co do autorytetu Winera.. cóż każdy autorytet jest człowiekiem i ma prawo się pomylić.
      Pozdrawiam

  16. Tak z ostatniej chwili coś, co trochę dorzuca do tego artykułu od strony praktycznej.

    Jedna z aplikacji, którą rozwijam od jakiegoś czasu, to taki zaawansowany generator techniczny, m.in. z dźwiękami typu sinus. I teraz. Dźwięk o częstotliwosci 800Hz jest słyszalny w zakresie powyżej 100dB (względem maksymalnego zera), nawet na kiepskich słuchawkach, o studyjnych nie wspominając. Problem zaczyna się tu…

    Przy 16 bitach odtwarzania, na poziomie rzędu 60 do 85dB (zależnie od karty muzycznej), brzmienie dźwięku sinusoidalnego staje się mocno zabrudzone/zniekształcone; efekt ten jest zwielokrotniony jeśli dodać do tego modulator głośności na wyjsciu. Na poziomie rzędu -91dB – dźwięk gaśnie w ogóle, a nieco wcześniej (przy modulacji głośności) – zamiast płynnego przejścia jest zerojedynkowy flip/flop. Początkowo sądziłem, że coś nie tak jest z aplikacją, a tymczasem okazało się, że w 24-bitowym trybie odtwarzania problem po prostu znika. I nie chodzi o niuanse asio/directsound, tylko o faktyczne odtwarzanie 24 bitów na wyjściu.

    16 bitów, to 96dB, ale dźwięki na poziomie -48dB (co z punktu widzenia charakterystyk spektralnych nie jest niczym szczególnym) już taki 16-bitowy nie jest.

    Warto o tym wiedzieć od strony praktycznej, zwłaszcza gdy ktoś tworzy elektroniczne brzmienia czy sample.

  17. cześć Igor. powiedz mi, czy dobrze rozumiem, że ten dithering powinno się uruchamiać na etapie masteringu, kiedy piosenka nagrana z 24 bitami w mixie jest ostatecznie nagrywana u mnie w masteringu z 16 bitami. jest to zawsze wskazane?

    • Jeśli ma skończyć na płycie CD, to dithering z 24 do 16 bit jest koniecznością. A najlepiej robić to właśnie na ostatnim etapie.

Zostaw komentarz