Pulse Code Modulation (PCM) er navnet for den gængse strategi bag lydoptagelse og -afspilning på computere og digitale optagere. For at opnå en korrekt gengivelse af et lydsignal har PCM til formål at foretage en nøjagtig registrering af kurveformen af dette signal.
Strategien består i, at der med et vist mellemrum - en samplingsfrekvens - gemmes en række målinger/prøver af lykurvens højde - sampels. Når lydekurven skal genskabes udregnes en række linier mellem de mange sampels, så rekonstrueres tilnærmelse af den oprindelige lydkurve.
Lydfilen kan gemmes ukomprimeret i lydprogrammets eget format eller som wav, hvor der udover lyddata også er en header med oplysninger om mono/stereo), samplefrekvens og bitdybde. Et andet ukomprimeret format er cda-filerne på cd'er, hvor der ikke er pcm-oplysninger, da de er fast defineret i cd-standarden.
Header & data i wav-filer
Åbn en wav-fil i en Binary viewer og/eller en Hex editor og undersøg, hvad der står headeren og hvordan "lyden" ser ud som data.
I freewaren HexEdit kan du få hjælp, da den udpeger, hvilke dele der er headere m.m. i forskellige filtyper. - Åbn en wav-fil, klik på 'Template' så på 'Open file type' og vælg 'wav' - se billedet!.
Kvalitet
Der er flere variable der er afgærende for en digital optagelseskvalitet. De primære er samplingsfrekvensen og bitdybden, og dernæst udstyret samt måden de enkelte sampels udregnes:
Samplingfrekvensen beskriver det antal gange et indgående lydsignal måles eller 'samples' i en given periode. Det er typisk angivet i kilohertz (kHz, hvilket betyder tusindvis af cyklusser per sekund), og optages i 'CD-kvalitets' bruges en samplingfrekvens på 44,1 kHz, dvs. 44.100 målinger/samplinger i sekundet. Harry Nyquist og Claude Shannon har begge vist at er samplingsfrekvensen mindst dobbelt så høj som den højeste frekvens der er i lydoptagelse kan man ud fra de samplede data genskabe det oprindelige signal 100% nøjagtigt. Det menneskelige ører kan kun høre lyde op til ca. 20 kHz, så med 44,1 kHz kan lyde genskabes 100%. Alligevel er der feinschmeckere, som påstår de kan høre/føle forskel pga. de manglende overtoner - dvs. ikke hørlige toner over 20 kHz.
Bitdybden beskriver den nøjagtighed, som hver måling eller 'sample' er taget med. Når AD konverteren i et PCM digital audio system måler et indgående signal, og gemmer målingen som et tal, er dette nummer repræsenteret som en række 0'er og 1-taller, også kendt som en "binært ord". Jo længere ord - flere 0/1 taller - der kan være, desto mere præcis kan signalet beskrives, og desto mere naturtro en gengivelser af et signal. I et 16-bit system som Cd'en er hver sample gemt som et binært tal, der er 16 cifre langt. Da hvert af disse 16 cifre kan være enten et 0 eller et 1, er der derfor ikke mindre end 65.536 (216) mulige værdier for hver prøve. Telefonsystemer bruger hyppigt 8 bit, da 256 ((28) ) værdier, fint kan gengive stemmer ikke er nok til musik - tænk bare på pausemusikken når du ringer til et firma. 24 og 32 bit bruges mest til studiebrug, når musik optages og redigeres.
Quantization er den tredje afgørende faktor - det er den måde man vælger at beregne/sample de værdier, der skal gemmes. Overvejelserne bag udregningen er matematiske og du kan læse mere om den på engelsk på i wikipediaartiklen quantization [2]. Hos technologyuk.net kan du læse mere om PCM og se en god model over samplingsprocessen, der viser hvordan der tages en række målinger af bølgeformen, tildeles en værdi svarende til amplituden for at data til sidst gemmes som binære tal [1]
Audacity - Ændring af frekvens
Åbn en lydfil i god kvalitet (min 16 wav - prøv soundcloud.com) i Audacity og ændr deres format - klik på billederne for at se dem i stort.
1 - Klik på pilen ved filens navn yderst til venstre og prøv manuelt at sætte filen til en forkert rate/samplingsfrekvens
- Nedskriv, hvad der sker, når frekvens sættes til at være højere eller lavere end den er?
- Prøv at forklare hvorfor det sker
2 - Vælg punktet "Tracks" i menuen øverst og klik på "Resample"
- Prøv først at resample filen, så den kun har en samplingsfrekvens på 8000 Hz -
- Beskriv hvordan filen nu lyder
- Prøv så at øge samplingsfrekvensen - ændrer det på lyden? Hvorfor (ikke)?
- Zoom ind på samme stykke på en version i 8000 Hz og en i 44100 Hz - hvilke forskelle er der?
3 - Vælg "Fil" i menuen og punktet "exporter".
- Lav nye wav filer med en bitdybde på 8 (se billede).
- Lyt til den nye fil - hvordan lyder den anderledes?
- Zoom ind på samme stykke på 8-bit versionen og den oprindelige fil - hvilke forskelle er der?