FLAC

Gratis Lossless Audio Codec
utvikler
Xiph.Org Foundation / Josh Coalson [ 1 ]
FLAC.SourceForge.net
Generell informasjon
filutvidelse .flac
mime-type audio/x-flac[2]
Første utgivelse 20. juli 2001
Siste versjon 1.4.0 ( info )
9. september 2022 (1 måned og 7 dager)
formattype Lydkodek Lydformat
Standarder) spesifikasjoner
åpent format Ja 

FLAC ( Free Lossless Audio Codec ) er en lydkodek som lar digital lyd komprimeres tapsfritt på en slik måte at størrelsen på lydfilen reduseres uten tap, ingen informasjon. Digital lyd komprimert av FLAC- algoritmen kan typisk reduseres til 50 til 60 % av den opprinnelige størrelsen, [ 3 ] og dekomprimeres til en identisk kopi av de originale lyddataene.

FLAC er et åpent format lisensiert fri for opphavsrett og en referanseimplementering som er fri programvare . FLAC har støtte for metadatamerking, inkludert albumgrafikk og hurtigsøk.

FLAC kan ikke lagre flytende punktdata og avspillingsstøtte på bærbare lydenheter, og lydsystemer av høy kvalitet er begrenset sammenlignet med tapsformater som MP3 eller ukomprimert PCM , selv om FLAC innenfor tapsfrie formater er et av de best støttede av både maskinvare og programvare, bare matchet av ALAC , og overgår resten. [ 3 ]​ [ 4 ]

Historikk

Prosjektet ble startet og utviklet av programmerer Josh Colson. [ 5 ] Bitstream-formatet ble frosset da FLAC gikk inn i beta med utgivelsen av versjon 0.5 av referanseimplementeringen 15. januar 2001. Versjon 1.0 ble utgitt 20. juli 2001. [ 1 ]

Den 29. januar 2003 kunngjorde Xiph.Org Foundation og FLAC-prosjektet inkorporeringen av denne kodeken under Xiph.org-banneret. Xiph.org står bak andre gratis komprimeringsformater som Icecast , Vorbis , Theora og Speex . [ 1 ]​ [ 6 ]

FLAC versjon 1.3.0 ble utgitt 26. mai 2013. Utviklingen ble flyttet til Xiph.org-depotet. [ 7 ]

Prosjektet

FLAC-prosjektet inkluderer:

Sammenligninger

FLAC er designet for å komprimere lyd. På grunn av dette er de resulterende filene spillbare og brukbare, i tillegg til å være mindre enn om en statistisk komprimeringsalgoritme (som ZIP ) hadde blitt brukt direkte på PCM -filen. Lossy-algoritmer kan komprimere til mer enn 1/10 av den opprinnelige størrelsen, på bekostning av å forkaste informasjon; FLAC bruker i stedet lineær prediksjon for å konvertere prøvene til en serie med små, ikke-korrelerte tall (kjent som "rester"), som lagres effektivt ved å bruke Golomb-Rice-koding . I tillegg til dette, for å dra nytte av stillheter, der numeriske verdier presenterer mye repetisjon, bruk "track-length"-koding ( RLE "Run-Length Encoding") for identiske prøver.

RLE og RAE er begreper avledet fra mekanisk lesing av poster, og tilsvarer avlesningene med " Constant Linear Velocity " (CLV) som brukes i magnetbånd, og med "Constant Angular Velocity" (CAV) som er karakteristisk opptak og reproduksjon av grammofonplater. I CD-spillere kan én eller annen avspillingsmetode velges, avhengig av opptaksparametrene. Det vanligste er CAV, men CLV gir mulighet for større linearitet i registreringen; selv om det krever hjelp av servoer for å kontrollere vinkelhastigheten til rotoren, ettersom radiusen til sporet forkortes.

FLAC har blitt et av de foretrukne formatene for salg av musikk på Internett, samt Monkey's Audio som fungerer like bra. Den brukes også i utveksling av sanger over nettverket, som et alternativ til MP3, når du ønsker å oppnå en større reduksjon i størrelse enn i en WAV - PCM -fil , og ikke miste lydkvaliteten. Det er også det ideelle formatet for å lage sikkerhetskopier av CDer, siden det lar deg reprodusere nøyaktig informasjonen til originalen, og gjenopprette den i tilfelle problemer med dette materialet.

Design

FLAC støtter ikke flytende punktprøver , men fastpunktprøver . Støtter enhver PCM-oppløsning fra 4 til 32 biter per sample og enhver samplingsfrekvens fra 1 til 655350 Hz, i trinn på 1 Hz, [ 8 ] og et hvilket som helst antall lydkanaler fra 1 til 8. [ 9 ]

Kanaler kan grupperes i tilfeller som stereo- og 5.1- surroundkanaler for å dra nytte av korrelasjoner mellom kanaler og øke komprimeringen. FLAC bruker sykliske redundanssjekksummer for å identifisere korrupte datarammer når de brukes i en lydstrømmeprotokoll, og har i tillegg en MD5 - hash -beregning av den rå PCM -lyden som er lagret i STREAMINFO -metadataoverskriften .

FLAC bruker lineær prediksjon for å konvertere lydprøver til en serie med små, ukorrelerte tall (kjent som gjenværende tall), som lagres effektivt ved hjelp av Golomb-Rice Coding. Den bruker også RLE-koding for blokker med identiske sampler, for eksempel i øyeblikk av stillhet i lyden. For å merke FLAC-filer bruker den det samme Vorbis-kommentarsystemet . [ 8 ] libFLAC API er organisert i strømmer, søkestrømmer og filer, oppført i økende rekkefølge av abstraksjon fra basis-FLAC-bitstrømmen. De fleste FLAC-applikasjoner holder seg til koding/dekoding ved å bruke libFLAC på filnivågrensesnittet.

Kompresjonsnivåer

Formatbiblioteket, libFLAC, bruker en komprimeringsnivåparameter som varierer fra 0 (raskeste) til 8 (tregeste). Komprimerte filer er alltid en perfekt representasjon med lite tap av de originale dataene. Selv om komprimeringsprosessen innebærer en avveining mellom hastighet og størrelse, er dekodingsprosessen alltid ganske rask og ikke veldig avhengig av komprimeringsnivået. [ 10 ]​ [ 11 ]

I følge WAV-referansen tar bruk av høyere rater over nivå -5 betydelig lengre tid å kode uten noen reelle gevinster i plassbesparelser.

Kompresjonsalternativ
_
Opprinnelig Komprimert Varighet Årsaken Kodetid
_
Kodehastighet
_

Dekode tid
Dekodingshastighet
_
-0 2030 GiB 1435 GiB 03:18:21 70,67 % 01:29 134x 01:24 141x
-5 2030 GiB 1334 GiB 03:18:21 65,72 % (-4,95) % 03:44 53x (2,5x langsommere) 01:36 124x
-6 2030 GiB 1334 GiB 03:18:21 65,71 % (-4,96, -0,01) % 03:51 52x (2,6x tregere) 01:36 124x
-7 2030 GiB 1333 GiB 03:18:21 65,67 % (-5, -0,04) % 07:47 25x (5,3x langsommere) 01:36 123x
-8 2030 GiB 1329 GiB 03:18:21 65,47 % (-5,2, -0,2) % 10:17 19x (7x tregere) 01:40 120x
-8 -Bx2 2030 GiB 1328 GiB 03:18:21 65,40 % (-5,27, -0,07) % 16:39 12x (11x tregere) 01:35 125x

Sammenligningstabell over funksjoner

Vanligvis er en av faktorene som tas mest i betraktning når du velger denne lydkodeken komprimeringen den gir; men avhengig av hva vår endelige applikasjon er og om vi vurderer midlene som er tilgjengelige for brukeren, er verken den raskeste kodeken eller den som komprimerer mest alltid praktisk for oss. Denne tabellen viser at FLAC er et godt alternativ i mange av de forskjellige tilfellene en bruker kan finne seg selv i; her sammenligner vi de fremtredende egenskapene til den med andre tapsfrie lydkodeker. De analyserte kodekene er følgende:

kodek kode Dekod Comp. Fleksibel
feil robusthet
exp Merket H.W. SW Hybrid/
C.Tap
streaming
Åpen kildekode
multikanal Høy oppløsning SW
wav-pakke Veldig fort Veldig fort 58 % Veldig bra Ja Ja ID3/APE Begrenset Greit Ja Ja Ja Ja Ja Alle
EN C Median Rask 58,5 % Dårlig Nei Ja QT-tagger Greit Dårlig Nei Ja ja (dekode) Ja Ja Windows/MAC/iPad/iPhone
FLAC Rask Veldig fort 58,7 % Veldig bra Ja Ja VorbisTag Veldig bra Veldig bra Nei Ja Ja Ja Ja Alle
Monkey's Rask Medium 55,5 % Veldig bra Nei Ja ID3/APE Begrenset Greit Nei Nei Ja Nei Ja Alle
OptimFROG Langsom Medium 54,7 % Veldig bra Ja Ja ID3/APE Nei Litt Ja Ja Nei Nei Ja Win/Mac
/Linux
Forkorte Veldig fort Veldig fort 63,5 % Dårlig Nei Ja Nei Begrenset Veldig bra Nei Nei Ja Nei Nei Alle

% komprimering: jo lavere den er, jo mer komprimerer den. Koding og dekoding: nødvendig hastighet. HW og SW: støtte og kompatibilitet i begge felt (maskinvare og programvare) Exp: innholdet i plottet er utforskbart på prøvenivå

Filegenskaper

FLAC-filer har vanligvis samme filtype (*.FLAC), selv om det ikke er uvanlig å finne dem som *.FLA; de er perfekt reproduserbare med et stort antall spillere, spesielt mellomtoner og high-end; selv på gamle datamaskiner, siden en av funksjonene til prosjektet er at filene dekrypteres i enkel modus. De lar deg også bruke søkefunksjonen. Disse filene har variabel bithastighet, siden ikke alle deler av det samme lydsporet er like komprimerbare.

En annen funksjon er at, som alle tapsfrie formater, avhenger det endelige komprimeringsforholdet mye av den musikalske stilen, lydvariasjonen (tilstedeværelsen av støy, typisk for instrumenter som elektrisk gitar eller trommer) tilfører "ekstra" informasjon til spekteret. lyd på nesten alle frekvenser. For "renere" musikk, spektralt sett, som de fleste musikk for akustiske instrumenter og/eller stemme, oppnås forhold på ca. 1/2,2; i andre stiler, som for eksempel dans eller rock, med et generelt mer befolket lydspekter, kan filene være fra 2/3 til 4/5 av den opprinnelige størrelsen i PCM-format. En annen faktor av stor betydning er eksistensen av stillheter, siden noen spor har flere sekunder i begynnelsen eller på slutten; når det gjelder mange kunstmusikkstykker, er det stillheter i ulike deler av lydsporet.

Programvarestøtte

Koding


Dekoding

  • Mac OSX
    • Cog.
    • Flac-importør
    • MacFLAC.
    • Spille.
    • xACT
    • X Lossless Dekoder


Ripper

  • Linux
    • A B C D E
    • cdda2wav
    • cdparanoia
    • fre:ac
    • Mencoder
    • GNOME
      • Grep
      • svindel
      • Rippex
      • Lyd juicer
    • KDE
      • Audex
      • KAudioCreator
      • Konqueror
      • K3b
  • Mac OSX
    • fre:ac
    • Maks—10,4
  • Windows

Maskinvarestøtte

Se også

Referanser

  1. abc " FLAC - nyheter " . Hentet 31. august 2009 . 
  2. Innspilt som lyd/flac
  3. ^ a b "FLAC-sammenligning" . Hentet 26. september 2013 . 
  4. ^ "Generell tapsfri sammenligning" . 
  5. ^ "FLACNews" . Hentet 26. september 2013 . 
  6. ^ "FLAC slutter seg til Xiph.Org " . 29. januar 2003 . Hentet 26. september 2013 . 
  7. Xiph.org Foundation (red.). "FLAC - endringslogg" . Hentet 26. september 2013 . 
  8. ^ a b "FLAC - faq" . Hentet 26. september 2013 . 
  9. FLAC (red.). "Format" . Hentet 26. september 2013 . 
  10. Sammenligning av CUETools FLAC-kodere . CUETools Wiki. Åpnet 27. mai 2013.
  11. Kodingsinnstillinger . J River Media Center. Åpnet 27. mai 2013.
  12. Audacity-utviklingsteam (30. oktober 2006). "Audacity 1.3.2 til 1.2.5 utgitt" . Hentet 19. januar 2010 . 

Eksterne lenker