c9c2ca27 |
1 | ABCDE |
2 | ===== |
3 | |
4 | abcde is a frontend command-line utility (actually, a shell script) that |
1b94d6b7 |
5 | grabs tracks off a CD or a singletrack flac file with an embeded cuesheet, |
6 | encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex and/or MPP/MP+(Musepack) |
7 | format, and tags them, all in one go. |
c9c2ca27 |
8 | |
79e3928b |
9 | Your finished Ogg/MP3/FLAC/Speex/MPP's are, by default, stored in a subdirectory |
9f659ada |
10 | of the current directory (named after the artist) with a filename based on the |
79e3928b |
11 | track title. Spaces are replaced by underscores, and apostrophes and control |
12 | codes are filtered out. Colons are replaced with an underscore and a hyphen. The |
13 | end result usually looks like: Our_Lady_Peace/01.Supermans_Dead.ogg This |
14 | filename munging is customizable - edit the mungefilename function in your |
15 | abcde.conf to change it. |
c9c2ca27 |
16 | |
b7f1cc84 |
17 | Many of the questions related of problems executing abcde have been moved to the |
18 | FAQ, which should be distributed along with this package. Reffer to that file |
1b94d6b7 |
19 | for more help. |
c9c2ca27 |
20 | |
c9c2ca27 |
21 | MAJOR CHANGES |
22 | ============= |
9ff5088c |
23 | Changes in 2.4: |
fa421b8b |
24 | * Read TOC entries from the CD. The default uses cdrdao. The program mkcue is |
25 | also optional. |
9ff5088c |
26 | * Possibility to use CDDBCHOICE1,CDDBCHOICE2 (i.e., 1,3) to get a diff of two |
27 | parsed CDDB entries. |
28 | * Added SHOWCDDBFIELDS to define wether to show the YEAR and GENRE fields from |
29 | the CDDB output. |
d100b6be |
30 | * Added the possibility of embeding a cuesheet on a singletrack flac file. A |
31 | single BACKUP flag is most likely needed to use all the needed flags: |
f7c6d185 |
32 | "abcde -1 -o flac -a default,cue" |
1b94d6b7 |
33 | * Added the possibility of using a singletrack flac file with an embeded |
ffd57cfc |
34 | cuesheet as a source to extract tracks from (use -X to specify an external |
35 | CUE2DISCID implementation; check under examples in the distributed source |
36 | code or package). |
fa421b8b |
37 | * Added replaygain for Ogg/Vorbis and Ogg/FLAC. |
38 | * Added M4A encoding. |
39 | * Uses the default found $CDROMREADER instead of forcing cdparanoia when |
40 | cdda2wav is installed. |
cb05cebc |
41 | * BATCH mode has been split into two options: BATCHNORM and NOGAP. |
f7c6d185 |
42 | * Added -U option for non-UNICODE (non UTF-8) tag encoding. |
fa421b8b |
43 | * Added -z for debug. |
44 | * Added -f to force the removal of left files. |
f7c6d185 |
45 | * CUE support has changed from a flag (-M) to an action (cue). |
1b94d6b7 |
46 | |
b82e2042 |
47 | Changes in 2.3: |
6119aaa1 |
48 | * Support for mkcue, to create a CUE sheet of the CD structure. It can be used |
d100b6be |
49 | with "-1" to create a backup, so that later the original CD can be recreated. |
24f444d7 |
50 | * New -o <output(1)>:<options(1)>,... way of passing specific options to an |
51 | output. Now we can pass specific options without having to modify a config |
bef9c2d8 |
52 | file. This feature was already present in the last versions of the 2.2 cycle. |
6119aaa1 |
53 | * Unix PIPEs, as a second way to encode files with a low disc space. |
54 | * Option to erase the "encoded" entries from the status file. Allows one to |
55 | encode the wav files (in case they were not erased) into another format. This |
56 | is needed until status information is stored for each format. |
b82e2042 |
57 | * The "ogg" output mode will be substituted for "vorbis" in the near future. |
58 | This release adds a compatibility layer so that both entries work. |
6119aaa1 |
59 | * The FLAC encoder forces the files to be overwritten, in case they previously |
60 | exists. This avoids a half-through abcde run to continue without errors in |
61 | case it was cancelled during the FLAC encoding. |
4c2499e1 |
62 | * Added a post_read() function so that we can do things with the CD before we |
63 | eject it. |
24f444d7 |
64 | |
81bc6204 |
65 | Changes in 2.2: |
99d009fa |
66 | |
81bc6204 |
67 | * Support for MPP/MP+(Musepack) format. It can be downloaded from |
79e3928b |
68 | corecodecs.org. It is supposed to be Free (not only free), and released under |
69 | the GPL... |
81bc6204 |
70 | * New "-t <number>" option for starting the numbering of the output files at a |
71 | given starting number. Ideal for albums with more than one CD. |
72 | * New "-T <number>" option, similar to "-t" but also modifies the tag entries |
79e3928b |
73 | on the files themselves. |
81bc6204 |
74 | * New "-w <COMMENT>" to add a comment to the tracks of a given CD rip. Use |
75 | quotes. |
76 | * New "-W <number>" option to combine both a comment with "CD #number" and a |
77 | starting number for both the tracks and the tags with "#01" (that is, 101 for |
78 | the 1st CD, 201 for the second...) |
40c61684 |
79 | * Support for keeping an existing playlist (and not add new entries to it), |
80 | erase the existing one (overwrite) or append new entries to the existing |
81 | one. |
7acef70b |
82 | * Under ./examples you will find a very basic way to make abcde run in the |
83 | background and start a non-interactive rip of a CD, if it can find an |
84 | audio CD in the tray. |
85 | The abcded script depends on eject and cdparanoia being installed in your |
86 | system. |
87 | * New mungegenre function to switch off (or modify) the default behaviour of |
88 | transforming uppercase characters to lowercase. |
99d009fa |
89 | * cdparanoia permits performing a query to the CD drive and obtain a list of |
90 | valid audio tracks. So, now we perform such query and process the results. |
91 | * Support for "None of the above" has been added with the "0" selection. A |
92 | template is created, and the selection to edit it is defaulted to "y". |
93 | |
c9c2ca27 |
94 | New options in 2.1.19: |
95 | |
96 | * ONETRACK mode has been introduced. Setting the flag "-1" will create a |
97 | single file with all the tracks from the CD. |
98 | |
99 | Changes in 2.1.18: |
100 | |
101 | * CDSPEED option defaults to eject. However, since cdparanoia has a built-in |
79e3928b |
102 | option to set the speed, we use it. There is not way (right now) to force the |
103 | use of eject, but it will be introduced in a future release. Also one can use |
104 | the pre_read function to set the speed with other program. |
c9c2ca27 |
105 | |
106 | New options in 2.1.16: |
107 | |
79e3928b |
108 | * -S, CDSPEED and CDSPEEDOPTS for setting the speed of the CDROM. One can set |
109 | the options in abcde.conf and pass the value on the command line. This option |
110 | can be used with "eject -x <speed>", "setcd -x <speed>" or the built-in |
111 | cdparanoia option "-S <speed>", if the CD reader supports it. |
c9c2ca27 |
112 | * Added a pre-read function. Modify it at your pleasure in abcde.conf |
113 | One can use it to close the CD drive. |
79e3928b |
114 | * -m option, to modify the playlist to include CRLF in every line. Some players |
115 | insist on having those to work properly with playlists. |
c9c2ca27 |
116 | |
117 | New options in 2.1.15: |
118 | |
119 | * -V can be used to obtain some more information about the CDDB queries. |
120 | * -v shows the version, basic help, and exits. |
121 | |
122 | New options from 2.1.10 to 2.1.13: |
123 | |
124 | * CDROMID has been introduced for cdda2wav use with SCSI devices. |
125 | * Use -L to retrieve the CDDB entries from a local repository (also one can |
126 | set CDDBUSELOCAL in the config file). |
127 | * If CDDBCOPYLOCAL is set to "y" we store copies of the CDDB entries, under |
128 | CDDBLOCALDIR (defaults to "~/.cddb). |
129 | |
130 | Modifications from 2.1.9 to 2.1.10: |
131 | |
132 | * Initial (still incomplete) MacOSX support is on the works. |
133 | * A new tool (curl) has been added for MacOSX compatibility, as HTTPGET |
134 | option. |
135 | |
136 | Options modified from 2.1.8 to 2.1.9: |
137 | |
138 | * KEEPWAVS option now sets the clean to "no". |
139 | |
140 | Options added/modified from 2.1.3 to 2.1.5: |
141 | |
142 | * Ogg/Speex added. Use "-o spx" to rip your audiobooks, for instance. |
143 | |
144 | Options added/modified from 2.1.1 to 2.1.3: |
145 | |
146 | * WGET has been substituted by HTTPGET. Now we support fetch as retrieval |
147 | program. |
148 | * KEEPWAVS has been introduced. Set it to "y" and the wav tracks will be |
149 | kept. |
150 | * CDDBPROTO is used to specify the protocol level in the CDDB retrieval. |
151 | * DAGRAB has been introduced as a cd ripper. |
152 | |
153 | Options added/modified from 2.0.3 to 2.1.x: |
154 | |
72d7162b |
155 | * -b use batch processing. It uses normalize-audio to adjust the volume of |
156 | the songs, and a -g gapless option from lame to remove gaps. Only available |
c9c2ca27 |
157 | for mp3+lame combination. |
158 | * a new "normalize" option has been added to -a, to normalize the volume. |
159 | * -o works now with a combination of the different outputs: ogg, mp3, flac. |
160 | Combine them separated by ",". Example: "-o ogg,flac". |
79e3928b |
161 | * OUTPUTTYPE is no longer used for the output file type. From version 2.1 abcde |
162 | implements multiple-output and the file type is always appended at the end of |
163 | the file. The OUTPUT variable can be used in the PLAYLISTFORMAT and |
164 | OUTPUTFORMAT to create different directory structures and playlist names for |
165 | each of the output formats selected. |
166 | |
167 | * DYEAR can be used as DiskYear value in CDDB data. If the data is not supplied |
168 | by the CDDB server, it can be added. |
c9c2ca27 |
169 | |
170 | Other options that changed from 1.x to 2.x: |
171 | |
172 | * -e doesn't exist anymore, abcde now presents you with all of the cddb data |
173 | and asks you if you want to edit it. If you don't want to be asked, |
174 | use -N or INTERACTIVE=n |
175 | * The output type defaults to Ogg/Vorbis. Specify -o mp3 or OUTPUTTYPE=mp3 |
176 | if you still want to output mp3's. |
177 | * -l 2 is now just -l, LOWDISK=2 should now be LOWDISK=y |
178 | * -V and -v are gone, abcde will now prompt you if you'd like to use Various |
179 | Artists handling, after showing you the cddb data. |
180 | * -P is now '-a playlist,clean', PLAYLISTONLY=y is now |
181 | ACTIONS=playlist,clean |
182 | * -p is now '-a playlist,move,clean', PLAYLIST=y is now |
183 | ACTIONS=playlist,move,clean |
184 | * cddb-tool has been cleaned up a little bit. 'get' is now 'query' and |
185 | 'read', and the tempfile handling has been removed. |
186 | * ID3COMMENT is now COMMENT. |
187 | * FreeDB is now the default CDDB database. |
188 | |
189 | |
190 | REQUIREMENTS |
191 | ============ |
192 | |
193 | abcde requires the following backend tools to work: |
194 | |
195 | * An Ogg/Vorbis encoder (oggenc, the default, or vorbize) or: |
196 | * An MP3 encoder (lame, gogo, bladeenc, l3enc, etc). Any MP3 encoder that |
197 | takes two filenames on the command line, one for input, one for output, |
198 | will work. |
199 | You can get lame at: http://www.mp3dev.org/mp3/ |
200 | You can get gogo at: http://homepage1.nifty.com/herumi/gogo_e.html |
201 | You can get BladeEnc at: http://bladeenc.mp3.no/ |
202 | You can get a trial version of mp3enc at: |
203 | http://www.iis.fhg.de/amm/download/ or: |
204 | * FLAC encoder (flac) or: |
9f659ada |
205 | * Ogg/Speex encoder (speexenc) or: |
ffd57cfc |
206 | * MPP/MP+(Musepack) encoder (mppenc) or: |
207 | * AAC encoder (faac) |
72d7162b |
208 | * normalize-audio for volume normalization. |
ffd57cfc |
209 | * CD Paranoia, an audio CD reading utility or: |
6b005b85 |
210 | * icedax/cdda2wav, the audio CD reading utility cdparanoia was born from or: |
ffd57cfc |
211 | * dagrab, another audio CD reading utility. |
c9c2ca27 |
212 | * cd-discid, a CDDB DiscID reading program. Formerly bundled with abcde. |
42009643 |
213 | It's available in Debian or http://linukz.org/cd-discid.shtml |
c9c2ca27 |
214 | * An HTTP retrieval program: wget, fetch (FreeBSD) or curl (MacOSX) |
215 | * id3, an id3 tagging program. Available at: http://lly.org/~rcw/id3/ |
216 | * id3v2, an id3 version 2.0 tagger. http://id3v2.sourceforge.net/ |
217 | * (optional) distmp3, a client/server for distributed mp3 encoding. |
218 | You can get distmp3 at http://wlug.westbo.se/medlprog/medlprog.html |
219 | |
c9c2ca27 |
220 | Abcde's new mailing list is abcde@listas.hispalinux.es. So far has not |
221 | been actively used. |
222 | The posts from non-subscribers are moderated to prevent spam. |
223 | |
f6355c5f |
224 | Abcde's current page is at http://code.google.com/p/abcde/ |
c9c2ca27 |
225 | |
c9c2ca27 |
226 | -- |
c9c2ca27 |
227 | Jesus Climent <jesus.climent@hispalinux.es> |
f6355c5f |
228 | Colin Tuckley <colint@debian.org> |
79e3928b |
229 | |
b7f1cc84 |
230 | abcde was originally created by Robert Woodcock <rcw@debian.org> |
79e3928b |
231 | |