컨테이너 | 비디오 | 오디오 | |||
무손실 | 음악 | 겸용 | 음성 | ||
Ogg | Theora | FLAC | Vorbis | Opus | Speex |
🎵 오디오 코덱 | |||
{{{#!wiki style="margin: 0 -10px -5px; min-height: 26px" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -6px -1.5px -13px" | <colbgcolor=#555>손실 압축 | <colbgcolor=#555><colcolor=#fff>일반 | MP1 · MP2 · MP3 · mp3PRO · AAC · Musepack · WMA · Vorbis · Opus · USAC |
음성 특화 | AMR-NB · AMR-WB · AMR-WB+ · WMA Voice · Speex · Opus · Codec 2 · EVS · Lyra | ||
다중채널 특화 | AC-3 · SDDS · DTS · AC-4 | ||
블루투스 | SBC · aptX · AAC · LDAC · SSC(Samsung Seamless Codec · Samsung Scalable Codec) · LC3 | ||
무손실 압축 | FLAC · ALAC · APE · TAK · WMA Lossless · TTA · WavPack | ||
무손실 무압축 | PCM (WAV · AIFF) | ||
관련 문서: MIDI · DSD | |||
관련 틀: 그래픽 · 오디오 · 비디오 |
FLAC | |
개발자 | Xiph.Org 재단 |
정식 버전 | 1.4.3 / 2023년 6월 23일 |
플랫폼 | 크로스 플랫폼 |
분류 | 오디오 코덱 |
확장자 | .flac / .ogg[1] / .caf[2] |
인터넷 미디어 타입 | audio/x-flac |
라이선스 | GNU GPL, BSD 사용 허가서 |
링크 | https://xiph.org/flac |
[clearfix]
1. 개요
Free Lossless Audio Codec, 오디오 데이터 압축을 위한 무손실 압축 포맷의 한 가지이다.2. 특징
2.1. 무손실
MP2, MP3, WMA, Vorbis, AAC, Opus 등의 손실 압축 포맷과는 달리 압축 과정에서 오디오 스트림에 손실이 발생하지 않는다. 무손실 압축된 음악파일은 원본(WAV 파일 또는 오디오 CD의 PCM 데이터)에 비해 약 4/5에서 많게는 절반 가까이 용량이 줄어들지만, 소리의 정보는 바뀌거나 없어지지 않는다. 만약 wav에서 flac으로 전환한 파일을 재차 wav로 전환하면 해당 파일은 원본 wav 파일과 1비트도 틀림없이 동일하다. 전환에 사용된 소프트웨어 정보를 태그로써 붙이는 경우 해당 부분은 달라진다. 하지만 이런 경우에도 결과물을 같은 소프트웨어로 재차 변환해보면 완전히 동일한 wav 파일을 얻을 수 있다.또한 압축 과정 중 일부 내용이 손실되었는지의 여부에 상관없이 어쨌든 압축된 파일이므로 RAR이나 ZIP 같은 범용 압축프로그램을 이용해서 재차 압축해도 크기는 거의 줄어들지 않는다. 이것은 DivX AVI, JPG 같은 다른 압축된 매체 파일도 마찬가지이다.
2.2. 높은 호환성
FLAC은 앨범 아트, 태그 등 일상적인 음악 향유에 알맞은 기능을 갖추고 있다. FLAC은 자유 소프트웨어이기 때문에, 누구나 무료로 FLAC을 지원하는 소프트웨어를 개발할 수 있으며, 따라서 현재는 많은 기기 및 소프트웨어가 이를 지원하고 있다. 안드로이드는 허니콤 3.1 이상부터 네이티브 지원을 하고 있으며, iOS의 경우 네이티브 재생은 지원하지 않지만 앱스토어에서 서드파티 앱을 이용하면 재생이 가능하다. iOS 11부터는 내장된 파일 앱을 통해서도 재생은 가능하다.이런 시장 상황으로 인해 Apple Music을 제외한 대부분의 무손실 음원 다운로드 서비스를 지원하는 음원 사이트들이 FLAC 파일 형태로 다운로드 시스템을 구성하고 있어 사실상 무손실 음원의 표준으로 취급된다.
2.3. 압축 레벨
파일의 용량을 결정하는 압축 레벨은 Level 0~8로 나뉘고 기본값은 Level 5이며 숫자가 클수록 압축률이 높아지고 인코딩 시간이 길어진다. 기본값인 Level 5 이상부터는 용량에 차이가 거의 없어진다. 흔히 알려진 바와는 달리 압축 레벨은 실제론 디코딩 속도에는 영향이 없기 때문에 특별한 경우가 아니라면 Level 8로 압축하는 것이 좋다.FFmpeg에서는 12까지 옵션이 있다. #
2.4. 확장자
일반적으로 파일의 확장자로 *.flac을 사용한다. *.fla도 가능하긴 하지만, 어도비 플래시의 원본 작업 파일, 즉 *.swf로 컴파일하기 전의 원본과 확장자가 겹쳐서 *.fla 확장자로는 잘 내지 않는다. Xiph.Org에서 개발하고 있는지라 *.ogg 확장자를 사용할 수도 있으며, 애플 기기에서는 *.caf 확장자를 사용할 수도 있다. mkv 컨테이너는 물론이고 mp4 컨테이너에도 flac 오디오를 넣을 수 있다.2.5. 버전
최신 버전은 2023년 6월 23일자로 배포된 FLAC 1.4.3으로 공식 Windows 빌드도 배포한다. 2007년에 배포된 FLAC 1.2.1 이후 버전들은 소스 코드로만 공개되었기 때문에 여전히 상당수의 소프트웨어에서는 범용성이 높은 FLAC 1.2.1 버전이 사용되는 실정이었지만, 요즈음의 윈도우용 최신 프로그램들은 최신 버전을 채용하는 추세이다. 대표적으로 EAC1.2.1 버전 이후로도 소소한 발전을 거듭해 왔다. 1.3.0 버전에서는 압축률이 조금 더 올라가고 Wave64 및 192kHz 개선 등이 이루어졌다. 1.3.1 버전에서는 i386 또는 x86_64 CPU에서 24bit 인코딩 시 250% 정도 속도가 향상되었고, 압축 레벨 6, 7, 8에서 압축률이 약간 개선되었으며, Windows에서 I/O 버퍼링을 개선해 디스크 조각을 줄일 수 있게 되었다고 한다. 자세한 사항은 공식 홈페이지에서 확인 가능하다. #
2.6. 용량 감축
별개로 손실 포맷의 일종인 lossyWAV와 결합하면 약 400 kbps 이하로 상당히 용량을 줄일 수 있다. lossyWAV는 노이즈를 섞어 무손실 압축의 효율을 높여 준다고 하며, 음역의 손실은 없다. # 플레이어가 FLAC을 지원하고 배터리 수명을 아끼고 싶은 사람들에게는 MP3 대신 사용하는 것도 고려해볼 만하다.다만 이것의 문제는, 어쨌든 원본 데이터에 손을 대기 때문에 무손실은 아니라는 것이며, 이렇게 압축된 무손실 음원은 포맷 자체는 무손실이지만 진짜 원본으로의 복원이 불가능하므로 결국은 손실 압축된 음원이라는 것이다. 대신에 용량이 줄어드는 효과를 얻는데, 무손실 음원을 제공하는 사이트 측에 의해 악용될 가능성이 있다.
2.7. 32비트 샘플링
원래 FLAC은 32비트를 지원하지 않았고, 공식적으로 지원할 계획 역시 없었다. 하지만 인간은 대체로 120dB, 최대 130dB 이상의 사운드를 소리로 인식하기 힘들기 때문에 이론상 144.49dB의 SNR을 표현할 수 있는 24비트로도 가청 영역은 모두 커버할 수 있고 실제로 음원 마스터링 시에도 120dB 이상의 사운드를 취입하는 경우가 극히 드물기 때문에 원음 재생에 큰 문제는 없긴 하다.이후 2022년 9월 9일에 출시한 1.4.0 버전부터 32비트를 지원하기 시작했다. 아직까지는 정수 샘플링만 지원하며, 부동소수점 샘플링은 지원하지 않는다. 압축율이 32비트 압축을 지원하는 APE,ALAC,WAVEPACK마져 능가하는 역대급 압축율을 보여준다.
문제는 평소의 방침으로 적용된 디코더가 문제인데 이로 인해 구형 내장 음악 앱의 FLAC 디코더에서는 32비트 디코딩을 지원하지 않아 재생하지 못하는 문제가 있다. 그래서 이걸 제대로 사용하려면 이것을 지원하는 외부 음악 앱을 사용해야 하는 단점이 있다. 즉 하드웨어적으로 32비트를 지원해도 앱이 지원하지 않으면 사용하기 어렵다는 것이다. 특히 이제는 업데이트가 끊긴 구형 LG V 시리즈등의 스마트폰에서 문제가 되고 있다.
더 큰 문제는 외부 앱들에서도 이런 32비트 음원 디코딩을 제대로 지원하는게 없어서 만약 재생시 아무런 반응을 하지 않는다면 호환되지 않는 것이기에 다른 음원으로 압축하는 것이 좋다.
3. 다른 포맷과의 비교
3.1. 압축률
(무손실 코덱 간 비교표)FLAC 형식의 압축은 APE(Monkey's Audio), ALAC(Apple Lossless Audio Codec)[3], WV(WavPack. 손실압축도 지원.), Lossless WMA(Windows Media Audio. 역시 손실압축도 지원.) 등의 다른 무손실 압축에 비해 압축률은 다소 낮다. 일반 압축형식과 마찬가지로 각 포맷마다 나름의 압축률 옵션이 존재하는데, 대략의 정도로 비교했을 때 FLAC의 최고압축률과 APE(압축률이 가장 높은 포맷)의 보통압축률의 결과가 거의 같다. 그러나 그 차이 이상으로 디코딩에 필요한 프로세싱 자원이 적게 필요하다. 음악 파일을 변환하는 프로그램이 있다면 직접 시험해보도록 하자. APE나 WV에 비해 두 배 정도 빠른 속도로 변환된다. MP3보다도 CPU 연산을 적게 소모하는데, 포터블 장치에서는 상당한 이점이다.#
즉, CPU의 연산능력과 전력 공급능력이 일반적인 데스크탑이나 노트북 컴퓨터와 견줄 수 없을만치 열악한 휴대용 MP3 플레이어로도 비교적 수월하게, 랙이나 배터리 고갈의 부담을 상대적으로 적게 받으면서 들을 수 있게 된다는 뜻이다. 그리고 이때 불리한 부분은 오로지 파일의 크기 뿐인데, 4분짜리 노래 한 곡을 비슷한 수준의 압축률로 압축했을 경우 그 차이는 1메가 정도밖에 되지 않고 1시간짜리 앨범으로 비교해도 20메가가 채 되지 않는다. 이마저도 저장 매체 기술의 발전으로 용량 문제는 자연스럽게 해결되었다. 게다가 오픈소스이기에 별도의 로열티를 지불하지 않아도 된다는 장점까지 더해져서 이것을 지원하는 휴대기기도 굉장히 많이 보급되었다. CPU 성능의 전반적인 향상으로 최근에는 다른 무손실 포맷도 지원하는 기기가 늘어나고 있지만 아직 차이가 크다. 덕분에 한국과 해외를 막론하고 토렌트나 웹하드 등의 P2P를 통해 불법으로 공유되는 무손실 압축 음악의 약 70%가 FLAC 형식이다. 또한 블루레이 립에서 자주 볼 수 있는 음성 코덱이기도 하다. 돌비 디지털 이전 모노/스테레오로 녹음된 고전 영화나, 영화에 비해 예산이 비교적 적게 투입 되는 일본 애니메이션들에서 이런 립들을 많이 찾아볼 수 있다. 이런 고전 영화나 일본 애니메이션 블루레이에는 음성 데이터로 AC3나 DTS보단 LPCM을 그대로 사용 하는 경우가 많고, 이를 mp4나 mkv와 같은 포맷에 담을 때 AAC 또는 FLAC로 인코딩하는 경우가 많기 때문이다.
버전 1.4.0 부터는 24~32비트 음원의 압축율이 역대급으로 올라갔는데 특히 48,96,192kHz의 샘플링때 압축율이 엄청나게 높아졌다.TTA, 심지어 APE 보다 높아졌고 가장 높은 압축율을 자랑하는 WavPack을 위협할 정도가 되었다. 음원 총 용량 500기가 기준으로 1.3.x대로 최고 압축과 비교해서 1.4.x는 10~20기가 더 압축하는 놀라운 결과를 보여준다.
3.2. 용량 제약이 없는 단일 파일 크기
FLAC은 소니의 Wave64 컨테이너를 지원한다. 따라서 반무제한적인 용량의 오디오 스트림을 사용할 수 있다.기존의 RIFF 방식을 기반으로 하는 WAV 파일은 헤더 비트 수 제한에 의해 WAV 파일 하나에 4GB의 용량 제한이 존재한다. 32비트 부동소수점 샘플링으로 작업하게 된다면 48000Hz 5.1채널 기준 1시간 분량만으로 4GB를 초과하게 된다. 이를 개선시켜서 등장한 것이 RF64와 Wave64 방식의 오디오 코딩 방식이다.
예를 들면, Adobe Premiere Pro에서는 오디오를 RIFF 방식으로 프로세싱을 거치기 때문에 오디오 스트림의 용량이 4GB가 넘어가면 오디오 렌더링과 출력에서 오류가 발생한다. 반면 Wave64 컨테이너를 사용하는 베가스 프로에서는 그러한 용량 제약이 없는 오디오 편집이 가능하다.
기존의 RIFF 방식으로 코딩된 WAV 파일에서는 4GB 이상의 용량을 가지는 단일 오디오 스트림을 처리할 수 없지만 FLAC 코덱에서는 Wave64로 인코딩하므로 용량에 구애받지 않고 작업이 가능하다. WAV 컨테이너도 RF64 및 Wave64 코딩을 사용하는 경우라면 4GB 제한에서 벗어날 수 있다.
이것은 기존의 RIFF 포맷에서는 헤더의 용량이 32비트이기 때문에 232 바이트(4,294,967,296B, 4GiB)까지의 오디오 스트림을 다룰 수 있었지만 FLAC이 지원하는 Wave64 코딩으로는 헤더의 용량이 64비트이기 때문에 264 바이트(18,446,744,073,709,551,616B, 16EiB)까지의 오디오 스트림을 다룰 수 있게 되었기 때문이다. 따라서 사실상 무제한[4] 길이의 오디오 스트림을 취급할 수 있다.
4. 스트리밍 서비스
현재는 FLAC 포맷이 실시간 음원 서비스에서도 제공되고 있다. KT의 지니뮤직을 시작으로 멜론과 벅스에서도 이용이 가능한데, "전용 요금제"가 필요하다.[5][6] 다시 말해, 일반 무제한 스트리밍 서비스를 구독하고 있더라도 FLAC 음원을 들을 수 없다는 의미. 멜론과 벅스는 Hi-Fi 스트리밍 클럽과 프리미엄 듣기라는 이름으로 12,000원으로 제공되고 있고, 지니에서는 프리미어 음악감상으로 2,000원 더 비싼 14,000원에 제공되는 대신 24bit도 제공한다. 당연하지만 일반 스트리밍과 달리 그 어떤 제휴 할인도 없다.해외의 타이달과 코부즈에선 기본적으로 FLAC 포멧을 쓴다.
5. 기타
현재는 지원하는 기기도 늘고 벅스, 지니뮤직, 엠넷닷컴, 아마존 뮤직, 멜론 같은 음원 제공 사이트에서 정식으로 판매까지 하는 등 상당히 보급이 많이 되었지만, 7zip 파일이 처음 보는 사람을 벙찌게 하였듯 FLAC도 흔한 포맷이 아니었기 때문에 FLAC을 지원하지 않는 플레이어/휴대기기를 사용하는 사람들에겐 까였다. PC용 플레이어라면 지원하는 S/W로 바꾸면 된다지만 휴대기기는 그게 안되었다. 이미 어둠의 경로에서 FLAC이 BDRip 영상의 표준 오디오 코덱으로 정착한 것을 보면 [7] 실질적으로 이용자들에게 받아들여진 포맷이라고 봐야 할 것이다.이 포맷을 지원 안하는 대표적인 휴대기기로는 애플에서 나오는 각종 기기들이 있었다. 애플은 자사 개발 오픈소스 무손실 압축 포맷인 ALAC이 있어서 iTunes부터 FLAC 재생을 지원하지 않았던 데다 아이팟, 아이폰도 공식적으로는 FLAC를 지원하지 않았다. 아이팟 터치나 아이폰의 경우 FLAC를 지원하는 서드파티 앱을 설치하면 되지만 앱 사용이 불가능한 아이팟 등의 기기에서는 방법이 없었다. 아니면 Xrecode(윈도우용)나 XLD(맥용), foobar2000[8] 같은 소프트웨어를 이용해 FLAC를 ALAC로 변환해주면 iTunes에 집어넣을 수 있다. WWDC 2017에서 공개한 iOS 11부터 파일 앱에서 FLAC과 Opus 재생을 지원하게 되었고, 이에 따라 점차 iTunes 등에도 FLAC을 진행하기 시작하는 것이 아니냐는 의견이 나오고 있다. 파일 앱 한정이라고 해도 iOS 11 내부에 FLAC 라이브러리가 탑재되었다는 것이기 때문이다. 그래도 애플 기기에서는 그냥 ALAC 쓰는 게 제일 쉽고 간편하다.
황금귀 떡밥으로 키배가 벌어지면 십중팔구 거론되곤 한다. 손실 압축 포맷보다 음질이 우월하다는 주장[9]은 그나마 실제 파일의 차이가 있으니 양반이다. 조금 더 부연 설명을 하자면 독일의 음질 구분 대회에서 세계의 음향 애호가들이 와서 17가지의 곡을 3가지 포맷으로 나누어 음질을 들려줬는데, 반타작한 사람이 1등을 했다. 이 1등한 사람이 폭발 사고로 인해 8kHz밖에 못 듣는다고 한다. 그나마 구분한 것들도 128 kbps이고 256 kbps와 FLAC 차이는 실험에서 드러나듯 나타나지 않았다. 그러나 이게 끝이 아니다. 자칭 황금귀라는 작자들은 비압축 포맷인 WAV에 비해 FLAC은 움츠러들고 답답한 음질이라고 주장하고 있으나 어디까지나 착각일 뿐이다. 이들은 심지어 같은 비압축 포맷인 PCM WAV와 Aiff의 음질 차이를 구별할 수 있다고 주장하기까지 한다. 그것을 정말로 자신이 느꼈다면 그건 99% 자신의 리시버가 구린 것이다. 애초에 FLAC ↔ WAV 전환을 수십 수백번 반복하더라도 결과로 나온 WAV 파일의 해시값은 항상 일치한다. 일반 압축 프로그램으로 바이너리 파일을 압축하거나 해제하는 것과 큰 차이가 없다는 말이다. 만약 FLAC로 변환된 파일의 음질이 PCM WAV보다 안 좋아졌다면 그것은 인코딩 단계에서 문제가 생겼거나 디코더가 압축 해제 속도를 못 따라가는 등 변환 과정에서 무언가 오류가 발생했을 때 뿐이다. 현세대의 많은 기기들이 FLAC급은 물론이고 OGG 디코딩도 쉽게 한다는 것을 생각한다면 버퍼 언더런 현상은 웬만해서는 잘 일어나지 않는다. 어떤 경우에는 CD와 최대한 비슷하게 했을 뿐 결국 압축이어서 손실이 된다는 이상한 소리를 하는 경우도 있다. FLAC는 음질 저하에 영향 주는 요소가 없다.
Windows Media Player는 Windows 8.1까지는 기본적으로 FLAC을 지원하지 않았다. 아예 인지조차 하지 못하는데 WMP 상에서 파일 열기를 통해 파일을 선택하면 지원하지는 않으나 재생은 가능하며 신뢰할 수 있을 경우에만 재생하라는 식의 경고 메시지가 나오고 파일 추가는 된다. 다만 코덱이 필요해서 그대로 재생할 수는 없으므로 만약 코덱 오류가 뜨면 여기서 코덱을 내려받아 설치하면 WMP 상에서 재생이 된다. 이 코덱은 FLAC 뿐만 아니라 Vorbis, Speex, Theora, WebM 형식의 파일도 지원한다. 단, 이후에도 WMP를 통해 재생되게 하려면 확장자 연결을 해주어야 한다.
Windows 10에서는 FLAC 코덱이 기본 내장되어 있어 코덱 설치 없이 자체 앱 Groove 음악을 통해 바로 재생된다. Windows Media Player로도 재생 가능하다. 대신 앨범 커버사진을 바꿀 수 없다.
2017년부터 파이어폭스와 Google Chrome, Microsoft Edge에서 FLAC 오디오를 지원한다. BBC에서 2017년 4월에 BBC Radio 3 채널을 FLAC 코덱을 사용하여 한달 동안 무손실 시험 방송을 진행했다.
음악 파일 기준으로 삼성 TV는 AAC, Vorbis, WMA와 함께 2012년 기종부터, LG TV는 2017년 기종부터 지원하고 있다. 물론 USB 포트에 꽂은 경우만 해당된다.
foobar2000의 인코더 팩에도 최신 버전의 Windows 빌드를 사용할 수 있다.
6. 사양
- 샘플당 비트 수: 4, 8, 16, 20, 24, 32[10]비트
- 샘플 레이트: 1~655350 Hz (0.001~655.35 kHz)
- 채널: 1~8채널
- 프리셋: 9개(0~8, flac.exe)/13개(0~12, FFmpeg)
[1] 애플 기기에서 미지원[2] Core Audio Format. 애플 기기 전용[3] FLAC 최고 압축률로 압축했을 때와 ALAC 최고 압축률로 압축했을 때를 비교해 보면 FLAC이 ALAC에 비해 뒤지지 않는다. 경우에 따라 FLAC이 ALAC보다 더 나은 압축률을 보이기도 한다. 애초에 구조적으로도 상당히 유사하기도 하다.[4] 24비트 192khz 5.1채널 기준 25만년 이상.[5] 단, 벅스는 일부 발매/유통사 등에서 요청된 FLAC 음원에 한해 전용 요금제가 필요하다. 그 외 FLAC 음원은 일반 듣기 요금제로도 가능하다.[6] 지니뮤직도 16bit FLAC를 일반 듣기 요금제로 이용이 가능했으나 4.6.7 업데이트 이후 24bit FLAC가 출시됨과 동시에 16bit마저 전용 요금제를 가입해야 이용할 수 있게 되었다.[7] 특히 다채널 음향 이전, 스테레오/모노 녹음 영화들 블루레이 립은 AAC와 함께 양분하고 있다. 이런 영화들은 당시 녹음 기술 한계상 기본 오디오 자체가 FLAC 16비트 스테레오로도 충분히 커버가 가능해 소장용 BDRip은 대체로 FLAC이 압도적이다.[8] 원래는 재생 프로그램이지만 Convert 기능이 있고 ALAC 변환을 지원한다.[9] 무손실 압축 코덱의 의의는 음질이 아니라 음원의 유통 과정에서 무결성을 검증하기가 수월하다는 점, 그리고 반복된 재인코딩으로 인한 디지털 열화 방지에 있다.[10] 1.4.0 버전 이상, 부동소수점(Float) 샘플링 미지원