EAC

1 개요

안드레 위트호프(독일어 : Andre Wiethoff)가 개발한 Exact Audio Copy(줄임말로 EAC)는 오디오 CD에서 컴퓨터의 하드 디스크로 트랙들을 추출할 때 사용되는 프리웨어 소프트웨어이다. 다른 리핑 프로그램과 달리 EAC는 거의 완벽하게 오디오 CD를 읽을 수 있다. EAC는 오디오 데이터를 추출하는 데에 다양한 방법 사용된다. EAC는 외부에서 설치한 인코더를 불러올 수 있고, 그것 때문에 사용자가 선택한 파일 형식으로 오디오 데이터를 일제히 리핑하고 인코드가 가능하게 한다.

2 내용

요즘은 프로그램 자체보다는 무손실 파일 형식으로 리핑했다를 지칭하는데 많이 쓰인다. 이는 사람들이 현존하는 리핑 프로그램 중 성능이 뛰어난 EAC를 사용해서 리핑하는 것을 권장하고 그게 정착되어 일종의 관습으로 굳어버렸다고 한다.

2.1 통파일과 분할 파일

많은 사람들이 불법 해적판 음원을 받아본다면, 종종 통파일로 음원의 첫 트랙부터 끝 트랙까지 한 덩이로 저장된 음원 파일을 볼 수 있는가 하면, 자주 분할로 각 트랙마다 파일이 나누어진 채 저장되어 있는 파일들도 볼 수 있다. 악장 간의 연결이 중요한 클래식과 노래가 쉬지 않고 계속 이어지는 논스톱 앨범이 아니고서야 일반적인 오디오 시디의 립은 CUE 파일이 없이 모든 곡이 낱개로 나누어진 채 공유되는 것을 볼 수 있다.

2.2 CUE 파일과 LOG 파일

통파일 음원 파일은 대개 파일 이름에 확장자가 .cue로 되어있는 텍스트 파일이 함께 있다. 이 CUE 시트에는 시디의 내용물에 대한 카탈로그 혹은 트랙 목록에 대한 정보가 담겨 있다. 그리고 Log라는 파일 이름에 확장자가 .log로 되어있는 텍스트 파일이 있다. 이름이 암시하듯이, 전체 리핑 과정의 로그와 일어난 에러를 기록한다. 음원 관련 프럼에서는 이런 Log 파일을 조작하는 것에 대단히 엄격하게 다룬다.

2.3 AccureRip

EAC는 리핑으로 저장된 파일의 무결성을 검증하기 위해 Log 파일을 생성한다. 이는 EAC만의 설정들과, gap을 확인하는 것, AccureRip[1], Test&Copy[2]

2.4 특징

  • 윈도우 95와 윈도우 NT ASPI 인터페이스를 사용하여, SCSI와 ATAPI CD-ROM 둘 다 지원한다.
  • 숨겨진 섹터를 동기화한다.(jitter correction)
  • Secure, Fast, Burst 중 추출하는 방법을 선택할 수 있다. Fast 추출은 다른 하드웨어에서도 같은 속도로 작동되지만, 아마도 더 이상 정확하지 않다. Burst 추출은 어떠한 동기화 없이 오디오 데이터를 잡아낸다.
  • Secure mode에서는 오류를 읽고 손실을 sync detection하고 정정을 해낸다.
  • 모든 정확하지 않는 정정의 시간대의 출력과 이 시간대의 청음을 할 수 있다.
  • 음악 데이터를 트랙이 아닌 범위로도 복사할 수 있다.
  • 에러에서 자동으로 속도를 감소하고 그 뒤에 대비책이 있다.
  • 추출된 오디오를 Normalization할 수 있다.
  • MP3 waves와 같이 바로 압축하려고 Windows Audio Compression Manager(ACM Codecs)을 사용할 수 있다.
  • 온라인 MP3 압축을 위해 ACM Codec을 사용할 수 있게 BladeEnc DLL를 지원한다.
  • 추출 후 자동 압축을 하려고 외장 인코더 MP3, VQF, RA, AAC를 지원한다.
  • WAV 파일의 일괄적인 압축과 WAV 파일로의 압축 풀기를 할 수 있다.
  • 정확한 압축/압축 풀기를 하려고 압축 오프셋을 지원한다.
  • pre-track gaps를 탐지한다.
  • pre-track gaps에서 silence(정적)을 탐지한다.
  • CDRWin을 사용하려고 모든 gaps와 indices, track attributes, UPC, ISRC을 담고 있는 CUE 파일을 자동 생성할 수 있다.
  • CD 플레이어를 작동하고 선택한 범주를 먼저 들을 수 있다.
  • 드라이브의 accurate stream과 caching을 지원 유무에 대한 드라이브 특징을 자동으로 탐지한다.
  • fill up missing offset samples with silence(silence에서 놓친 오프셋 샘플을 채우는) 것을 포함해서 accurate stream을 지원하지 않는 드라이브에 대해 샘플 오프셋을 제공한다.
  • accurate stream을 지원하지 않는 드라이브에도 Synchronize between tracks(트랙들 간의 동기화) 옵션을 제공한다.
  • 로컬 및 원격인 CDDB 데이터베이스를 가지고 파일이름을 편집하는 것을 제공하며, cdplayer.ini 지원하고, ID3 태그 정리하는 것을 제공한다.
  • 로컬 데이터베이스를 검색하고 편집할 수 있다.
  • 녹음과 LP, radio 등으로 녹음하려고 LOOP Record의 기능을 제공한다.
  • ID3 태그로 MP3 파일의 이름을 자동으로 변경할 수 있다.
  • Multisession CD를 지원한다.
  • CD-Text를 지원한다
  • 몇몇 드라이브에서 CD-Write를 지원한다.
  • 트랙 목록과 데이터베이스를 드래그 앤드 드롭해서 ID3 태그를 편집할 수 있다.
  • 작은 결함은 추출 후에 해결할 수 있다.
  • 작은 WAV 편집기로 다음의 기능을 가진다. delete, trim, normalize, pad, glitch removal, pop detection, interpolation of ranges, noise reduction, fade in/out 등

2.5 한계

  • non-Test와 busrt mode에서 리핑해서 나오는 log에서 모든 트랙에 대해 "No errors occured"라고 말한다. 그러나 이런 mode에서는 EAC가 데이터의 무결성을 실제로 확인하지 않는다.
  • TOC에서는 Pre-emphasis와 저작권 보고만 확인되었다. 이는 subcode에서 이런 보고가 가끔씩 일치하지 않는다. 보통 subcode는 맞는 편이다.
  • ISRC code가 가끔씩 맞지 않게 읽혀진다.

3 EAC 설치 및 설정

다음 글에서는 EAC에서 Secure mode로 리핑할 때의 설정을 소개하고자 한다. EAC 옵션, Drive 옵션, Compression 옵션(이 글에서는 FLAC을 다룰 것이다.)의 세 군데의 설정을 다룬다. Uncompressed로 비압축 무손실 파일 형식인 WAV(PCM)으로 추출하고자 한다면 EAC 옵션, Drive 옵션의 설정까지만 해도 된다. 하지만 compressed로 압축 무손실 파일 형식인 FLAC으로 압축하고자 한다면, Compression 옵션(이 글에서는 FLAC을 다룰 것이다.)까지 설정해야 한다.

3.1 EAC 설치

  • GD3 Metadata Plugin의 체크를 해제
  • I am an expert, let me use the full potential of EAC를 선택

4 EAC options 설정

4.1 Tools 설정

  • 맨 밑의 Activate beginner mode, disable all advanced features에 체크가 해제되어 있는지 확인
  • Retrieve UPC/ISRC codes in CUE sheet generation를 체크
  • Use CD-Text information in CUE sheet generation를 체크
  • Automatically write status report after extraction을 체크
  • Append checksum to status report를 체크
  • Do not open external compressor window를 체크하는 것을 권장(선택 사항)
  • Submit drive features after detection (but ask for permission)를 체크

4.2 Extraction 설정

  • Fill up missing offset samples with silence를 체크
  • Synchronize between tracks를 체크
  • Error recovery quality를 High로 설정

4.3 General 설정

  • Use alternate CD play routines를 체크하는 것을 권장(선택사항)
  • Disable 'CD Autostart' for audio and data CDs while EAC running를 체크하는 것을 권장(선택사항)
  • On unknown CDs를 체크한 후, automatically access online metadata database를 권장(선택사항)
  • Show status dialog after extraction의 체크를 해제

4.4 Normalize 설정

  • Normalize에 체크가 해제되어 있는지 확인

5 Drive options 설정

5.1 Extraction Method 설정

  • 좌측하단의 Detect Read features를 클릭하면 EAC가 사용자의 ODD가 지원하는 기능을 조사한 뒤 결과를 설정에 적용한다.

참고 : Detect Read Features 버튼을 클릭했을 때,

  • 나오는 결과에서 Caching이 No라면, Drive caches audio data를 반드시 체크할 필요가 없다.
  • 나오는 결과에서 Accurate Stream이 No라면 ODD를 새로 하나 장만하는 것이 좋다.
  • 나오는 결과에서 C2 Error Info가 Yes라 해서, Drive is capable of retrieving C2 error information을 반드시 체크할 필요가 없다. 사람들은 이 부분의 체크를 해제하는 것을 추천하고 있다. 이는 Detect Read Features할 때 나오는 C2 Error Info : Yes가 사실은 아닐 수도 있기 때문이다. 이 때는 나쁜 상태(많은 스크래치가 있는)의 오디오 CD를 넣어서 우측하단의 Examine C2 Feature 버튼을 클릭한다. 그리고 C2 error information found를 확인해본다.

몇몇 사람들은 Log에 출력되는 Drive caches audio data가 No이거나, Drive is capable of retrieving C2 error information가 Yes라고 해서, 설정이 잘못되었다고 말하지만, 사실은 그렇지가 않다.

5.2 Drive 설정

  • Autodetect read command now를 클릭하면 잠시 후 설정이 된다.
  • Spin up drive before extraction를 체크 해제

5.3 Offset/Speed 설정

  • Overread into Lead-In and Lead-Out가 체크 해제되어 있는지 확인
  • 특정 오디오 CD를 넣어서 오프셋 수치가 자동으로 설정, 고정되기도 하지만, 그렇지 않을 때는 여기서 사용자의 ODD에 알맞는 오프셋 수치를 찾아서 직접 입력한다.

5.4 Gap Detection 설정

  • Gap/Index retrieval method는 Detection metod A로, Detection accuracy는 Secure로 설정

참고 : Detection method A와 Secure로 두는 것이 일반적이지만, 간혹 드물게 이상하리만큼 긴 Gap을 마주치게 되고, Gap을 탐지하는 것을 실패한다. 이 때는 Detection method의 A를 B 또는 C로 해서 시도해본다. A, B, C로 두고 Gap을 탐지하는 것을 실패했다면, Secure을 Accurate로 두고 시도해본다.

6 Compression options 설정

6.1 External Compression 설정

  • Use external program for compression을 체크
  • Parameter passion scheme을 User Defined Encoder을 선택
  • Use file extension에 다음을 복사해서 붙여넣는다.
.flac
  • Program, including path, used for compression의 경로를 EAC가 설치된 폴더 안에 있는 FLAC 폴더 안의 flac.exe로 정해준다.
  • Additional command-line options에 다음을 복사해서 붙여넣는다.
-8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "GENRE=%genre%" -T "PERFORMER=%albuminterpret%" -T "COMPOSER=%composer%" %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% -T "ALBUMARTIST=%albumartist%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALTRACKS=%numtracks%" -T "COMMENT=%comment%" %source% -o %dest%
  • Bit rate의 수치는 음질의 높고 낮음과는 관련이 없으므로 취향대로 선택한다.
  • Delete WAV after compression & Use CRC check & Check for external programs return code를 체크
  • High quality와 Low quality 중에 High quality를 체크

6.2 ID3 Tag 설정

  • 맨 밑의 Write cover image into extraction folder를 체크
  • 나머지의 체크는 해제를 권장(선택 사항)
  1. ODD 제조사마다 미세하게 다른 I/O 레이저 입사각으로 인해 발생하는 파일간의 오차를 최소화하기 위해 ODD마다 보정값인 오프셋 수치를 자동으로 설정한다.
  2. 두 번 리핑을 하여 두 파일의 CRC 값이 만약 다르다면 오류가 있다고 알려주는 기능이다. 혼자서 듣는다면 오류난 구간만 다시 리핑하면 되지만 특정 음원 포럼에서는 한 번에 로그 스코어가 100이 나오는 것을 권장한다.