Apple Lossless (.alac)
Apple PadrãoApple Lossless Audio Codec (ALAC) é um formato de áudio sem perdas desenvolvido pela Apple.
Converter ALAC para FLAC
Conversor gratuito de ALAC para FLAC no navegador. Converta arquivos instantaneamente no seu dispositivo.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos ALAC pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos ALAC pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
?? ?? ?? ?? 66 74 79 70REPRESENTAÇÃO ASCII: ????ftyp
Padronização: Apple Open Source / ISO 14496-12
Especificações técnicas
| Estrutura do contêiner | Contêiner ISO Base Media File Format (MPEG-4 Part 14) com o átomo alac |
| Compressão | Codificação preditiva linear adaptativa (LPC) e codificação de entropia Rice-Golomb |
| Ordem dos bytes (endianness) | Átomos do contêiner em big-endian; dados dos quadros compactados em bits |
| Espaços de cor | N/D (fluxo de áudio sem perdas) |
| Canais e Estrutura | Até 8 canais de áudio (estéreo, surround 5.1 e surround 7.1) |
| Dimensões Máximas | Taxas de amostragem de 44,1 a 192 kHz, com resolução de 16, 24 ou 32 bits |
| Transparência | Reconstrução matematicamente exata de dados PCM sem compactação |
| Streaming e Progressivo | A posição nativa do átomo moov do QuickTime no início do arquivo permite streaming instantâneo por intervalo de bytes |
Matriz de comparação técnica: ALAC e formatos concorrentes
| Atributo técnico | ALAC (Atual) | FLAC | WAV | APE |
|---|---|---|---|---|
| Qualidade da compactação | Sem perdas, com reconstrução matemática exata | Sem perdas, com reconstrução matemática exata | Sem perdas e sem compactação | Sem perdas, com reconstrução matemática exata |
| Suporte ao ecossistema Apple | 100% nativo em todos os dispositivos Apple | Requer um reprodutor de terceiros ou um plugin do Quick Look | Descompactação nativa | Não suportado sem ferramentas de terceiros |
| Complexidade da decodificação | Muito leve; exige pouco do hardware e ajuda a economizar bateria | Muito leve e rápido | Nenhuma sobrecarga de descompactação na CPU | Alta; exige muito da CPU |
| Contêiner | Contêiner MPEG-4 Parte 14 (.m4a) | Fluxo de bits Ogg/FLAC nativo (.flac) | Contentor RIFF (.wav) | Contêiner próprio do Monkey's Audio (.ape) |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
O arquivo de áudio é reproduzido durante alguns segundos e depois termina abruptamente ou o reprodutor mostra uma duração de 0:00.
Causa principal: Átomo 'moov' ausente ou truncado devido a um download incompleto ou a um travamento do gravador de áudio antes de fechar o arquivo.
Recuperação: Use untrunc ou MP4Box para recuperar e transplantar um átomo moov válido de uma gravação correspondente feita com as mesmas configurações.
Análise de segurança e vetores de ataque a analisadores
Decodificadores ALAC analisam árvores complexas de átomos MPEG-4 e coeficientes adaptativos de predição LPC. Se não houver verificação dos limites, isso pode expor falhas de memória.
Vetores de ataque conhecidos
- Estouro de buffer ao analisar a ordem do preditor LPC quando os coeficientes têm ordem superior a 32.
- Gravação de quadro fora dos limites durante a redução de canais em componentes legados do QuickTime (CVE-2011-3258).
- Estouro de inteiro no tamanho do átomo, que causa a alocação de um buffer de heap pequeno demais durante a decodificação.
Melhores práticas defensivas: Imponha limites rígidos ao tamanho dos átomos e, antes de alocar memória, valide os coeficientes preditores em relação à profundidade máxima de bits permitida.
Origens históricas e marcos
Principais vantagens
- A descodificação sem perdas reconstrói as amostras de origem codificadas, mas não recupera informações ausentes na origem.
- Os dispositivos Apple suportam a reprodução de ALAC; a disponibilidade depende do dispositivo, software, aplicação e percurso de reprodução.
- Suporte total para capas de alta resolução incorporadas, marcadores de capítulos e metadados ricos ao estilo do iTunes.
Limitações técnicas e desvantagens
- O suporte a ALAC em hardware que não seja da Apple é menos comum do que ao FLAC, um formato aberto amplamente compatível.
- Os arquivos costumam ser de 2% a 5% maiores que os FLAC devido ao ajuste conservador do codificador Rice-Golomb.
- Usa a mesma extensão .m4a do AAC com perdas, o que pode confundir os usuários quanto ao tipo de compactação do arquivo.
Curiosidades técnicas
- Apple AirPlay transmite áudio em tempo real por redes Wi-Fi locais, usando fluxos ALAC de 16 bits/44,1 kHz.
- Antes de a Apple disponibilizar ALAC como código aberto em 2011, o pesquisador de engenharia reversa David Hammerton criou o primeiro decodificador aberto ao analisar o código desmontado do iTunes.
- Um fluxo ALAC dentro de um arquivo MP4 é identificado pelo código de quatro caracteres alac dentro do átomo de descrição de amostra stsd.
Perguntas técnicas frequentes
Como posso saber se meu arquivo .m4a é AAC com perdas ou ALAC sem perdas?
Como a Apple usa .m4a para ambos os formatos, confira o arquivo em um reprodutor ou conversor. Um arquivo ALAC costuma ter taxa de bits entre 700 e 1.100 kbps, enquanto a de um arquivo AAC fica entre 128 e 320 kbps.
Posso converter FLAC para ALAC sem perder nenhuma qualidade de áudio?
Sim. Ambos os formatos são matematicamente sem perdas. A conversão de FLAC para ALAC preserva os dados bit a bit e não causa perda de qualidade entre gerações.
Por que a Apple criou o ALAC em vez de adotar o FLAC?
Em 2004, a Apple precisava de um codec de áudio que se integrasse diretamente às arquiteturas de hardware QuickTime e iPod e permitisse gerenciar DRM e metadados no contêiner MP4.
Conversões de ALAC relacionadas
Converter arquivos Apple Lossless Audio Codec para FLAC transfere sua coleção de músicas arquivadas de contêineres MP4 exclusivos da Apple para um padrão aberto, compatível com milhares de reprodutores de mídia e dispositivos.
Uma conversão correta entre formatos sem perdas pode preservar as amostras de áudio, mas o resultado depende do conversor.