{{위키데이터 속성 추적}}
{{파일 포맷 정보
| 그림 =Flac logo vector.svg
| 그림설명=The Free Lossless Audio Codec (FLAC) 로고
| 이름 = Free Lossless Audio Codec
| 확장자 = .flac
| 매직 = 
| MIME = audio/x-flac<ref>Registration being sought as <code>audio/flac</code></ref>
| 개발 =
| 종류 = 오디오
}}

{{소프트웨어 정보
|이름      = Free Lossless Audio Codec
|로고      = 
|화면      = Flac windows output.png
|설명      = 
|원저자    = 
|개발자    = [[Xiph.Org 재단]]
|발표일    = 
|최근 버전 = {{wikidata|property|reference|P348}}
|최근 버전 출시일     = {{wikidata|qualifier|P348|P577}} ({{Time ago| {{wikidata|qualifier|raw|P348|P577}} }})
|미리보기 버전        = 
|미리보기 버전 출시일 = 
|프로그래밍 언어      = 
|운영체제  = [[크로스 플랫폼]]
|언어      = 
| 플랫폼      = 
|종류      = [[오디오 코덱]], [[오디오 파일 포맷]]
|라이선스  = [[GNU 일반 공중 사용 허가서]]<br /> [[BSD 사용 허가서]] ([[Xiph.Org 재단|Xiph.Org]] 부분)
|웹사이트  = https://xiph.org/flac
}}
'''FLAC'''(Free Lossless Audio Codec, {{IPAc-en|ˈ|f|l|æ|k}})은 [[오디오 데이터 압축]]을 위한 [[파일 형식]]이다. [[무손실 압축]] 포맷이다. 다시 말해서, [[MP3]], [[고급 오디오 부호화|AAC]], [[Vorbis]]와는 달리 오디오 스트림에 손실이 발생하지 않는다.

다른 압축 방법들과 마찬가지로, FLAC의 장점은 전송율·대역폭·저장공간 등을 절약할 수 있다는 점인데, FLAC은 오디오 소스를 온전한 모습으로 보전해준다. 예를 들어, 디지털 레코딩([[콤팩트 디스크]])을 FLAC으로 인코드하였다가 디코드하면 정확히 똑같은 오디오 데이터를 얻을 수 있다. 보통, FLAC으로 압축하면 원래 크기의 40-50%로 줄어든다. (FLAC 개발자들은 약 47%이라고 주장)<ref>{{웹 인용 |url=http://flac.sourceforge.net/comparison.html |제목=FLAC - comparison |확인날짜=2008-01-27}}</ref>

FLAC는 태깅(tagging), 앨범 아트, 빠른 건너뛰기(fast seeking)을 지원하기 때문에, 일상적인 음악 재생과 보관에 알맞다. FLAC은 [[자유 소프트웨어]]이자 동시에 [[오픈 소스 소프트웨어]], 로열티 없는 소프트웨어이기 때문에, 많은 응용 소프트웨어가 FLAC을 지원하고 있다. 휴대용 음악 기기나 MP3 플레이어, 고급 오디오 시스템에서의 FLAC 지원은 얼마전까지만 해도 미미했으나 MP3 플레이어 등 휴대용 기기 한정으로 2013년 기준으로 상당수 기종에서 이 포맷을 지원한다. .<ref name="hardware1">[http://flac.sourceforge.net/links.html#hardware FLAC 웹사이트]</ref> Apple iOS11에 새로 추가된 '파일'앱의 일부로 flac 재생 기능이 추가되었다.<ref>{{뉴스 인용|url=https://www.theverge.com/2017/6/6/15747518/apple-flac-lossless-audio-compressed-alac-ios-11|제목=Apple reportedly adds support for FLAC lossless audio in iOS 11|뉴스=The Verge|확인날짜=2017-11-30}}</ref>

조시 콜슨(Josh Coalson)이 FLAC의 주요 개발자이다.

[[2003년]] [[1월 29일]], 자이포포러스 (현 [[Xiph.Org 재단]]. 자유 코덱, 자유 포맷 등을 개발하는 단체이다.) [[Vorbis]], [[Theora]], [[Speex]] 및 기타 등등과 마찬가지로, 그들의 목록에 FLAC도 편입한다고 발표하였다.<ref>{{웹 인용
| url = http://xiph.org/press/2003/flac/
| 제목 = 2003년 1월 29일: FLAC Joins Xiph.Org
| 확인날짜 = 2008-02-09
}}</ref>

== FLAC 프로젝트 ==
FLAC 프로젝트는 다음과 같은 것을 포함한다.
* 스트림 포맷.
* 스트림을 위한 단순한 [[콘테이너 포맷]]. 단순히 FLAC이라고 불린다. (혹은 Native FLAC이라고 불린다.)
* libFLAC, 인코더와 디코더를 위한 레퍼런스 라이브러리. 메타데이터 인터페이스 포함.
* libFLAC++, libFLAC의 "객체 지향" 래퍼(wrapper).
* flac, libFLAC에 대한 명령행(command-line) 래퍼(wrapper). 또한 FLAC 스트림을 디코드할 수 있다.
* metaflac, 명령행(command-line) 메타데이터 편집기. .flac 파일을 편집할 수 있다. [[리플레이 게인]](Replay Gain)을 적용시킬 수도 있다.
* 여러 음악 재생기에 대한 입력 플러그인(input plugins) ([[AIMP]], [[윈앰프]], [[XMMS]], [[foobar2000]], [[musikCube]] 등등 )
* Xiph.org에 편입된 후, [[Ogg]] 콘테이너 포맷. 스트리밍에 알맞음. (다른 말로 Ogg FLAC)

"자유"란 말은 스트림 포맷 제작자의 허락 없이 누구나 그 포맷을 구현할 수 있다는 말이자, (Xiph.org가 FLAC 스펙의 권리를 보유하고 있다. 또한 호환성을 인증할 권리를 보유하고 있다.) 어떤 특허도 FLAC 포맷 및 인코드/디코드 방법을 커버하고 있지 않다는 말이다. 또한, 레퍼런스 구현이 [[자유 소프트웨어]]이라는 뜻도 된다. libFLAC 및 libFLAC++의 소스는 Xiph.org의 [[BSD 사용 허가서]] 하에서 배포된다. flac, metaflac 및 플러그인의 소스는 [[GNU 일반 공중 사용 허가서]] 하에서 배포된다.

프로젝트 목적에 대한 글에서 언급되었는 바, FLAC 프로젝트 내에서는 개발자들이 복사 방지 기능을 구현해 넣지 않는 것을 장려하고 있다.<ref name="">[http://flac.sourceforge.net/developers.html FLAC Website]</ref>

== 비교 ==
FLAC은 오디오 데이터의 효율적인 압축을 위해 특수하게 설계되었다. 일반적인 무손실 압축 방식인 [[ZIP 파일 포맷|ZIP]] 및 [[gzip]]과는 다르다. CD 품질의 오디오에 대하여, ZIP은 10 - 20%의 압축률을 보여주나, FLAC은 대개 30 - 50% 압축률을 보여준다. 보통의 음악에 경우 그러한데, 목소리 녹음의 경우에는 압축률이 더 올라간다. 비트 레이트는 약 700 - 950 kbit/s이다.

손실 압축 코덱(Lossy codecs)은 80% 이상의 압축률을 보여준다. 원본 스트림의 데이터를 까먹기 때문이다. FLAC은 [[선형 예측]] 방법을 사용하는데, 오디오 샘플을 작고, 상관 관계가 없는 값들 (나머지라 부른다)의 수열로 변환한다. 이 수열은 [[골롬 코딩|골롬-라이스 코딩]] (Golomb-Rice coding)을 사용하여 효율적으로 저장될 수 있다. 또한 FLAC은 소리 없는 구간 등 동일한 샘플의 블록들에 대해 [[반복 길이 부호화]]를 사용한다. 다른 무손실 압축 코덱과 비교하면, FLAC은 스트림 가능한 것이 특징이다. 또한 FLAC의 디코딩 시간은 비교적 빠른 축에 속하는데, 이것은 압축 레벨과 관계없다.

다른 무손실 압축 방식과 마찬가지로, FLAC은 [[콤팩트 디스크]] 등의 미디어 소유자가 소장하고 있는 오디오 작품을 장기간 보존하는 데 있어서, 매우 널리 쓰이는 포맷이다. 원본 미디어는 세월이 지나, 분실, 손상 등이 될 수 있지만, FLAC으로 복제된 오디오는 언제든 정확히 원본 미디어의 오디오 데이터와 동일하게 복구될 수 있다. MP3과 같은 손실 있는 코덱으로 압축된 데이터는 원본 미디어의 오디오 데이터와 동일하게 복구될 수 없다. CD를 [[리핑]]할 때 선택적으로 [[큐 시트 (음악 소프트웨어]](.CUE 파일)을 생성할 수 있다. CD를 FLAC으로 완전히 리핑해두었다가, 훗날 이 CUE 파일의 도움을 받아 정확히 동일한 CD를 구워낼 수 있다. 트랙 순서, [[프리갭]], [[CD-Text]] 등을 정확하게 복원할 수 있다. 하지만 일부 오디오 CD에 들어 있는 가사, [[CD+G]] 그래픽스 등은 CUE 파일 및 대부분의 CD 리핑 애플리케이션의 범위 밖이며, 정확히 원본대로 복원시킬 수 없다.

[[유럽 방송 연합]] (EBU)은 유로라디오(Euroradio) 네트웍에서 고품질의 오디오를 배포하는 데 FLAC 포맷을 사용하기로 하였다.

하이드로젠오디오 위키(Hydrogenaudio Wiki)에 무손실 코덱간 비교표<ref>{{웹 인용 |url=http://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison |제목=Lossless comparison - Hydrogenaudio Knowledgebase |확인날짜=2008-01-27}}</ref> 가 있다.

== 기술적 상세 ==
FLAC은 [[부동 소수점|부동소수점]]을 지원하는 것이 아니라 오직 [[고정 소수점]]만 지원한다. 4내지 32 [[비트 (단위)|비트]] 샘플 크기를 지닌 [[PCM]]을 처리할 수 있으며, 샘플링 레이트는 1 [[헤르츠]] 내지 1,048,570 Hz까지 1&nbsp;Hz 단위로 처리할 수 있으며, 1 내지 8 채널을 처리할 수 있다. 채널은 [[스테레오]]나 5.1 채널 [[서라운드 사운드]]처럼 묶일 수 있는데, 채널간 상관 관계(correlation)을 이용하여 압축률을 높일 수 있다. 스트리밍 프로토콜에서 사용될 경우, FLAC은 [[순환 중복 검사|CRC]] 첵섬을 사용하여, 잘못된 프레임을 골라낸다. 또한 그것의 STREAMINFO 메타데이터 헤더 내에 "본디 PCM"의 완전한 [[MD5]] 해시값도 갖고 있다.

FLAC의 라이스 파라미터(Rice parameter)는 0-16이다. 최대 8 채널의 오디오, 최대 192kHz까지의 다양한 샘플링 레이트, 다양한 비트-퍼-샘플 너비를 지원한다. FLAC은 또한 [[리플레이 게인]]을 지원한다.

FLAC은 libFLAC 코어 인코더 & 디코더 라이브러리로서 구현되었다. libFLAC API을 사용하는 레퍼런스 프로그램으로서 ''flac''이라는 프로그램이 같이 들어있다. 이 [[코덱]] API는 libFLAC++이라는 이름으로 C++ 버전으로서 존재한다.

FLAC의 레퍼런스 구현은 수많은 플랫폼 상에서 컴파일된다. 대부분의 [[유닉스]] ([[솔라리스 (운영 체제)|솔라리스]] 등), [[유닉스 계통]] ([[리눅스]], [[OS X]], [[BSD]] 포함), [[마이크로소프트 윈도우]], [[BeOS]], [[OS/2]] 운영 체제에서 빌드된다. [[Autoconf]]/ [[Automake]], [[MSVC]], [[Watcom|Watcom C]], [[Xcode]] 등을 위한 빌드 시스템이 갖추어져 있다.

태깅(tagging) 기능을 위해, FLAC은 [[보비스 코멘트]]와 똑같은 시스템을 사용한다.<ref>{{웹 인용 |url=http://flac.sourceforge.net/faq.html#general__tagging |제목=FLAC - faq |확인날짜=2008-01-27}}</ref>

== API 구성 ==
libFLAC API는 기본 FLAC 비트스트림(bitstream)을 더 추상화한 것으로서, 스트림(stream), 건너뛰기 가능한 스트림(seekable stream), 파일(file)로 구성된다. 대부분의 FLAC 애플리케이션은 libFLAC을 이용하되 파일 레벨 인터페이스를 이용한다.

== FLAC을 지원하는 소프트웨어 ==
=== 인코딩 ===

* [[크로스 플랫폼]]
** [[카카오인코더]]<ref>[http://www.cacaotools.com/cacaoencoder]</ref>
** [[FFmpeg]]
** [[Flake]]<ref>[http://flake-enc.sourceforge.net/ Flake]</ref>
** [[Audacity|Audacity 1.3.3 Beta]] 네이티브 FLAC 지원 기능이 막 포함되었다.
** [[VLC 미디어 플레이어]] 0.8.6a
** [[Juce]]
** [[aTunes]]
* [[마이크로소프트 윈도우]]
** [[AIMP]]
** [[Ease Audio Converter]]
** [[Easy Media Creator]]
** [[Easy CD-DA Extractor]]
** [[Nero Burning ROM]]. 선택적인 외부 필터 플러그-인 사용.
** [[DBpoweramp|dBpoweramp Music Converter]]. 공식 코덱(official codec) 사용.
** [[MediaMonkey]]
** [[윈앰프]]. 네이티브 FLAC 지원 기능이 막 포함되었다.
** [[JetAudio]]
** [[foobar2000]] - 공식 외부 인코더(official external encoder) 사용.
** [http://www.kanssoftware.com/ Sound Normalizer]
** [[MP3 Stream Editor]] - 공식 외부 인코더 사용.
** [[Omni Encoder]] - 공식 외부 인코더 사용.
** [[Burrrn]]
** [[Flac Frontend]]
** [[Total Audio Converter]]
** [[Yahoo! Music Jukebox]]
* [[macOS]]
** [[Toast (software)|Toast]] 타이태니엄. 버전 7부터 지원.
** [[xACT (X Audio Compression Toolkit)|xACT]] - 마이크로소프트의 XACT 오디오 프로그래밍 라이브러리와 혼동하지 말 것.
** [[Max (ripping software)|Max]]

=== 디코딩 ===

* [[크로스 플랫폼]]
** [[FFmpeg]]
** [[aTunes]]
** [[Audacity|Audacity 1.3.3 Beta]] [[Audacity]]
** [[JUCE]] (크로스-플랫폼 C++ 툴킷. FLAC 지원 자체 내장.)
** [[린 프로덕츠|린]] 디지털 스트림 플레이어즈
** [[엠플레이어]]
** [[송버드 (소프트웨어)|송버드]]
** [[Squeezebox (network music player)|Squeezebox]]
** [[The Core Pocket Media Player]] - flac 플러그인 사용.
** [[VLC 미디어 플레이어]]
** [[Total Audio Converter]]
* [[macOS]]
** macOS 내장 기본 Quicktime Player (macOS 10.13 이상)
** [http://cogx.org/ Cog]: 오픈 소스
** [[xACT (X Audio Compression Toolkit)|xACT]] - 마이크로소프트의 XACT 오디오 프로그래밍 라이브러리와 혼동하지 말 것.
** [http://coppertino.com/ VOX]: 무료 앱. 이 밖에 다양한 [[오디오 데이터 압축]] [[파일 형식]]도 지원한다.
* [[마이크로소프트 윈도우]]
** 기본 Windows Media Player (윈도우10 이상)
** [[이스트소프트]] - [[알송]]
** [[곰앤컴퍼니]] - [[곰오디오]]
** [[AIMP]]
** [[Ease Audio Converter]]
** [[foobar2000]]
** [https://web.archive.org/web/20180522115959/http://www.cirlinca.com/ Cirlinca DVD-AUDIO Solo] - FLAC을 가져와 DVD-오디오 디스크를 구울 수 있다.
** [[JetAudio]]
** [[KSP Sound Player]] - 일반 설치 내용이 포함하고 있는 플러그인 사용.
** [[MediaMonkey]]
** [[Mixmeister Fusion]]
** [[MP3 Stream Editor]] - 일반 설치 내용이 포함하고 있는 플러그인 사용.
** 콕코스 [[REAPER]] 멀티트랙 레코더 및 에디터
** [[Quintessential Player]] - flac 플러그인 사용.
** [[The KMPlayer]]
** [[Traktor DJ Studio|TRAKTOR 3]]
** [[Traktor DJ Studio|TRAKTOR Scratch]]
** [[윈앰프]]
** [[XMPlay]]
** [[FairStars Audio Converter]]
* [[리눅스]]
** [[Audacious Media Player|Audacious]]
** [[Banshee (music player)]]
** [[Baudline]]
** [[cmus]]
** [[MPD (Music Player)|mpd]]
** [[ogg123]] (단, flac을 사용하도록 컴파일 되었다면. ogg123은 'vorbis-tools' 패키지의 일부이다.)
** [[Xine]]
** [[XMMS]]
** [[그놈]]
*** [[그놈베이커]]
*** [[리듬박스]]
*** [[토템 (미디어 플레이어)|토템 무비 플레이어]]
*** [[Serpentine (software)|Serpentine]]
** [[KDE]]
*** [[아마록]]
*** [https://web.archive.org/web/20151018013323/http://kde-apps.org/content/show.php?content=12608%2F Audiokonverter] (콘텍스트 메뉴 팝-업으로부터)

* 모바일
** iOS: iOS11 이상, 아이폰7 이상
** 안드로이드

=== 리핑 ===

* [[크로스 플랫폼]]
** [[aTunes]]
* 윈도
** [[BonkEnc]] - FLAC.dll API 사용.
** [[CD to MP3 Maker]]
** [[CDex]] - 외부 인코더 사용 옵션. (flac이 설치되어 있다면, 이제, "flac.dll"을 인코더 옵션으로 나열해줌.)
** [[DBpoweramp]]
** [[Easy CD-DA Extractor]]
** [[이그잭트 오디오 카피]] - 외부 인코더 사용.
** [[Foobar2000]] - 컨버터 플러그인과 외부 인코더 사용.
** [[AIMP]] - 플러그인 및 내장 인코더 사용.
** [[MediaMonkey]]
** [[MP3 스트림 에디터]] - 공식 외부 인코더 사용 (싱글 모드/앨범 모드/풀 앨범 아트 지원)
** [[젯오디오]]
** [[윈앰프]]
** [[PlexTools]]
** [[Yahoo! Music Jukebox]]
* OS X
** [[Max (ripping software)|Max]] ([[맥 오에스 10.4]] 혹은 그 이상)
* 리눅스
** [[ABCDE]]
** [[Banshee (music player)]]
** [[Cdda2wav]]
** [[Cdparanoia]]
** [[Mencoder]]
** [https://web.archive.org/web/20080226040110/http://www.suwald.com/ripit/ripit.html RipIt] (명령줄 툴)
** GNOME
*** [[Grip audio ripper|Grip]]
*** [[RipOff]]
*** [[Sound Juicer]]
** KDE
*** [[K3b]]
*** [[KAudioCreator]]
*** [[Konqueror]]

== 하드웨어 ==
* 마이크로소프트 [[엑스박스]] - 단, 서드 파티 [[Xbox Media Center]]를 구동해야 함.
* [[아이팟]] - 비디오, 나노, 포토, 컬러, 미니 (2세대). 단, 서드 파티 [[락박스]] 펌웨어를 사용해야 함.
* (거의 대부분의) [[락박스]]-호환 디지털 오디오 플레이어 - [[아이리버]], [[기가비트]] ([[도시바]]), 앞에서 얘기한 아이팟 포함.
* [[Escient]]<ref>{{웹 인용 |url=http://www.escient.com/support/supportdocuments/DigitalMusicFilesFormats.pdf |제목=Supported Digital Music Formats & Tagging Requirements |확인날짜=2008-01-27 |형식=[[PDF]] |출판사=Escient |pages=p. 2 |archive-date=2008-05-17 |archive-url=https://web.archive.org/web/20080517043513/http://www.escient.com/support/supportdocuments/DigitalMusicFilesFormats.pdf |url-status= }}</ref>
* [[iAudio]] - [[코원시스템]]의 디지털 오디오 플레이어. 4, 5, 6, 7, F2, M3, M5, X5, U2, U3, A2, A3, D2, O2, S9. 새 버전의 펌웨어는 자체 지원.
* [[올리브 미디어 프로덕츠]] (Symphony, Musica, Opus)<ref>{{웹 인용 |url=http://www.olive.us/products/preloadterms.html?PHPSESSID=23dfebfa0 |제목=Olive |3=Save The Sound. - Olive'S Free Cd Ripping Service - Preload Terms |확인날짜=2008-02-10 |보존url=https://web.archive.org/web/20081201052333/http://www.olive.us/products/preloadterms.html?PHPSESSID=23dfebfa0 |보존날짜=2008-12-01 |url-status=dead }}</ref>
* [[PhatBox]] 하드 드라이브 내장 자동차 디지털 미디어 플레이어, 팻노이즈(PhatNoise) 사 판매.
* [[Rio Karma]]
* [[Squeezebox network music player]] (v1 버전에서는 서버 측에서 [[PCM]]으로 트랜스코드한다. v2 및 그 이상의 버전에서는Squeezebox에서 자체 지원한다.)
* [[Sonos]]
* Meizu [[M6 Mini Player]], M3 Music Card
* [[Pixel Magic Systems]]' HD Mediabox (펌웨어 버전 1.3.4 이상)
* Embedded Waveplayer- Module with FLAC level 0-2 support, MIDI and serial interface
* 텍라스트 T29, T39, C260, C280, C290
* [[Trekstor Vibez]]
* 모든 UPnP A/V / DLNA 장치 - e.g. 넷기어 EVA700, 넷기어 MP101, Roku Soundbridge 혹은 Xbox 360 (TVersity와 같은 애플리케이션을 통해 트랜스코드되어 스트림될 때. 단, 이 애플리케이션은 ffdshow를 사용.)
* Sound Devices 7-Series Professional Audio Recorders - 단, 뱃저(badger) 펌웨어 업데이트가 되었을 때(v.2.24)<ref>{{웹 인용 |url=http://www.sounddevices.com/notes/recorders/file-formats/compression-reduction/ |제목=Data Compression and Reduction Options for 7-Series Recorders |3=Sound Notes |4=Sound Devices, LLC |확인날짜=2008-01-27 |보존url=https://web.archive.org/web/20080205162645/http://www.sounddevices.com/notes/recorders/file-formats/compression-reduction/ |보존날짜=2008-02-05 |url-status=dead }}</ref>
* Denon AVR-4308 & AVR-3808 AV 리시버<ref>{{웹 인용 |url=http://www.denon.co.uk/site/frames_main.php?main=prod&ver=&MID=3&sub=1&action=detail&Pid=340 |제목=DENON UK |3=Home Audio Components |확인날짜=2008-01-27 |형식= |웹사이트= |보존url=https://web.archive.org/web/20080112181158/http://www.denon.co.uk/site/frames_main.php?main=prod&ver=&MID=3&sub=1&action=detail&Pid=340 |보존날짜=2008-01-12 |url-status=dead }}</ref>
* T+A Music Player<ref>{{웹 인용 |url=http://www.taelektroakustik.de/eng/ta2/e_system/music_player.htm |제목=T+A E-Series Music-Player |확인날짜=2008-01-27 |archive-date=2007-12-28 |archive-url=https://web.archive.org/web/20071228084516/http://www.taelektroakustik.de/eng/ta2/e_system/music_player.htm |url-status=dead }}</ref>
* [[린 프로덕츠|린]] 클라이막스 DS 디지털 뮤직 플레이어

== 같이 보기 ==
{{위키공용분류}}
* [[멍키 오디오]]
* [[TTA (코덱)|TTA]]
* [[WavPack]]

== 각주 ==
<references/>

== 외부 링크 ==
* [https://xiph.org/flac/ 공식 웹사이트]
* [https://web.archive.org/web/20090703042443/http://web.inter.nl.net/users/hvdh/lossless/lossless.htm 무손실 포맷 비교] - {{llang|nl|Hans Heiden}} 작성. (약간 오래된 정보)
* [https://www.y2mate.to/youtube-mp3-converter] - Convert Youtube to MP3 using Flac.

{{Xiph.org}}
{{코덱 구현}}
{{압축 형식}}

[[분류:오디오 코덱]]
[[분류:자유 멀티미디어 코덱]]
[[분류:무손실 압축 알고리즘]]
[[분류:무손실 오디오 코덱]]
[[분류:오디오 파일 포맷]]
[[분류:2001년 소프트웨어]]
[[분류:오픈 포맷]]