Audio CD Ripper
Total Page:16
File Type:pdf, Size:1020Kb
Charles University in Prague Faculty of Mathematics and Physics BACHELOR THESIS ~ Michal Zotka Audio CD Ripper Institute of F ormal and Applied Linguistics Supervisor Mgr. Václav Klimeš Study program: Computer science, Programming 2006 At this point I would like to g1ve my thanks to Mgr. Václav Klimeš, the supervisor of my bachelor thesi s, for giving me advice on my work as well as for pushing me to keep some deadlines as otherwise I would not have been able to finish the work in time. Herewith I declare that I have written my bachelor thesis all by myself solely with the use of the quoted sources. I consent to the lending of the thesis. Prague, August 11, 2006 Michal Žofka 2 Contents 1 lntroduction 7 I. I Ripping and Audio Rippers ....... „ ..... „„.„„„ ..... „ .... „..... 7 1.2 Related Definitions and Explanation............................. 7 1.2.1 The Red Book Standard................................... 7 1.2.2 The WAVE File Format................................... 8 1.2.3 ASPI................................................................. 8 1.2.4 Digital Audio Extraction (DAE)...................... 8 1.2.5 ID3 Tags........................................................... 9 1. 3 Th e " p l anet ' s best au d"10 npper. " ..................................... I O 1.4 Audio CD Ripper........................................................... 11 2 User Documentation 13 2.1 Features.. ...... ..... .. .... .. ....... ... ... .......... .. .. .. ........... .. .. .. ... ... 13 2.2 Visual Overview............................................................. 14 2.3 Installing the Application................................................ 16 2.4 Uninstalling/Repairing the Application.......................... 17 2.5 Configuring the Application............................................ 17 2.5.1 Audio CD Ripper Options................................. 17 2.5.2 Drive Options.................................................... 18 2.5.3 Remote freedb Options..................................... 19 2.5.4 Local freedb Options......................................... 19 2.5.5 Compression Options........................................ 20 2.5.6 Delete Settings.................................................. 22 2.6 Tools .... „ .........•...••..••..•••..................••..••...••..••• „„.„ ••• „... 22 2.6.1 Compress WAVs .............................................. 22 2.6.2 Decompress.. .. ....... .. .. ........... .. ........ ... ........... .. .. 22 2.6.3 Edit ID3 Tags................................................... 23 2.6.4 Rename from ID3 Tags.................................... 23 2.6.5 Create ID3v2 Tag from Path............................ 23 3 2 .6.6 Tag Dialog„„ „„ „ „ „„„ „ „ „ „ „ „„ .. „„ „„„ „ „ „„ „ „ 23 2.6.7 Create CUE Sheet..„„„„. „„„„„„„„„.„„„„„.„. 24 2. 7 Database .... „. „„„ .......... „ .. „ ... „ ... „. „ ..... „ ....... „ ... „ ...... „. „ 24 2.7.l Edit CD Inťormation„„„„„„„„„„.„„„„„.„„„„. 25 2. 7.2 Clear Current CD lnformation„„„.„„.„„.„„ . .'„. 26 2. 7.3 Get CD Information from„„„„„„„.„„„„„„„„„ 26 2.8 Playing Audio CDs„„„„„„.„„„„„„„„„„„„„„„„„„„„„„. 27 2.9 Manipulating the Track List„„.„„„„„„„„„„„„„„„„„„„. 27 2. 1O Extracting T racks„. „ „ „ „. „ „ „ „ „ „ „ „ „. „ „ „ „ „ „ „. „ „ „ „. „ „ „ 2 7 2.11 Creating CD Image and CUE Sheet„.„„„„„„„„„.„„.„.„ 28 3 Programmer Documentation 29 3 .1 CD Ripper „.„ „„„.„ ...... „. „. „„ „ ...... „„. „„ ..... „„. „„ ..... „.„. 29 3.2 Mp31nfo ..... „ •.••••. „ ••••••• „ ••...•••...•. „ •.. „ •...••..••. „ •.• „.„.„..... 30 3.3 Compressor„„ „ .. „. „„. „„ .. „ ... „. „„„. „„ „ „. „. „.„„ „. „. „. „ „ 31 3.4 ASPI .......... „ •. „ •••••••• „ •••.••••..• „ ...• „ ..•••••.•••...•••• „ ••.•.• „ ••. „.. 32 3 .5 CDMusic„. „„ „„. „ „„„„„. „ ... „„ „„„ „„. „ .. „. „„„ .„ .. „ „ „„„ 33 3.6 WAVE (and RIFF)„„„„„„.„„„„„„.„„„„„„„„.„.„„„.„„. 36 3. 7 freedb. „„„ „„. „ „„„„ „ „ „. „.„„.„ ... „ .. „. „„„ ... „„. „„. „ ... „„„ 36 4 Conclusion 39 4.1 The Result ................................. „ ....••.. „ •••..••••..•....•..... „.. 39 4 .2 The N ext Step„. „ „ „ „ „ „ „ „ „. „. „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „ „. „. 40 Literature 41 4 Název práce: Audio CD Ripper Autor: Michal Žofka Katedra (ústav): Ústav formální a aplikované lingvistiky Vedoucí bakalářské práce: Mgr. Václav Klimeš E-mail vedoucího: [email protected] Abstrakt: Audio CD Ripper je jednoduchá aplikace pracující v prostředí WinXP, která možňuje digitální kopírování hudebních CD pomocí ASPI rozhraní či uložení jednotlivých stop CD nebo obrazu CD ve formátu WA VE na pevný disk. Po uložení lze spustit externí kompresor (LAME, APE nebo FLAC), ke kterému může uživatel specifikovat parametry příkazové řádky. Program se umí připojit jak k lokální, tak i ke vzdálené freedb databázi. Obsahuje editor ID3 tagů, funkce pro rychlé !agování, přejmenování souboru dle jeho tagu či yytvoření CUE sheetu vloženého CD. Uživatel si může zvolit vlastní schéma, podle kterého budou tvořena jména souborů. Audio CD Ripper lze použít též jako jednoduchý přehrávač CD. Klíčová slova: freedb, DAE, ID3, ripper 5 Title: Audio CD Ripper Author: Michal Žofka Department: Institute of Forma! and Applied Linguistics Supervisor: Mgr. Václav Klimeš Supervisor's e-mail address: [email protected] Abstract: Audio CD Ripper is a simple application working under WinXP. It allows the user to digitally extract Audio CDs using the ASPI interface and save the tracks or CD image as WA VE files to the hard disk. It is able to call an external encoder (LAME, APE or FLAC) with user specified command line options to compress the files after extraction. Remote and local freedb connectivity is available. An 1D3 editor is available as well as functions for automatic tagging and renaming files from tag. lt is able to create a CUE sheet of the inserted audio CD. The user can choose the file naming scheme to be used for saving files. The application can also be used as a simple CD player. Keywords: freedb, DAE, 1D3, ripper 6 Chapter 1 Introduction 1.1 Ripping and Audio Rippers Audio ripper is an application that has the ability to copy or extract the digital audio data stored on an audio CD and save it to the hard disk. This process is called ripping. Most audio rippers have other functions that can be useful when working with audio files. 1.2 Related Definitions and Explanation Before getting started some explanation should be made first. This chapter contains a short introduction to the standards. file formats and other things closely connected with audio ripping. 1.2.1 The Red Book standard Formerly, the compact disk format was defined for digital audio (CDDA). The Red Book standard was adopted from Sony and Philips by the Digital Audio Disc Committee and ratified as !EC 908. It defines and specifies the rules for CDDA. The standard is available in PDF format but unfortunately for the price of $210. Therefore I made use ofthe ECMA-130 standard for data interchange on read-only 120 mm optical data disks (CD-Rom) from June 1996. According to [11], it contains much ofthe information from !EC 908. A small "file" called the Tahle of Contents (TOC) is at the beginning of a CD. The TOC is followed by strings of bits containing 7 the digital audio data (two channels oťaudio at 16 bits per channel and 44,100 samples per second). The separati,1n oť the audio data into individua! tracks is done by the TOC. lt contains pointers to individua! tracks and tells the player where a track starts. 1.2.2 The WA VE file format The Wave file forma! is a file forma! for storing digital audio data. As it is Windows• native file forma! the data values are stored in "Little-Endian'" order. Some drives use the "Big-Endian„ read order and a conversion is therefore necessary before storing the data. The forma! specifications are free available and can be obtained from various sources. One ofthese sources can be found at [12]. 1.2.3 ASPI ASPI (Advanced SCSI Programming Interface) was developed to provide a common language for communication between drivers and SCSI host adapters. It is used for communication with IDE devices and comes with the Windows installation. Some applications (e.g. Nero Buming Rom) install their own ASPI drivers. 1.2.4 Digital Audio Extraction (DAE) When extracting through a sound card, the audio data is converted from digital to analog, resampled and converted back to digital. Because of this conversion the quality of the resulting audio file suffers. Digital Audio Extraction (DAE) does not use a sound card to extract audio data so there should be no noise or loss of fidelity in the resulting file. When an application sends a read request to the drive, it reads the digital audio data from the CD bit by bit and the application 8 receives the data exactly as it was read. Still some problems may occur while using DAE (see [8]): • Jitter The cause of jittering is the inability of many drives to accurately seek a specific sector on an audio CD. When extracting, a block of sectors is read form the CD and written to the hard disk. Then the drive must seek the beginning of the next block of sectors. As the Red Book 1 specification only requires the accuracy within l/75 h of a second, the sector retumed by the drive does not need to be exactly the one requested. Especially older drives tend to have jitter problems whereas newer ones (e.g. Plextor) perforrn jitter correction intemally. • Seek errors This goes hand in hand with the prev1ous problem. Because of the Red Book inaccuracy the drive may retum other track offset sectors even when extracting the same file. And there