Movatterモバイル変換


[0]ホーム

URL:


Ir para o conteúdo
Wikipédia
Busca

FLAC

Origem: Wikipédia, a enciclopédia livre.
Free Lossless Audio Codec
Logotipo do FLAC
Extensão de arquivo
.flac
Tipo de mídia da Internet
audio/x-flac, audio/flac
Desenvolvido porXiph.Org Foundation
Tipo de formatoCompressão sem perda de dados
Contêiner paraÁudio

FLAC (acrônimo deFree Lossless Audio Codec, que significaCodec de Áudio Livre Sem Perdas eminglês) é umcodec decompressão de áudiosem perda de informação. Ao contrário de codecscom perda tais como oMP3 e oVorbis, ele não remove nenhuma informação do fluxo de áudio, mantendo a qualidade do som, podendo comprimir um arquivo de CD em até 50%, inferior aos até 80% do seu maior concorrente MP3, em razão da total fidelidade ao arquivo original.

História

[editar |editar código]

O desenvolvimento foi iniciado em 2000 por Josh Coalson. O formato bitstream foi congelado com o lançamento da versão 0.9 da implementação de referência em 31 de março de 2001. A versão 1.0 foi lançada em 20 de julho de 2001.[1]

Em 29 de janeiro de 2003, aXiph.Org Foundation e o projeto FLAC anunciaram a incorporação do FLAC sob a bandeira da Xiph.org. A Xiph.org é o lar de outros formatos de compressão gratuitos, comoVorbis,Theora,Speex e Opus.[2][3]

A versão 1.3.0 foi lançada em 26 de maio de 2013, quando o desenvolvimento foi transferido para o repositório git da Xiph.org.[4] Em 2019, o FLAC foi proposto como um padrão IETF.[5] Em 2024, o FLAC foi formalmente especificado e publicado comoRFC 9639.[6]

Estrutura

[editar |editar código]

O projeto FLAC é composto de:

  • o formato destream
  • umcontainer de formato para ostream, também chamado de FLAC (ouFLAC Nativo)
  • libFLAC, uma biblioteca de referência de codificadores e decodificadores, e uma interface de metadados
  • libFLAC++, umobject wrapper para a libFLAC
  • flac, umwrapper em linha de comando para utilizar a libFLAC para codificar e decodificarstreams em FLAC
  • metaflac, um editor de metadados em linha de comando para arquivos .flac e para a aplicação deReplay Gain
  • plugins de entrada para vários tocadores de áudio (Winamp,XMMS,foobar2000,musikCube, e muitos mais)
  • Com a incorporação à Xiph.org, ocontainer de formatoOgg, adaptável àstreaming (também chamado deOgg FLAC)

"Livre" significa que a especificação do formato destream pode ser implementada por qualquer pessoa, sem necessidade de autorização expressa (a Xiph.org se reserva o direito de definir a especificação do FLAC e certificar a conformidade aos mesmos), e nem o formato FLAC, nem nenhum método implementado para codificá-lo/decodificá-lo são cobertos por patentes. Isso também significa que a implementação referencial ésoftware livre e os códigos-fonte da libFLAC e da libFLAC++ são disponíveis sob aLicença BSD da Xiph.org, e os códigos-fonte do flac, metaflac, e também os plugins estão disponíveis sob aGPL.

Em suas metas, o projeto FLAC encoraja seus desenvolvedores a não implementar nenhum tipo de prevenção de cópia.[7]

Comparações

[editar |editar código]

O FLAC foi criado para um empacotamento eficiente de dados de áudio, diferente de algoritmos gerais de compressão sem perda, comoZIP egzip. Enquanto um ZIP pode compactar um arquivo de áudio com qualidade de cd em 10% ou 20%, com FLAC pode-se alcançar taxas de compressão de 30% a 50%.

Codecs com perda de dados podem alcançar taxas de 80% ou mais, descartando dados dostream original. O FLAC utilizapredição linear para converter amostras do áudio em uma série de pequenos números não correlatos (o residual), que são armazenados eficientemente com o uso doalgoritmo Golomb-Rice. Ele também utilizacodificação run-length para blocos de amostras idênticas, como passagens silenciosas. As vantagens técnicas do FLAC comparado a outros codecs sem perda residem na sua habilidade destreaming e em um rápido tempo de decodificação, que independe do nível de compressão.

Como qualquer outro codec sem perdas, o formato FLAC é popular entre proprietários deCDs e outras mídias que desejam preservar suas coleções de áudio. Se a mídia original foi perdida ou danificada, uma cópia em FLAC garante que uma duplicata exata do original pode ser recuperada a qualquer instante. Uma restauração exata feita a partir de um arquivo com perda (ex., MP3) dos mesmos dados é impossível. Um arquivoCUE pode opcionalmente ser criado ao copiar-se um CD. Se o CD foi lido e copiado perfeitamente em arquivos FLAC, o arquivo CUE permite posteriormente a gravação de um CD de áudio idêntico ao original, incluindo ordem das faixas,pregaps, eCD-Text. Entretanto, dados adicionais presentes em alguns CDs, como letras e gráficos deCD+G estão além do escopo de um arquivo CUE e da maioria dossoftwares de cópia de CDs, portanto, esses dados não serão armazenados.

A Hydrogenaudio Wiki possui uma comparação[8] de codecs sem perda, incluindo FLAC.

Exemplos

[editar |editar código]

Para a melhor compressão, porém mais longo tempo de codificação, este comando pode ser utilizado:

flac—lax -mep -b 8192 -l 32 -r 0,16 input.wav -o output.flac

O arquivo resultante pode não ser reprodutível emplayers dehardware ou ser passível destreaming, mas ele irá funcionar em todos os decodificadores de software. Para um arquivo totalmente em conformidade, este comando deverá ser utilizado:

flac -mep -b 8192 -l 32 -r 0,8 input.wav -o output.flac

Detalhes técnicos

[editar |editar código]

O FLAC suporta apenas amostras deponto fixo, não deponto flutuante. Isso ocorre para eliminar quaisquer erros de arredondamento para que se garanta uma reprodução perfeita em nível de bit. Ele pode trabalhar com qualquer resolução de bitsPCM de 4 a 32bits por amostra, qualquertaxa de amostragem de 1Hz a 1,048,570 Hz em incrementos de 1 Hz, e qualquer número de canais de 1 a 8. Os canais podem ser agrupados em casos comostereo esurround de 5.1 canais para aproveitar as vantagens de correlações entre os canais para aumentar a compressão. Ele utilizachecksumsCRC para identificarframes corrompidos quando usados em um protocolo destreaming, e também tem umhashMD5 completo do áudioPCM puro armazenado em seu cabeçalho de metadadosSTREAMINFO.

O formato FLAC é implementado como o codificador/decodificador interno da libFLAC, com o principal programa distribuível,flac, sendo o programa de referência da utilização daAPI libFLAC.A API docodec também está disponível em C++ como libFLAC++.

A implementção refencial do FLAC é compilável em várias plataformas, incluindo a maioria dos sistemas operacionaisUnix eUnix-like (incluindoLinux, *BSD,Solaris, eMac OS X),Windows,BeOS, eOS/2. Hábuild systems paraautoconf/automake,MSVC,Watcom C, eProject Builder.

Organização da API

[editar |editar código]

A API libFLAC está organizada emstreams,seekable streams e arquivos, na ordem crescente de abstração a partir dobitstream base do FLAC. Muitos aplicativos FLAC geralmente se restringirão a codificar/decodificar usando a libFLAC no nível de interface de arquivo.

Codificador

[editar |editar código]

Um codificador FLAC é criado com os seguintes passos

  1. Criar uma instância do codificador usando FLAC__file_encoder_new()
  2. Definir vários parâmetros deste codificador, como SamplingRate (taxa de amostragem), BitsPerSample (bits por amostra), NumberofChannels (número de canais), ordem LPC, estéreoMid-side, distância de busca do parâmetro Rice, min. e máx. residual, BlockSize (tamanho de bloco), output FileName (nome de arquivo)(se não há arquivo de saída, usar codificador destream). A função chama por cada um destes
  3. Inicializar o codificador FLAC usando FLAC__file_encoder_init()
  4. Codificar as amostras puras usando FLAC__file_encoder_process() ou FLAC__file_encoder_process_interleaver() para cada amostra lida a partir da entrada (tanto ADC como Arquivo).
  5. Ao encerrar o processo de codificação, chamar FLAC__file_encoder_finish(), após isto você poderá tanto destruir o codificador como refazer os passos para outro arquivo, seguindo-os novamente.

Software com suporte

[editar |editar código]

Codificação

[editar |editar código]

Decodificação

[editar |editar código]

Cópia (ripping)

[editar |editar código]

Suporte de hardware

[editar |editar código]
  • SanDisk Sansa® Clip
  • iPod - Video, Nano, Photo, Colour, Mini (2ª geração), usandofirmware de terceiros (Rockbox)
  • Grande maioria dosplayers de áudio digitalRockbox-compatíveis, incluindo iRiver e Gigabeat (Toshiba)
  • Hermstedt Hifidelio
  • Cowon - J3, S9, D2 e D2+, iAUDIO 9, iAUDIO 7,COWON V5, iAUDIO E2, A2 (nativo, a partir do firmware v1.59), 6, M3, M5, X5, U3, também via firmware Rockbox* Servidores de mídia Olive (Symphony, Música, Opus)
  • Rio Karma
  • Squeezebox (v1 recodifica paraPCM emserver side, v2 e posteriores decodificam nativamente)
  • Sonos
  • Meizu M6 Miniplayer
  • Pixel Magic Systems' HD Mediabox (com firmware 1.3.4 ou superior)
  • Waveplayer embutido - Módulo com suporte a FLAC nível 0 a 2,MIDI e interface serial
  • Teclast T29
  • Trekstor Vibez

Ver também

[editar |editar código]

Referências

  1. «Features».Xiph.Org Foundation. Consultado em 23 de novembro de 2023 
  2. «FLAC Joins Xiph.org».Xiph.org Foundation. 29 janeiro 2003. Consultado em31 agosto 2009 
  3. Plant, Emmett.«FLAC Joins Xiph!».Xiph.org Foundation. Consultado em31 agosto 2009. Arquivado dooriginal em 29 maio 2008 
  4. «FLAC – changelog».Xiph.org Foundation. Consultado em15 outubro 2013 
  5. van Beurden, Martijn; Weaver, Andrew.Free Lossless Audio Codec. I-D draft-ietf-cellar-flac. Consultado em 14 de maio de 2023 
  6. Coalson, Josh.«FLAC - FLAC is now formally specified in RFC 9639».xiph.org (em inglês). Consultado em 12 de fevereiro de 2025 
  7. Introdução ao FLAC
  8. Comparação de codecs sem perda

Ligações externas

[editar |editar código]
Formatos de áudio, vídeo e imagem
Áudio
MP3WMAAACVORBISSMDOPUSWAVECDDAAIFFFLAC
Video
WMVFLVAVIMPEG-1MPEG-2MPEG-43GPMP4OGGMKVVOBAMV
Imagem
JPEGBitmap ou TIFFGIFBMPPNGPCXTGA
Compressão de vídeo
MPEG-4 ASP
H.264/MPEG-4 AVC
Outros
Compressão de áudio
Geral
Fala/Voz
Sem perda
Compactadores
Open Source
Freeware
Proprietário
Linha de comando
Compressão de imagens
Comparação
ISO/IEC/ITU-T
Outros
Obtida de "https://pt.wikipedia.org/w/index.php?title=FLAC&oldid=71614391"
Categoria:
Categorias ocultas:

[8]ページ先頭

©2009-2026 Movatter.jp