Dokumentasjon

    Table of Content
    • 3d
      • 3D-filformater
      • 3DS to DWG
      • 3MF to STL
      • AC
      • AMF
      • BHV
      • BIP
      • FBX to DWG
      • GLB
      • GLB to 3DS
      • GLB to FBX
      • GLB to GLTF
      • GLB to STL
      • GLB to USDZ
      • MDX
      • MTL
      • OBJ
      • PLY
      • SMD
      • STP
    • audio
      • Lydfilformater
      • DFF
      • DSF
      • GP
      • iLBC
      • M3U
      • M3U8
      • M4R
      • MP3
      • MUS
      • MUS Minecraft
      • PKF
      • PTX
      • QCP
      • QOA
      • SESX
      • STY
      • WAV
    • cad
      • CAD-filformater
      • DGN
      • DWFX
      • DWG
      • DXF
      • GCODE
      • IGS
      • PLT
    • compression
      • Komprimeringsfilformater
      • APK
      • GZ
      • ISO
      • LZMA
      • PKG
      • TGS
      • VPK
      • WHL
      • WUX
      • XAPK
      • ZIP
    • data
      • Datafilformater
      • CDX
      • ESX
      • GB
      • INK
      • IO
      • PCB
      • PRT
      • SAFETENSORS
      • VCS
      • XDELTA
    • database
      • Database filformater
      • BAK SQL Server
      • CRYPT14
      • DB
      • DB3
      • DBC
      • DTSX
      • FDB
      • GDB
      • MDF
      • NDF
      • SAV
      • SQL
      • SQLITE
    • disc-and-media
      • Disk- og mediefilformater
      • CUE
      • ISZ
      • MDF
      • OVA
      • TIB
      • Toast
      • WBFS
    • ebook
      • E-bok filformater
      • CBZ
      • JWPUB
      • KFX
    • email
      • Filformater for e-post
      • EML
      • ICS
      • OFT
      • RPMSG
      • VCF
    • executable
      • Kjørbare filformater
      • BAT
      • CMD
      • JSF
      • MST
      • PS1
      • PYC
      • REG
      • RUN
      • WSF
      • XEX
    • finance
      • Finans filformater
      • ABA
      • IXBRL
      • OFX
      • XBRL
    • font
      • Font filformater
      • TTF
      • WOFF2
    • game
      • Spillfilformater
      • 3DSX
      • ASS
      • ASSET
      • BIN
      • BIN PCSX
      • BO2
      • BSP
      • CLIP
      • CT
      • DSV
      • ENC
      • ESP
      • FOMOD
      • GBX
      • GCF
      • GMA
      • KODU
      • MAP
      • MCA
      • MCPACK
      • MCR
      • MII
      • NBT
      • NDS
      • NPA
      • NSP
      • NSZ
      • OSB
      • OSK
      • OSR
      • OSU
      • OSZ
      • PAK
      • PCK
      • PGN
      • PPF
      • PSS
      • RPF
      • RPX
      • RPY
      • RPYC
      • RVZ
      • SFC
      • SIMS3PACK
      • SMC
      • SRM
      • UASSET
      • Unity3D
      • UNITYPACKAGE
      • USX
      • VDF
      • VMF
      • VPK
      • XCI
      • XS
      • Z64
    • gis
      • GIS filformater
      • FIT
      • GPX
      • KMZ
    • image
      • Bildefilformater
      • ARW
      • BMP
      • CDR
      • GIF
      • HDR
      • JFIF
      • JPEG
      • JPF
      • JPG_LARGE
      • JXL
      • MIX
      • PDN
      • PNJ
      • PPF
      • PVT
      • QTIF
      • RPF
      • SKP
      • SPP
      • SVS
      • TIFF
    • misc
      • Diverse filformater
      • BAK Backup
      • CRX
      • CTG
      • ENC
      • FIG
      • GPG
      • H5
      • IPS
      • LIC
      • LOCK
      • LRC
      • MEDIA FILES
      • NOMEDIA
      • PAKKE
      • PDO
      • PES
      • PFX
      • PKPASS
      • PS2 BIOS
      • PSX BIOS
      • SFV
      • SHELL SCRIPT
      • TEXT FORMATS
      • XMDX
      • XMZX
    • pdf
      • PDF
      • FDF
    • plugin
      • Plugin filformater
      • Q1Q
    • presentation
      • Presentasjonsfilformater
      • PPT
      • PPTX
    • programming
      • Programmering
      • ACD
      • ASM
      • AU3
      • C
      • CONFIG
      • CS
      • CSPROJ
      • CXX
      • EGG
      • G4
      • GROOVY
      • H
      • HPP
      • INO
      • Jav
      • JRXML
    • project-management
      • Prosjektledelse filformater
      • MPP
    • video
      • ASS
      • AV1
      • BNP
      • BRAW
      • DIRAC
      • DIVX
      • DRP
      • EVC
      • F4M
      • FCPXML
      • MJP
      • MPD
      • OTRKEY
      • R3D
      • SMK
      • TRP
      • TTML2
      • VVC
      • WebVTT
      • XAVC
    1. Hjem
    2. Lydfilformater
    3. QOA

    What's on this Page

      • Hva er QOA lydfilformat? Funksjoner, arkitektur og hvordan åpne det
      • Hva er en QOA-fil?
      • Detaljerte funksjoner i QOA
        • 1. Minimalistisk spesifikasjon og implementering
        • 2. Tidsdomene LMS-prediksjon
        • 3. Ekstremt rask dekoding
        • 4. Strømmingsklar chunk-basert arkitektur
      • Viktige egenskaper ved QOA
      • Hvordan lage og kode QOA-filer
        • Metode 1: Bruke den offisielle qoaconv CLI
        • Metode 2: Koding i motor (Godot Engine)
        • Metode 3: Nettbaserte konvertere i nettleser
      • Hvordan åpne og spille av QOA-filer
      • Ofte stilte spørsmål (FAQ)
        • Hva står QOA for?
        • Er QOA-lyd tapsfri eller med tap?
        • Hvor mye komprimering gir QOA?
        • Kan QOA erstatte MP3 eller AAC for generell musikkstrømming?
        • Har QOA lisens- eller patentavgifter?
      • Referanse‑URLer og offisielle ressurser

    Hva er QOA lydfilformat? Funksjoner, arkitektur og hvordan åpne det

    I digital lydteknikk og spillutvikling har det alltid vært utfordrende å balansere filstørrelse, avspillingslatens og CPU-overskudd. Standardformater som MP3, AAC og Ogg Vorbis tilbyr høye komprimeringsforhold, men krever komplekse dekodingspipelines, tung flyttallsaritmetikk og betydelige minneavtrykk. På den andre siden av spekteret gir ukomprimert PCM (.wav) null‑latens avspilling på bekostning av massiv diskbruk og treg levering av ressurser.

    QOA (Quite OK Audio)-formatet fyller dette gapet. Opprettet av Dominic Szablewski (skaperen av det mye rosede QOI-bildeformatet), er QOA et åpen kildekode, med tap lydformat tilpasset lynrask dekoding, minimal kompleksitet og forutsigbar minnebruk.

    Hva er en QOA-fil?

    En fil med .qoa-utvidelsen lagrer komprimert digital lyd ved hjelp av Quite OK Audio-formatet. Den opererer på pulskode-modulert (PCM) lyddata med 16-bit dybde over samplingsfrekvenser fra $1\text{ Hz}$ opp til $16,777,215\text{ Hz}$ og støtter opptil 31 lydkanaler.

    I motsetning til psykoakustiske kodeker som er avhengige av frekvensdomene-transformasjoner (som den modifiserte diskrete cosinustransformasjonen eller MDCT), fungerer QOA helt i tidsdomenet. Den komprimerer lyd til et fast forhold på nøyaktig $3.2\text{ bits per sample}$, og oppnår en konstant $5:1$ komprimeringsratio over rå 16-bit lineær PCM.

    For standard CD-kvalitetslyd (44,1 kHz, stereo) oppnår en QOA-strøm en nøyaktig, konstant bithastighet på:

    $$\text{Bithastighet} = 44,100 \times 2 \times 3.2 = 282,240\text{ bits/s} \approx 278\text{ kbps}$$

    Detaljerte funksjoner i QOA

    1. Minimalistisk spesifikasjon og implementering

    Tradisjonelle moderne kodeker krever hundrevis av sider med tekniske spesifikasjoner og tusenvis av kodelinjer for å implementeres. I kontrast passer hele QOA-formatspesifikasjonen på en enkeltsides PDF, og den offisielle referanseimplementasjonen (qoa.h) består av omtrent 400 linjer med standard C‑kode.

    2. Tidsdomene LMS-prediksjon

    QOA unngår beregningsintensive transformasjonsalgoritmer. I stedet bruker den et adaptivt Least Mean Squares (LMS) prediksjonsfilter med fire historiske vekter per kanal. Ved å estimere fremtidige sampleverdier og kun registrere kvantiserte residualdifferanser, leverer QOA transparent perseptuell lydkvalitet uten tung CPU-bruk.

    3. Ekstremt rask dekoding

    Fordi QOA kun bruker heltallsaritmetikk og lette operasjoner, dekoder den opptil $3\times$ raskere enn Ogg Vorbis og overgår betydelig standard MP3-dekodere. Den dekoder til og med raskere enn Microsoft ADPCM, noe som gjør den ideell for lavstrøm-innfelt maskinvare, mikrokontrollere og sanntids spillmotorer.

    4. Strømmingsklar chunk-basert arkitektur

    QOA-filer er delt inn i selvstendige rammer som kan inneholde opptil $5,120$ samples per kanal ($256$ segmenter på $20$ samples). Hver ramme har sine egne LMS-filtervekter og historikk, noe som muliggjør umiddelbar søking, nullstraff gjenoppretting fra tapte pakker, og dynamisk sanntidsstrømming uten påkrevd global indeksering.

    Viktige egenskaper ved QOA

    KjennetegnSpesifikasjon / Detalj
    Filtype.qoa
    Magiske byteqoaf (0x71, 0x6f, 0x61, 0x66)
    Utvikler / SkaperDominic Szablewski (PhobosLab)
    KomprimeringstypeTapende (tidsdomene LMS-prediksjon)
    KomprimeringsforholdFast $5:1$ i forhold til 16-bit PCM
    Lagring per prøveNøyaktig $3.2\text{ bits per sample}$
    Bitrate (44,1 kHz, Stereo)$\approx 278\text{ kbps}$ ($282,24\text{ kbps}$ nyttelast)
    Samplingsfrekvensområde$1\text{ Hz}$ til $16,777,215\text{ Hz}$ ($24\text{-bit}$ usignert)
    Støttede kanaler$1$ til $31$ lydkanaler (Mono, Stereo, 5.1, 7.1, osv.)
    Header-overhead8-byte filheader, 8-byte rammeheader
    LisensieringMIT (Kildekode) / CC0 (Spesifikasjon og logo)

    Hvordan lage og kode QOA-filer

    Å kode lyd til QOA er enkelt takket være forhåndsbygde utvikler‑binærfiler og fellesskapets verktøykjeder.

    Metode 1: Bruke den offisielle qoaconv CLI

    Den primære enkoderen distribueres direkte i det offisielle referanse‑depotet.

    1. Klone depotet og bygg binæren:
      git clone https://github.com/phoboslab/qoa.git
      cd qoa
      make
      
    2. Konverter en ukomprimert WAV-fil til QOA:
      ./qoaconv input.wav output.qoa
      
    3. (Valgfritt) Hvis kompilert med HAS_DRLIBS=true, kan qoaconv også direkte transkode fra .flac- og .mp3-filer.

    Metode 2: Koding i motor (Godot Engine)

    Fra og med Godot 4.3 kan spillutviklere importere ukomprimerte .wav-filer og velge QOA-komprimering direkte fra Godot Import-dokken. Dette gir kompakte spillressurser som dekodes nativt med neglisjerbar CPU-latens under tunge spillscener.

    Metode 3: Nettbaserte konvertere i nettleser

    Flere nettbaserte WebAssembly-verktøy (som de som er vert på qoaformat.org og relaterte åpen kildekode-demoer) lar brukere dra og slippe standardlydfiler og laste ned en kodet .qoa-ressurs lokalt uten å kjøre terminalkommandoer.

    Hvordan åpne og spille av QOA-filer

    Fordi QOA er et lettvektformat bygget hovedsakelig for kjøretidsintegrasjon, kan konvensjonelle forbrukermediespillere kreve plugins eller dedikerte bygg.

    • Dedikert CLI-spiller (qoaplay): Det offisielle depotet kompileres til qoaplay, som bruker native lydsystemer (ALSA på Linux, CoreAudio på macOS, WASAPI på Windows) for å spille av .qoa-filer direkte:
      ./qoaplay audio.qoa
      
    • Spillrammeverk og motorer:
      • Raylib: Naturlig støtte via raudio-modulen.
      • Godot Engine: Full naturlig avspillingsstøtte (Godot 4.3+).
    • Medieavspillere og plugins:
      • Qmmp: Avansert multimediaspiller med innebygde QOA-dekodingsmoduler.
      • OpenCubicPlayer: Klassisk tracker og lydfilspiller som støtter QOA-strømmer.
      • Audacious / foobar2000: Støttet via åpen kildekode fellesskapets input‑plugins.
    • IDE‑ og utviklerverktøy:
      • VS Code: QOA Preview-utvidelsen lar utviklere forhåndsvise og spille av .qoa-lydklipp direkte i kildekoden sin.

    Ofte stilte spørsmål (FAQ)

    Hva står QOA for?

    QOA står for Quite OK Audio, et raskt, enkelt, åpen kildekode tapsbasert lydformat.

    Er QOA-lyd tapsfri eller med tap?

    QOA er et tapsbasert lydkomprimeringsformat, men det opprettholder nesten transparent lydkvalitet for de fleste praktiske bruksområder.

    Hvor mye komprimering gir QOA?

    QOA komprimerer 16-bits ukomprimert lyd med et konstant forhold på $5:1$ (nøyaktig $3.2\text{ bits per sample}$).

    Kan QOA erstatte MP3 eller AAC for generell musikkstrømming?

    Nei, QOA prioriterer ultrarask, lettvektig dekoding over maksimal båndbreddebesparelse, noe som gjør den bedre egnet for spill, mikrokontrollere og lavlatensapplikasjoner enn høy‑tetthets web‑streaming.

    Har QOA lisens- eller patentavgifter?

    Nei, QOA er helt patentrettfri og utgitt under den tillatende MIT‑lisensen, mens spesifikasjonen og logoen tilhører det offentlige domenet (CC0).

    Referanse‑URLer og offisielle ressurser

    • Offisiell nettside: https://qoaformat.org/
    • Offisiell spesifikasjon (PDF): https://qoaformat.org/qoa-specification.pdf
    • GitHub‑repo: https://github.com/phoboslab/qoa
    • Forfatterens tekniske dypdykk: PhobosLab-blogg - QOA kunngjøring og referanseverdier
     
     Norsk
    Close
     English
     Deutsch
     日本
     中文
     русский
     Français
     한국인
     Español
     Italiano
     Nederlands
     हिन्दी
     Indonesian
     Português
     عربي
     Türkçe
     Ελληνικά
     ไทย
     עִברִית
     Svenska
     українська
     Tiếng Việt
     български
     Magyar
     čeština
     Română
     Polski
     Bengali
     Dansk
     Persian
     Finnish
     Gaeilge
     Lithuanian
     Latvian
     Azeri