Digital To

Claude Shannon

(Claude Elwood Shannon, fader til informationsteorien; https://en.wikipedia.org/wiki/A_Mathematical_Theory_of_Communication)

https://en.wikipedia.org/wiki/Claude_Shannon

Første halvleg

I dag vil vi gerne give jer et indblik i, hvordan ingeniører arbejder samtidigt med, at vi lærer, hvad sampling er for noget.

Teori

https://upload.wikimedia.org/wikipedia/commons/2/21/4-bit-linear-PCM.svg

Sampling, som ligger til grund for digital lyd er en utrolig simpel teknik. Man går ganske enkelt ind og måler amplituden (volumen) på input signalet med faste mellemrum og registrer værdien. Totalt simpelt. Antallet af gang i sekundet som man måler amplituden kaldes for sample frekvensen.

På billedet er den røde kurve input signalet og de blå prikker er de registrerede værdier.

De målte værdier skal gemmes digitalt og derfor afrundes de til et helt tal. På billedet afrundes de til et 4-bit tal (fra minus 8 til plus 7) så prikkerne rammer ikke kurven specielt godt. Hvis man bruger flere bits til, at registrere værdierne så vil man ramme kurven bedre. Antallet af bits som man bruger til, at registrere hver prik kaldes for bitdybden eller opløsningen.

Sample frekvens og bitdybde er to helt centrale begreber i digital lyd.

https://en.wikipedia.org/wiki/Digital_audio

Samplefrekvens

Det menneskelige øre

Det menneskelige øre kan typisk, under normale forhold registrere lyd i frekvensområdet 20hz-20khz, men kan variere en del imellem mennesker. Evnen til, at høre høje frekvenser falder med alderen, men hørelsen kan også skades af høj og/eller vedvarende støj.

Under ideale laboratorieforhold kan nogen mennesker opfatte lyd i frekvensområdet 12hz-28khz, men dette har ikke den store praktiske betydning.

https://en.wikipedia.org/wiki/Hearing_range

Shannon's sample sætning

Shannon's sample sætning er lang og kompliceret, men det er super nemt, at anvende den i praksis.

Sætningen siger, at man for, at kunne gengive en tone perfekt så skal samplefrekvensen være dobbelt så høj som frekvensen på den tone, som man vil gengive.

Samplesætningen siger også, at der vil være alias'erings støj, som vil blive gengivet i højere frekvenser. Dette er en form for højfrekvent 'ekko', som skal skæres væk ved afspilningen. Dette gøres med et analogt 'lavpas' filter.

Teknisk set, skal et analogt input også igennem et tilsvarende 'lavpas' filter inden, at det bliver samplet. Aliasering virker nemlig også den anden vej så højfrekvent støj vil blive flyttet ned i det hørbare område, hvis ikke man skærer det væk inden samplingen.

https://en.wikipedia.org/wiki/Nyquist–Shannon_sampling_theorem

Med de to stykker information, er det ret let, at nå frem til en samplefrekvens på 40khz, men der skal også lige være plads til et blødt lavpas filter så derfor har musikbrancen valgt, at standardisere på 44.1khz. I filmbrancen kører man med 24 billeder pr. sekund og skal have lyden til, at passe sammen med billederne. Derfor har man valgt, at køre med 48khz i den branche.

44.1khz og 48khz er reelt de eneste fornuftige samplefrekvenser, at bruge i praksis.

Rant; der er nogle skøre mennesker, som kører med samplefrekvenser på op til 192khz og det er totalt langt ude. Først og fremmest så gør det lydfilerne fire gange større eller mere, men det kan faktisk også reducere lydkvaliteten. Der sidder nemlig en del analoge komponenter i afspillere, forstærker, højtalere osv. Disse komponenter reagerer tit ret dårligt på højfrekvent input, hvis ikke de er sindsygt dyre. Dette får dem til, at forvrænge det hørbare signal og derfor ender man med et dårligere resultat. Disse vilde samplefrekvenser er ren marketing bullshit.

Bit dybde

På sampling kurven, øverst på siden, ligger de blå målepunkter ikke særligt tæt på kurven og dette fremkalder en slags støj, der kaldes for kvantiseringstøj. Det er bla. denne støj, der musiknørder til, at brokke sig over digital lyd og foretrække analogt udstyr som pladespillere og radiorør.

Kvantiserings støj

Her er kvantiserings støjen vist som forskellen imellem det oprindelige signal og det samplede.

https://en.wikipedia.org/wiki/Quantization_(signal_processing)

For, at få den rigtige bitdybde og opløsning, med et minimum af støj, så skal vi kigge på menneskets øre igen.

Det menneskelige øre

Det menneskelige øre kan høre og adskille lyde med styrker op til smertegrænsen, der ligger på 100-120 dB.

Men det menneskelige øre kan ikke holde til så højt et lydtryk uden, at hørelsen tager skade.

Iht. støjbekendtgørelsen må medarbejdere på en arbejdsplads ikke udsættes for mere støj end:

  • 85 dB(A) i 8 timer
  • 88 dB(A) i 4 timer
  • 91 dB(A) i 2 timer
  • 94 dB(A) i 1 time
  • 97 dB(A) i 30 minutter
  • 100 dB(A) i 15 minutter

Derfor giver det ikke mening, at dimensionere efter mere end 90 dB:

https://en.wikipedia.org/wiki/Dynamic_range#Audio

Sampling og dynamikområde

Hvis, man kører med en opløsning, der giver det teoretiske minimum af kvantiseringstøj så kan man udregne dynamikområdet med en simpel formel:

D=6.02 x bits

Alt digitalt udstyr kører efterhånden med en intern arkitektur, der er et multiplum af 8 bit bred. Derfor vil vi nøjes med, at se på dem.

Opløsning

Min Værdi

Max Værdi

Dynamisk Område

8 bit

-128

+127

48 dB

16 bit

-32,768

+32,767

96 dB

24 bit

-8,388,608

+8,388,607

144 dB

https://en.wikipedia.org/wiki/Dynamic_range#Audio

Når vi kombinerer disse to faktabokse så er det helt oplagt, at 16 bit er den perfekte værdi. Det giver ikke mening, at bruge mere en 16 bit når man som forbrugere skal afspille lyd.

Rant; Igen er der skøre mennesker, som insisterer på 24 bit. Dette er også marketing bullshit. En 24 bit optagelse fylder 50% mere end en 16 bit optagelse, men i det mindste skader det ikke lydkvaliteten at bruge 24 bit.

Alt I alt har folkene, der udviklede CompactDisc (dvs. cd'en som vi kender den) valgt de helt rigtige værdier til formålet. 44.1 khz sampling frekvens og 16 bit opløsning. Godt arbejde.

Anden halvleg

Så er det på tide, at lave noget hærg.

Digital lyd i Audacity

Først skal vi downloade og installere AudaCity. Den kan hentes fra:

https://www.audacityteam.org

Derefter skal vi hente nogle lyd-filer som vi kan lege med. De kan bla. hentes fra denne side. Husk, at hente dem i WAV format.

https://freewavesamples.com

Hvis det skal være mere crazy så prøv, at finde noget på: http://www.wavsource.com. Der er Monty Python citater her: http://www.wavsource.com/tv/monty_pythons_flying.htm.

Nu kan vi lege med disse lyde i AudaCity. Det er fest og ballade.

Sample hacking i SonicPi

Til slut skal vi igennem den sidste del af samples i SonicPi. Vi skal bla. prøve, at bruge de lyde, som vi har hentet i SonicPi.

https://sonic-pi.net/tutorial.html#section-3-3

Resourcer


Retur til StartSide