Sidst opdateret: 16 Apr, 2025

Når du arbejder med lydfiler, især i formater som WAV, er forståelse af WAV-filheaderen afgørende. Headeren indeholder væsentlige oplysninger om lyddataene, såsom format, samplingshastighed og mere. I denne artikel dykker vi dybt ned i strukturen af en WAV-filheader, forklarer hver del af den og undersøger også, hvordan man reparerer korrupte headers.
Hvad er en WAV-fil?
WAV (Waveform Audio File Format) er et standard lydfilformat udviklet af Microsoft og IBM. Det gemmer rå, ukomprimeret lyddata og er bredt anvendt til højkvalitets lydoptagelse og redigering.
En WAV-fil består af to hoveddele:
- Header — indeholder metadata om filen.
- Data — indeholder de faktiske lydprøvedata.
Strukturen af en WAV-filheader
WAV-filheaderen er typisk de første 44 bytes af filen. Den giver detaljeret information om, hvordan lyddataene skal fortolkes. Her er en opdeling af dens struktur:
| Offset (Bytes) | Felt | Størrelse (Bytes) | Beskrivelse |
|---|---|---|---|
| 0 | Chunk ID | 4 | Skal være “RIFF” for at angive filformatet. |
| 4 | Chunk Size | 4 | Størrelsen af filen minus 8 bytes for RIFF- og størrelsesfeltet. |
| 8 | Format | 4 | Skal være “WAVE”. |
| 12 | Subchunk1 ID | 4 | “fmt " (inkluderer et efterfølgende mellemrum). |
| 16 | Subchunk1 Size | 4 | Størrelsen af format-chunken (normalt 16 for PCM). |
| 20 | Audio Format | 2 | Formatkode (1 for PCM/ukomprimeret). |
| 22 | Number of Channels | 2 | Mono = 1, Stereo = 2, osv. |
| 24 | Sample Rate | 4 | Samplingsfrekvens (fx 44100 Hz). |
| 28 | Byte Rate | 4 | SampleRate × NumChannels × BitsPerSample / 8. |
| 32 | Block Align | 2 | NumChannels × BitsPerSample / 8. |
| 34 | Bits per Sample | 2 | Bitdybde (fx 16, 24 eller 32 bits). |
| 36 | Subchunk2 ID | 4 | “data” — angiver begyndelsen af lyddata. |
| 40 | Subchunk2 Size | 4 | Antal bytes i datasektionen. |
Visuel repræsentation af en WAV-header
+-----------------+---------+
| Chunk ID | "RIFF" |
| Chunk Size | FileSize|
| Format | "WAVE" |
| Subchunk1 ID | "fmt " |
| Subchunk1 Size | 16 |
| Audio Format | 1 (PCM) |
| Num Channels | 1/2 |
| Sample Rate | 44100 |
| Byte Rate | ... |
| Block Align | ... |
| Bits per Sample | 16/24/32|
| Subchunk2 ID | "data" |
| Subchunk2 Size | DataLen |
+-----------------+---------+
Hvorfor WAV-filheaderen er vigtig
Forståelse af WAV-filheaderen er essentiel for:
- Lydingeniører der finjusterer lydkvaliteten.
- Udviklere der bygger lydværktøjer eller software.
- Forskere der analyserer lydkurver.
- Musikproducenter der arbejder med højopløsningslydspor.
Hvis headeren er forkert eller korrupt, kan lydfilen muligvis ikke afspilles korrekt, eller lydredigeringssoftware kan slet ikke genkende den.
Læsning og redigering af WAV-headers programmatisk
Du kan bruge forskellige værktøjer og programmeringssprog til at læse og manipulere WAV-filheaders. Her er et eksempel med Python:
Dette script hjælper dig med at inspicere WAV-headeregenskaber programmatisk.
Sådan repareres en korrupt WAV-filheader
Nogle gange kan WAV-filer blive korrupte, især hvis en optageproces afbrydes. Sådan kan du forsøge at reparere en beskadiget header:
1. Brug lydredigeringssoftware
Programmer som Audacity kan nogle gange åbne en korrupt WAV-fil og eksportere den med en rettet header.
2. Erstat headeren manuelt
Hvis du kender egenskaberne (kanaler, samplingshastighed, bitdybde), kan du kopiere headeren fra en god WAV-fil med lignende indstillinger og erstatte den beskadigede.
3. Brug kommandolinjeværktøjer
Værktøjer som FFmpeg kan gen-enkode filen og generere en ny header:
ffmpeg -i corrupted.wav -c copy fixed.wav
Du kan også læse vores guide om brug af FFmpeg: Konverter WAV-filer til MP3 og andre formater ved hjælp af FFmpeg.
4. Skriv et script til at genopbygge headeren
Hvis du er bekendt med kodning, kan du skrive et Python-script, der skriver en ny header og tilføjer de rå data.
Pro Tip: Sørg altid for at have sikkerhedskopier af dine originale filer, inden du forsøger nogen reparation.
FAQ om WAV-filheader
Q1: Kan jeg redigere en WAV-filheader manuelt?
Ja, hvis du forstår strukturen, kan du bruge en hex-editor til manuelt at redigere headerfelterne.
Q2: Hvad sker der, hvis WAV-headeren mangler?
Uden headeren kan medieafspillere og software ikke forstå, hvordan lyddataene skal fortolkes, hvilket gør filen uafspilningsbar.
Q3: Hvordan finder jeg bitdybden på en WAV-fil?
Du kan inspicere feltet “Bits per Sample” i headeren eller bruge software som Audacity eller Python-scripts til at læse det.
Q4: Er det muligt at øge lydkvaliteten ved at redigere headeren?
Nej, headeren beskriver kun dataene. For at forbedre kvaliteten skal du genoptage eller behandle selve lyden.
Q5: Findes der komprimerede WAV-formater?
Ja, selvom typiske WAV-filer bruger PCM (ukomprimeret), kan WAV også indeholde komprimerede lydformater, men PCM er det mest almindelige.
Afsluttende tanker
WAV-filheaderen spiller en kritisk rolle i, hvordan lyddata gemmes, fortolkes og afspilles. Uanset om du er en lydprofessionel, udvikler eller blot nysgerrig, giver forståelse af WAV-headeren dig bedre kontrol over dine lydfiler. Med denne viden kan du ikke kun læse og redigere WAV-filer, men også reparere dem, når noget går galt.