c9c2ca27 |
1 | ABCDE |
2 | ===== |
3 | |
4 | abcde is a frontend command-line utility (actually, a shell script) that |
9f659ada |
5 | grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex and/or |
6 | MPP/MP+(Musepack) format, and tags them, all in one go. |
c9c2ca27 |
7 | |
9f659ada |
8 | Your finished Ogg/MP3/FLAC/Speex/MPP's are, by default, stored in a subdirectory |
9 | of the current directory (named after the artist) with a filename based on the |
c9c2ca27 |
10 | track title. Spaces are replaced by underscores, and apostrophes and |
11 | control codes are filtered out. Colons are replaced with an underscore and a |
12 | hyphen. The end result usually looks like: Our_Lady_Peace/01.Supermans_Dead.ogg |
13 | This filename munging is customizable - edit the mungefilename function in |
14 | your abcde.conf to change it. |
15 | |
16 | Need to go through an HTTP proxy for CDDB access? No problem, just export |
17 | your http_proxy variable first so wget/fetch/curl can see it. |
18 | |
19 | You already store CDDB entries for your CD collection on your hard disk? Piece |
20 | of cake. Just edit CDDBLOCALDIR to point to the repository and give abcde the |
21 | "-L" flag to make use of it. |
22 | |
23 | Low on disk space? abcde has different algorithms to schedule ripping and |
24 | encoding - to optimize for disk conservation, use -l. |
25 | |
26 | abcde can also take advantage of SMP systems, just like make. Try |
9f659ada |
27 | 'abcde -j 2' - it'll run two encoder jobs while it rips the next track. |
c9c2ca27 |
28 | |
29 | abcde now uses FreeDB by default. To use a different FreeDB mirror or |
30 | another CDDB service, change the CDDBURL option in your abcde.conf. |
31 | |
32 | Frustrated that you can't use the CPU power on Machine A sitting right |
33 | next to Machine B with the fast cdrom drive? Now you don't have to be - |
34 | Run distmp3host (included in distmp3) on Machine A, and then run |
35 | abcde -r MachineA from Machine B (where "MachineA" is a dns name or IP |
36 | address). Use this in combination with '-j 0' to shift all encoding off the |
37 | local machine. |
38 | |
39 | You do not have internet connection, or just feel with free time to write |
40 | down all the song names and artists instead of using CDDB? Use -n and edit |
41 | the template. |
42 | |
43 | To make abcde 2.x work more like 1.x, put these options in your abcde.conf: |
44 | |
45 | INTERACTIVE=n |
46 | OUTPUTTYPE=mp3 |
47 | ID3TAGV=1 |
48 | |
49 | NOTICE: abcde needs cd-discid. Grab it from: |
50 | http://www.hispalinux.es/~data/files/cd-discid/ |
51 | |
52 | MAJOR CHANGES |
53 | ============= |
99d009fa |
54 | Changes in 2.2-pre2: |
55 | |
56 | * Support for MPP/MP+(Musepack) format. It can be downloaded from |
57 | corecodecs.org. It is supposed to be Free (not only free), and released |
58 | under the GPL... |
59 | * New "-s <number>" option for starting the numbering of the output files at |
60 | a given starting number. Ideal for albums with more than one CD. |
40c61684 |
61 | * Support for keeping an existing playlist (and not add new entries to it), |
62 | erase the existing one (overwrite) or append new entries to the existing |
63 | one. |
7acef70b |
64 | * Under ./examples you will find a very basic way to make abcde run in the |
65 | background and start a non-interactive rip of a CD, if it can find an |
66 | audio CD in the tray. |
67 | The abcded script depends on eject and cdparanoia being installed in your |
68 | system. |
69 | * New mungegenre function to switch off (or modify) the default behaviour of |
70 | transforming uppercase characters to lowercase. |
99d009fa |
71 | |
72 | Changes in 2.2-pre1: |
73 | |
74 | * cdparanoia permits performing a query to the CD drive and obtain a list of |
75 | valid audio tracks. So, now we perform such query and process the results. |
76 | * Support for "None of the above" has been added with the "0" selection. A |
77 | template is created, and the selection to edit it is defaulted to "y". |
78 | |
c9c2ca27 |
79 | New options in 2.1.19: |
80 | |
81 | * ONETRACK mode has been introduced. Setting the flag "-1" will create a |
82 | single file with all the tracks from the CD. |
83 | |
84 | Changes in 2.1.18: |
85 | |
86 | * CDSPEED option defaults to eject. However, since cdparanoia has a built-in |
87 | option to set the speed, we use it. There is not way (right now) to force |
88 | the use of eject, but it will be introduced in a future release. Also one |
89 | can use the pre_read function to set the speed with other program. |
90 | |
91 | New options in 2.1.16: |
92 | |
93 | * -S, CDSPEED and CDSPEEDOPTS for setting the speed of the CDROM. One can |
94 | set the options in abcde.conf and pass the value on the command line. |
95 | This option can be used with "eject -x <speed>", "setcd -x <speed>" or the |
96 | built-in cdparanoia option "-S <speed>", if the CD reader supports it. |
97 | * Added a pre-read function. Modify it at your pleasure in abcde.conf |
98 | One can use it to close the CD drive. |
99 | * -m option, to modify the playlist to include CRLF in every line. Some |
100 | players insist on having those to work properly with playlists. |
101 | |
102 | New options in 2.1.15: |
103 | |
104 | * -V can be used to obtain some more information about the CDDB queries. |
105 | * -v shows the version, basic help, and exits. |
106 | |
107 | New options from 2.1.10 to 2.1.13: |
108 | |
109 | * CDROMID has been introduced for cdda2wav use with SCSI devices. |
110 | * Use -L to retrieve the CDDB entries from a local repository (also one can |
111 | set CDDBUSELOCAL in the config file). |
112 | * If CDDBCOPYLOCAL is set to "y" we store copies of the CDDB entries, under |
113 | CDDBLOCALDIR (defaults to "~/.cddb). |
114 | |
115 | Modifications from 2.1.9 to 2.1.10: |
116 | |
117 | * Initial (still incomplete) MacOSX support is on the works. |
118 | * A new tool (curl) has been added for MacOSX compatibility, as HTTPGET |
119 | option. |
120 | |
121 | Options modified from 2.1.8 to 2.1.9: |
122 | |
123 | * KEEPWAVS option now sets the clean to "no". |
124 | |
125 | Options added/modified from 2.1.3 to 2.1.5: |
126 | |
127 | * Ogg/Speex added. Use "-o spx" to rip your audiobooks, for instance. |
128 | |
129 | Options added/modified from 2.1.1 to 2.1.3: |
130 | |
131 | * WGET has been substituted by HTTPGET. Now we support fetch as retrieval |
132 | program. |
133 | * KEEPWAVS has been introduced. Set it to "y" and the wav tracks will be |
134 | kept. |
135 | * CDDBPROTO is used to specify the protocol level in the CDDB retrieval. |
136 | * DAGRAB has been introduced as a cd ripper. |
137 | |
138 | Options added/modified from 2.0.3 to 2.1.x: |
139 | |
72d7162b |
140 | * -b use batch processing. It uses normalize-audio to adjust the volume of |
141 | the songs, and a -g gapless option from lame to remove gaps. Only available |
c9c2ca27 |
142 | for mp3+lame combination. |
143 | * a new "normalize" option has been added to -a, to normalize the volume. |
144 | * -o works now with a combination of the different outputs: ogg, mp3, flac. |
145 | Combine them separated by ",". Example: "-o ogg,flac". |
146 | * OUTPUTTYPE is no longer used for the output file type. From version 2.1 |
147 | abcde implements multiple-output and the file type is always appended at |
148 | the end of the file. The OUTPUT variable can be used in the |
149 | PLAYLISTFORMAT and OUTPUTFORMAT to create different directory structures |
150 | and playlist names for each of the output formats selected. |
151 | * DYEAR can be used as DiskYear value in CDDB data. If the data is not |
152 | supplied by the CDDB server, it can be added. |
153 | |
154 | Other options that changed from 1.x to 2.x: |
155 | |
156 | * -e doesn't exist anymore, abcde now presents you with all of the cddb data |
157 | and asks you if you want to edit it. If you don't want to be asked, |
158 | use -N or INTERACTIVE=n |
159 | * The output type defaults to Ogg/Vorbis. Specify -o mp3 or OUTPUTTYPE=mp3 |
160 | if you still want to output mp3's. |
161 | * -l 2 is now just -l, LOWDISK=2 should now be LOWDISK=y |
162 | * -V and -v are gone, abcde will now prompt you if you'd like to use Various |
163 | Artists handling, after showing you the cddb data. |
164 | * -P is now '-a playlist,clean', PLAYLISTONLY=y is now |
165 | ACTIONS=playlist,clean |
166 | * -p is now '-a playlist,move,clean', PLAYLIST=y is now |
167 | ACTIONS=playlist,move,clean |
168 | * cddb-tool has been cleaned up a little bit. 'get' is now 'query' and |
169 | 'read', and the tempfile handling has been removed. |
170 | * ID3COMMENT is now COMMENT. |
171 | * FreeDB is now the default CDDB database. |
172 | |
173 | |
174 | REQUIREMENTS |
175 | ============ |
176 | |
177 | abcde requires the following backend tools to work: |
178 | |
179 | * An Ogg/Vorbis encoder (oggenc, the default, or vorbize) or: |
180 | * An MP3 encoder (lame, gogo, bladeenc, l3enc, etc). Any MP3 encoder that |
181 | takes two filenames on the command line, one for input, one for output, |
182 | will work. |
183 | You can get lame at: http://www.mp3dev.org/mp3/ |
184 | You can get gogo at: http://homepage1.nifty.com/herumi/gogo_e.html |
185 | You can get BladeEnc at: http://bladeenc.mp3.no/ |
186 | You can get a trial version of mp3enc at: |
187 | http://www.iis.fhg.de/amm/download/ or: |
188 | * FLAC encoder (flac) or: |
9f659ada |
189 | * Ogg/Speex encoder (speexenc) or: |
190 | * MPP/MP+(Musepack) encoder (mppenc) |
72d7162b |
191 | * normalize-audio for volume normalization. |
c9c2ca27 |
192 | * CD Paranoia, an audio CD reading utility, |
193 | * Or cdda2wav, the audio CD reading utility cdparanoia was born from, |
194 | * Or dagrab, another audio CD reading utility. |
195 | * cd-discid, a CDDB DiscID reading program. Formerly bundled with abcde. |
196 | It's available in Debian or http://www.hispalinux.es/~data/files/cd-discid/ |
197 | * An HTTP retrieval program: wget, fetch (FreeBSD) or curl (MacOSX) |
198 | * id3, an id3 tagging program. Available at: http://lly.org/~rcw/id3/ |
199 | * id3v2, an id3 version 2.0 tagger. http://id3v2.sourceforge.net/ |
200 | * (optional) distmp3, a client/server for distributed mp3 encoding. |
201 | You can get distmp3 at http://wlug.westbo.se/medlprog/medlprog.html |
202 | |
203 | Potential problems: |
204 | |
205 | Having trouble getting cdparanoia to read from your drive as a user? |
206 | Add yourself to the cdrom group, change the permissions on your cdrom device |
207 | to 660, and if you have a SCSI cdrom drive, check the permissions on |
208 | /dev/sg* as well. |
209 | |
210 | Running out of disk space for .wav files but don't want to use -l? Put them |
211 | in a different location by adding WAVOUTPUTDIR=/some/other/path to your |
212 | /etc/abcde.conf or ~/.abcde.conf. |
213 | |
214 | If abcde seems to be ignoring your configuration options or not running |
215 | commands such as the encoder, you may have misquoted something. Config |
216 | options such as the following do not work: |
217 | |
218 | LAMEOPTS=-h -k |
219 | |
220 | Try this instead: |
221 | |
222 | LAMEOPTS='-h -k' |
223 | |
224 | Abcde's new mailing list is abcde@listas.hispalinux.es. So far has not |
225 | been actively used. |
226 | The posts from non-subscribers are moderated to prevent spam. |
227 | |
228 | Archives of the old list are publically available at: |
229 | http://lly.org/~rcw/abcde/list/current/threads.html |
230 | |
231 | Abcde's current page is at http://www.hispalinux.es/~data/abcde.php |
232 | Abcde's new homepage will be at http://abcde.hispalinux.es/. |
233 | Abcde's old homepage is at http://lly.org/~rcw/abcde/page/. |
234 | -- |
235 | Robert Woodcock <rcw@debian.org> |
236 | Jesus Climent <jesus.climent@hispalinux.es> |