ICEDAX(1)

๐Ÿ“ฆ
version 1.1.11 ยท 3 versions
, in alpine 3.24, debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

okay so bestie, you opened the ICEDAX(1) page โ€” it's the General Commands Manual and we are gonna read it together because you deserve to know how to dump CD audio into wav files. no cap ๐Ÿ’–

๐ŸŒธ NAME ๐ŸŒธ

icedax โ€” a sampling utility that dumps CD audio data into wav sound files. that's the whole vibe. periodt.

โœจ SYNOPSIS โœจ

here's the shape of the command, bestie โ€” don't let the brackets scare you, they're just options being extra ๐ŸŽ€

icedax [-c chans] [-s] [-m] [-b bits] [-r rate] [-a divider] [-t
track[+endtrack]] [-i index] [-o offset] [-d duration] [-x] [-q] [-w]
[-v optlist] [-V] [-Q] [-J] [-L cddbmode] [-R] [-P sectors] [-F] [-G]
[-T] [-e] [-p percentage] [-n sectors] [-l buffers] [-N] [-J] [-H] [-g]
[-B] [-D device] [-A auxdevice] [-I interface] [-O audiotype] [-C input-
endianess] [-E output-endianess] [-M count] [-S speed] [-paranoia]
[cddbp-server=servername] [cddbp-port=portnumber] [filename(s) or
directories]

๐Ÿ’ฟ DESCRIPTION ๐Ÿ’ฟ

icedax stands for InCrEdible Digital Audio eXtractor. It can retrieve audio tracks (CDDA) from CDROM drives that are capable of reading audio data digitally to the host (see README for a list of drives). it's giving "I extract audio and I'm iconic" โœจ

๐Ÿ‘‘ OPTIONS ๐Ÿ‘‘

okay so now the main character energy: the options. every single one, no skips, because we don't do that here ๐Ÿ’…

  • dev=device, -D device, -device device โ€” bestie, this uses device as the source for CDDA reading. For example /dev/cdrom or Bus,ID,Lun. The device specification can also have influence on the selection of the driver interface (eg. on Linux). See the -I option for details. The setting of the environment variable CDDA_DEVICE is overridden by this option. no cap.
  • -A auxdevice, -auxdevice auxdevice โ€” uses auxdevice as CDROM drive for ioctl usage. lowkey straightforward.
  • -I interface, -interface interface โ€” specifies the interface for CDROM access: generic_scsi or (on Linux, and FreeBSD systems) cooked_ioctl. Using the cooked_ioctl is not recommended as this makes icedax mainly depend on the audio extraction quality of the operating system which is usually extremely bad. so like, don't do it unless you hate yourself ๐Ÿ’€
  • -c channels, --channels โ€” uses 1 for mono, or 2 for stereo recording, or s for stereo recording with both channels swapped. slay.
  • -s, --stereo โ€” sets to stereo recording. periodt.
  • -m, --mono โ€” sets to mono recording. okay.
  • -x, --max โ€” sets maximum (CD) quality. iconic behavior.
  • -b bits, --bits-per-sample โ€” sets bits per sample per channel: 8, 12 or 16.
  • -r rate, --rate โ€” sets rate in samples per second. Possible values are listed with the -R option. iykyk.
  • -a divider, --divider โ€” sets rate to 44100Hz / divider. Possible values are listed with the -R option.
  • -R, --dump-rates โ€” shows a list of all sample rates and their dividers. vibe check.
  • -P sectors, --set-overlap โ€” sets the initial number of overlap sectors for jitter correction.
  • -n sectors, --sectors-per-request โ€” reads sectors per request.
  • -l buffers, --buffers-in-ring โ€” uses a ring buffer with buffers total.
  • -t track+endtrack, --track โ€” selects the start track and optionally the end track.
  • -i index, --index โ€” selects the start index.
  • -o offset, --offset โ€” starts offset sectors behind start track (one sector equivalents 1/75 seconds).
  • -O audiotype, --output-format โ€” can be wav (for wav files) or aiff (for apple/sgi aiff files) or aifc (for apple/sgi aifc files) or au or sun (for sun .au PCM files) or cdr or raw (for headerless files to be used for cd writers). so many choices, bestie.
  • -C endianess, --cdrom-endianess โ€” sets endianess of the input samples to 'little', 'big' or 'guess' to override defaults.
  • -E endianess, --output-endianess โ€” sets endianess of the output samples to 'little' or 'big' to override defaults.
  • -d duration, --duration โ€” sets recording time in seconds or frames. Frames (sectors) are indicated by a 'f' suffix (like 75f for 75 sectors). 0 sets the time for whole track.
  • -B, --bulk, --alltracks โ€” copies each track into a separate file. main character energy.
  • -w, --wait โ€” waits for signal, then start recording.
  • -F, --find-extremes โ€” finds extreme amplitudes in samples.
  • -G, --find-mono โ€” finds if input samples are in mono.
  • -T, --deemphasize โ€” undo the effect of pre-emphasis in the input samples.
  • -e, --echo โ€” copies audio data to sound device e.g. /dev/dsp.
  • -p percentage, --set-pitch โ€” changes pitch of audio data copied to sound device.
  • -v itemlist, --verbose-level โ€” prints verbose information about the CD. Level is a list of comma separated suboptions. Each suboption controls the type of information to be reported.
    • disable โ€” no information is given, warnings appear however
    • all โ€” all information is given
    • toc โ€” show table of contents
    • summary โ€” show a summary of the recording parameters
    • indices โ€” determine and display index offsets
    • catalog โ€” retrieve and display the media catalog number MCN
    • trackid โ€” retrieve and display all International Standard Recording Codes ISRC
    • sectors โ€” show the table of contents in start sector notation
    • titles โ€” show the table of contents with track titles (when available)
  • -N, --no-write โ€” does not write to a file, it just reads (for debugging purposes). literally just reading, no writing.
  • -J, --info-only โ€” does not write to a file, it just gives information about the disc. info dump, but make it fashion.
  • -L cddb mode, --cddb โ€” does a cddbp album- and track title lookup based on the cddb id. The parameter cddb mode defines how multiple entries shall be handled.
    • 0 โ€” interactive mode. The user selects the entry to use.
    • 1 โ€” first fit mode. The first entry is taken unconditionally.
  • cddbp-server=servername โ€” sets the server to be contacted for title lookups.
  • cddbp-port=portnumber โ€” sets the port number to be used for title lookups.
  • -H, --no-infofile โ€” does not write an info file and a cddb file.
  • -g, --gui โ€” formats the output to be better parsable by gui frontends.
  • -M count, --md5 โ€” enables calculation of MD-5 checksum for 'count' bytes from a beginning of a track.
  • -S speed, --speed โ€” sets the cdrom device to one of the selectable speeds for reading.
  • -q, --quiet โ€” quiet operation, no screen output. shhh.
  • -V, --verbose-SCSI โ€” enable SCSI command logging to the console. This is mainly used for debugging.
  • -Q, --silent-SCSI โ€” suppress SCSI command error reports to the console. This is mainly used for guis.
  • -scanbus โ€” Scan all SCSI devices on all SCSI busses and print the inquiry strings. This option may be used to find SCSI address of the CD/DVD-Recorder on a system. The numbers printed out as labels are computed by: bus * 100 + target
  • --devices โ€” Like -scanbus but works in a more native way, respecting the device name specification on the current operating system. See wodim(1) for details.
  • -paranoia โ€” use the paranoia library instead of icedax's routines for reading.
  • -h, --help โ€” display version of icedax on standard output.

Defaults depend on the Makefile and environment variable settings (currently CDDA_DEVICE ).


more parts are coming, so keep this tab open bestie ๐Ÿ’…

โœจ ENVIRONMENT VARIABLES โœจ

Okay bestie, listen up, these are the env vars that change how icedax acts. No cap. ๐Ÿ’–

  • CDDA_DEVICE โ€” used to set the device name. The device naming is compatible with the one used by the wodim tool. ๐ŸŽ€
  • CDDBP_SERVER โ€” used for cddbp title lookups when supplied. ๐Ÿ’…
  • CDDBP_PORT โ€” used for cddbp title lookups when supplied. โœจ
  • RSH โ€” if the RSH environment variable is present, the remote connection will not be created via rcmd(3) but by calling the program pointed to by RSH. Use e.g. RSH=/usr/bin/ssh to create a secure shell connection.

Note that this forces icedax to create a pipe to the rsh(1) program and disallows icedax to directly access the network socket to the remote server. This makes it impossible to set up performance parameters and slows down the connection compared to a root initiated rcmd(3) connection. ๐Ÿ˜ญ

  • RSCSI โ€” if the RSCSI environment variable is present, the remote SCSI server will not be the program /opt/schily/sbin/rscsi but the program pointed to by RSCSI. Note that the remote SCSI server program name will be ignored if you log in using an account that has been created with a remote SCSI server program as login shell. ๐Ÿ‘‘

๐ŸŒˆ RETURN VALUES ๐ŸŒˆ

icedax uses the following exit codes to indicate various degrees of success, bestie. Vibe check each one:

  • 0 โ€” no errors encountered, successful operation. Slay! ๐ŸŽ‰
  • 1 โ€” usage or syntax error. icedax got inconsistent arguments. ๐Ÿ™ˆ
  • 2 โ€” permission (un)set errors. permission changes failed. ๐Ÿ”’
  • 3 โ€” read errors on the cdrom/burner device encountered. ๐Ÿ’€
  • 4 โ€” write errors while writing one of the output files encountered. ๐Ÿ˜ญ
  • 5 โ€” errors with soundcard handling (initialization/write). ๐ŸŽง
  • 6 โ€” errors with stat() system call on the read device (cooked ioctl). ๐Ÿ“
  • 7 โ€” pipe communication errors encountered (in forked mode). ๐Ÿšฐ
  • 8 โ€” signal handler installation errors encountered. ๐Ÿ“ก
  • 9 โ€” allocation of shared memory failed (in forked mode). ๐Ÿง 
  • 10 โ€” dynamic heap memory allocation failed. ๐Ÿ’พ
  • 11 โ€” errors on the audio cd medium encountered. ๐Ÿ’ฟ
  • 12 โ€” device open error in ioctl handling detected. ๐Ÿ”Œ
  • 13 โ€” race condition in ioctl interface handling detected. ๐Ÿ
  • 14 โ€” error in ioctl() operation encountered. โš ๏ธ
  • 15 โ€” internal error encountered. Please report back!!! ๐Ÿšจ
  • 16 โ€” error in semaphore operation encountered (install / request). ๐Ÿšฆ
  • 17 โ€” could not get the scsi transfer buffer. ๐Ÿ“ฆ
  • 18 โ€” could not create pipes for process communication (in forked mode). ๐Ÿช 

๐Ÿ’ฟ DISCUSSION ๐Ÿ’ฟ

Okay so icedax is able to read parts of an audio CD or multimedia CDROM (containing audio parts) directly digitally. These parts can be written to a file, a pipe, or to a sound device. It's giving audio extraction realness. ๐ŸŽถ

icedax stands for CDDA to WAV (where CDDA stands for compact disc digital audio and WAV is a sound sample format introduced by MS Windows). It allows copying CDDA audio data from the CDROM drive into a file in WAV or other formats. Iconic. โœจ

The latest versions try to get higher real-time scheduling priorities to ensure smooth (uninterrupted) operation. These priorities are available for super users and are higher than those of 'normal' processes. Thus delays are minimized. Main character energy, fr. ๐Ÿ‘‘

If your CDROM is on device DEV and it is loaded with an audio CD, you may simply invoke icedax dev=DEV and it will create the sound file audio.wav recording the whole track beginning with track 1 in stereo at 16 bit at 44100 Hz sample rate, if your file system has enough space free. Otherwise recording time will be limited. For details see files README and README.INSTALL. Don't forget to check those, bestie! ๐Ÿ“–


๐Ÿง  HINTS ON OPTIONS ๐Ÿง 

Options

Most of the options are used to control the format of the WAV file. In the following text all of them are described. So buckle up. ๐Ÿ’…

Select Device

  • -D device โ€” selects the CDROM drive device to be used. The specifier given should correspond to the selected interface (see below). CHANGE! For the cooked_ioctl interface this is the cdrom device descriptor as before. The SCSI devices used with the generic SCSI interface however are now addressed with their SCSI-Bus, SCSI-Id, and SCSI-Lun instead of the generic SCSI device descriptor!!! One example for a SCSI CDROM drive on bus 0 with SCSI ID 3 and lun 0 is -D0,3,0. ๐ŸŒ€

Select Auxiliary device

  • -A auxdevice โ€” is necessary for CD-Extra handling. For Non-SCSI-CDROM drives this is the same device as given by -D (see above). For SCSI-CDROM drives it is the CDROM drive (SCSI) device (i.e. /dev/sr0 ) corresponding to the SCSI device (i.e. 0,3,0 ). It has to match the device used for sampling. ๐ŸŽฏ

Select Interface

  • -I interface โ€” selects the CDROM drive interface. For SCSI drives use generic_scsi (cooked_ioctl may not yet be available for all devices): generic_scsi and cooked_ioctl. The first uses the generic SCSI interface, the latter uses the ioctl of the CDROM driver. The latter variant works only when the kernel driver supports CDDA reading. This entry has to match the selected CDROM device (see above). ๐Ÿ”„

Enable echo to soundcard

  • -e โ€” copies audio data to the sound card while recording, so you hear it nearly simultaneously. The soundcard gets the same data that is recorded. This is time critical, so it works best with the -q option. To use icedax as a pseudo CD player without recording in a file you could use icedax -q -e -t2 -d0 -N to play the whole second track. This feature reduces the recording speed to at most onefold speed. You cannot make better recordings than your sound card can play (since the same data is used). ๐ŸŽง
  • -p percentage โ€” okay so this one โœจchanges the pitch of echoed audioโœจ. Every bit of audio you echo out to a sound card gets pitch-shifted. And listen โ€” only the copy going to the soundcard is affected, the recorded audio samples sitting in your file stay exactly the same, no cap. Normal pitch is the default, and that's 100%. Lower percentages = lower pitches, so -p 50 transposes the audio output down one whole octave. ๐Ÿ’… Also go peek at the script pitchplay if you want an example of it in the wild. This option was contributed by Raul Sobon. ๐Ÿซถ
  • -m or -c 1 โ€” mono recording (both stereo channels get mixed together).
  • -s or -c 2 or -c s โ€” stereo recording. And bestie, note this: the parameter s will swap both sound channels. ๐Ÿฆ‹
  • -x โ€” maximum quality mode, she's giving full CD quality: sets stereo, 16 bits per sample at 44.1 KHz. ๐Ÿ‘‘ Just know that other format options you pass later can still change this setting. Order matters, iykyk.
  • -b bits โ€” select your sample quality, here's the tea:
    • -b 8 โ€” 8 bit (1 Byte) for each sample in each channel
    • -b 12 โ€” 12 bit (2 Byte) for each sample in each channel
    • -b 16 โ€” 16 bit (2 Byte) for each sample in each channel
Make sure your sample player or sound card can actually play 12-bit or 16-bit samples, fr fr. ๐Ÿ™ˆ

Selecting 12 or 16 bits doubles the file size. And 12-bit samples are aligned to 16-bit samples, so they're lowkey wasting some disk space. ๐Ÿ’€

  • -r samplerate โ€” picks a sample rate. samplerate can be anywhere between 44100 and 900. Option -R lists all the available rates. ๐ŸŒธ
  • -a divider โ€” picks a sample rate divider. divider can be minimally 1 and maximally 50.5, and everything in between in steps of 0.5. Option -R lists all available rates. โญ

So the way this works: to make the sound smoother at lower sampling rates, icedax sums over n samples (where n is the specific dividend). For 22050 Hertz output we sum over 2 samples, for 900 Hertz we sum over 49 samples. This cancels higher frequencies. The standard sector size of an audio CD (ignoring additional information) is 2352 Bytes, and to finish summing for an output sample at sector boundaries, the rates above have to be chosen. Arbitrary sampling rates in high quality would need some interpolation scheme, which needs much more sophisticated programming. It's giving math. ๐Ÿงš

  • -R โ€” shows a list of all sample rates and their dividers. Dividers can range from 1 to 50.5 in steps of 0.5. ๐Ÿ’–
  • -t n+m โ€” selects n as the start track and optionally m as the last track of a range to be recorded. These tracks must come from the table of contents. This sets the track where recording begins, and recording can advance through the following tracks as well (limited by the optional end track, or otherwise depending on recording time). Whether you get one file or different files after that depends on the -B option (see below). ๐ŸŽ€
  • -i n โ€” selects the index to start recording with. Indices other than 1 will invoke the index scanner, which will take some time to find the correct start position. An offset may be given additionally (see below). โœจ
  • -d n โ€” sets recording time to n seconds, or sets recording time for the whole track if n is zero. To specify the duration in frames (sectors) also, the argument can have an appended 'f' โ€” then the numerical argument is taken as frames (sectors) rather than seconds. ๐Ÿ‘‘
Please note that if track ranges are being used they define the recording time as well, thus overriding any -d option specified times. So like, -d is not the main character there. ๐Ÿ˜ญ

Recording time is defined as the time the generated sample will play (at the defined sample rate). Since it's related to the amount of generated samples, it's not the time of the sampling process itself (which can be less or more). It's also not strictly coupled with the time information on the audio CD (the one your hifi CD player shows you). Differences can occur by using the -o option (see below). And notice: recording time will be shortened unless enough disk space exists. ๐Ÿ”ฅ

Recording can be aborted at anytime by pressing the break character (signal SIGQUIT). ๐Ÿ’€

  • -B โ€” record all tracks of a complete audio CD in separate files. Copies each track into a separate file. A base name can be given. File names have an appended track number and an extension corresponding to the audio format. To record all audio tracks of a CD, use a sufficient high duration (i.e. -d99999). ๐ŸŒˆ
  • -o sectors โ€” set start sector offset: increments the start sector of the track by sectors. With this you can skip a certain amount at the beginning of a track so you can pick exactly the part you want. Each sector runs for 1/75 seconds, so you have very fine control, bestie. ๐Ÿซถ
If your offset is so high that it would not fit into the current track, a warning message is issued and the offset is ignored. Recording time is not reduced.

(To skip introductory quiet passages automagically, use the -w option, see below.) ๐Ÿ’…

  • -w โ€” wait for signal option. Turning this on suppresses all silent output at startup, reducing possibly file size. icedax will watch for any signal in the output signal and switches on writing to file. ๐Ÿ‘‘
  • -F โ€” find extreme samples. Turning this on will display the most negative and the most positive sample value found during recording for both channels. Useful for readjusting the volume. The values shown are not reset at track boundaries โ€” they cover the complete sampling process. They're taken from the original samples and have the same format (i.e. they're independent of the selected output format). ๐Ÿ’–
  • -G โ€” find if input samples are in mono. If given, input samples for both channels will be compared, and at the end of the program the result is printed. Differences in the channels indicate stereo; otherwise, when both channels are equal, it will indicate mono. ๐Ÿฆ‹
  • -T โ€” undo the pre-emphasis in the input samples. Some older audio CDs are recorded with a modified frequency response called pre-emphasis. This is found mostly in classical recordings. The correction can be seen in the flags of the Table Of Contents often โ€” but there are recordings that show this setting only in the subchannels. If this option is given, the index scanner will be started, which reads the q-subchannel of each track. If pre-emphasis is indicated in the q-subchannel of a track but not in the TOC, pre-emphasis will be assumed to be present, and subsequently a reverse filtering is done for this track before the samples are written into the audio file. ๐ŸŽ€
  • -O audiotype โ€” set audio format. audiotype can be wav (for wav files), or au or sun (for sun PCM files), or cdr or raw (for headerless files to be used for cd writers). All file samples are coded in linear pulse code modulation (as done in the audio compact disc format) โ€” this holds for all audio formats. โญ
    • Wav files are compatible to Wind*ws sound files, they have lsb,msb byte order as being used on the audio cd. The default filename extension is '.wav'.
    • Sun type files are not like the older common logarithmically coded .au files โ€” instead, as mentioned above, linear PCM is used. The byte order is msb,lsb to be compatible. The default filename extension is '.au'.
    • The AIFF and the newer variant AIFC from the Apple/SGI world store their samples in bigendian format (msb,lsb). In AIFC no compression is used.
    • Finally the easiest 'format', the cdr aka raw format. It's done per default in msb,lsb byte order to satisfy the order wanted by most cd writers. Since there is no header information in this format, the sample parameters can only be identified by playing the samples on a soundcard or similar. The default filename extension is '.cdr' or '.raw'. ๐Ÿ’…
  • -S speed โ€” select cdrom drive reading speed. speed lets you switch the cdrom drive to a certain level of speed in order to reduce read errors. The argument is transfered verbatim to the drive. Details depend very much on the cdrom drives. An argument of 0 for example is often the default speed of the drive, and a value of 1 often selects single speed. ๐ŸŒ€
  • -M count โ€” enable MD5 checksums. count enables calculation of MD-5 checksum for 'count' bytes from the beginning of a track. This was introduced for quick comparisons of tracks. ๐Ÿ‘‘
  • -paranoia โ€” use Monty's libparanoia for reading of sectors. Selects an alternate way of extracting audio sectors. Monty's library is used with the following default options:
PARANOIA_MODE_FULL, but without PARANOIA_MODE_NEVERSKIP

For details see Monty's libparanoia documentation. In this case the option -P has no effect. ๐Ÿ’€

  • -P sectors โ€” do linear or overlapping reading of sectors. (This applies unless option -paranoia is used.) Sets the given number of sectors for initial overlap sampling for jitter correction. Two cases to distinguish, bestie: ๐Ÿฆ‹

For nonzero values, some sectors are read twice to enable icedax's jitter correction. For nonzero overlap sectors, icedax dynamically adjusts the setting during sampling (like cdparanoia does). If no match can be found, icedax retries the read with an increased overlap. If the amount of jitter is lower than the current overlapped samples, icedax reduces the overlap setting, resulting in a higher reading speed.

If an argument of zero is given, no overlap sampling will be used at all.

The argument given has to be lower than the total number of sectors per request (see option -n below). icedax will check this setting and issues an error message otherwise. โš ๏ธ

The case of zero sectors is nice on low load situations, or errorfree (perfect) cdrom drives and perfect (not scratched) audio cds. โœจ

  • -n sectors โ€” set the transfer size. Will set the transfer size to the specified sectors per request. ๐Ÿ’–
  • -l buffers โ€” set number of ring buffer elements. Will allocate the specified number of ring buffer elements. ๐ŸŽ€

๐Ÿฆ‹ Set endianess of input samples

  • -C endianess โ€” this one overrides whatever the input format decided was the default. You can set it straight up to "little" or "big", or hand it over to the automatic detection that votes its way to an answer with "guess". Democracy, but for bytes ๐Ÿ’…

๐ŸŒˆ Set endianess of output samples

  • -E endianess โ€” same energy, but for the output. It can be "little" or "big", and it overrides the default settings of the output format.

โœจ Verbose option

  • -v itemlist โ€” prints way more info, bestie. And it's a list, so you get to pick exactly which info items you want:
    • disable โ€” keeps quiet ๐Ÿคซ
    • toc โ€” displays the table of contents
    • summary โ€” displays a summary of recording parameters
    • indices โ€” invokes the index scanner and displays start positions of indices
    • catalog โ€” retrieves and displays a media catalog number
    • trackid โ€” retrieves and displays international standard recording codes
    • sectors โ€” displays track start positions in absolute sector notation

Wanna combine several requests? Just list the suboptions separated with commas. Comma-separated, like a little wishlist ๐ŸŽ€

๐Ÿ’– The table of contents

The display will show the table of contents with number of tracks and total time โ€” displayed in mm:ss.hh format, where mm=minutes, ss=seconds, and hh=rounded 1/100 seconds. The following list displays track number and track time for each entry. The summary gives a line per track describing the type of the track:

track preemphasis copypermitted tracktype chans

The track column holds the track number. preemphasis shows if that track has been given a non linear frequency response. NOTE: you can undo this effect with the -T option. copy-permitted indicates if this track is allowed to copy. tracktype can be data or audio. On multimedia CDs (except hidden track CDs) both of them should be present. channels is defined for audio tracks only. There can be two or four channels.

๐Ÿšซ No file output

  • -N โ€” this debugging option switches off writing to a file.

๐Ÿ™ˆ No infofile generation

  • -H โ€” this option switches off creation of an info file and a cddb file.

๐Ÿ–ฅ๏ธ Generation of simple output for gui frontends

  • -g โ€” this option switches on simple line formatting, which is needed to support gui frontends (like xcd-roast).

๐Ÿ’€ Verbose SCSI logging

  • -V โ€” this option switches on logging of SCSI commands. This will produce a LOT of output (when SCSI devices are being used). It's needed for debugging purposes. The format is the same as being used with the cdrecord program from Joerg Schilling or the wodim tool. See there for details.

๐Ÿคซ Quiet option

  • -q โ€” suppresses all screen output except error messages. That reduces cpu time resources. Silent but efficient, periodt.

๐Ÿ‘‘ Just show information option

  • -J โ€” does not write a file, it only prints information about the disc (depending on the -v option). This is just for information purposes.

๐Ÿ’… CDDBP support

๐ŸŽ€ Lookup album and track titles option

  • -L cddbp mode โ€” Icedax tries to retrieve performer, album-, and track titles from a cddbp server. The default server right now is 'freedb.freedb.org'. It is planned to have more control over the server handling later. The parameter defines how multiple entries are handled:
    • 0 โ€” interactive mode, the user chooses one of the entries.
    • 1 โ€” take the first entry without asking.

๐ŸŒธ Set server for title lookups

  • cddb-server servername โ€” when using -L or --cddb, the server being contacted can be set with this option.

๐ŸŒˆ Set portnumber for title lookups

  • cddb-port portnumber โ€” when using -L or --cddb, the server port being contacted can be set with this option.

โญ HINTS ON USAGE

Don't create samples you cannot read. Like, first check your sample player software and sound card hardware. The author experienced problems with very low sample rates (stereo <= 1575 Hz, mono <= 3675 Hz) when trying to play them with standard WAV players for sound blaster (maybe they are not legal in WAV format). Most CD-Writers insist on audio samples in a bigendian format. Now icedax supports the -E endianess option to control the endianess of the written samples.

If your hardware is fast enough to run icedax uninterrupted and your CD drive is one of the 'perfect' ones, you will gain speed when switching all overlap sampling off with the -P 0 option. Further fine tuning can be done with the -n sectors option. You can specify how much sectors should be requested in one go.

Icedax supports pipes now ๐Ÿซถ Use a filename of - to let icedax output its samples to standard output.

Conversion to other sound formats can be done using the sox program package (although the use of sox -x to change the byte order of samples should be no more necessary; see option -E to change the output byteorder).

If you want to sample more than one track into different files in one run, this is currently possible with the -B option. When recording time exceeds the track limit a new file will be opened for the next track.


๐Ÿ’œ FILES

Icedax can generate a lot of files for various purposes.

๐ŸŽต Audio files

There are audio files containing samples with default extensions. These files are not generated when option (-N) is given. Multiple files may be written when the bulk copy option (-B) is used. Individual file names can be given as arguments. If the number of file names given is sufficient to cover all included audio tracks, the file names will be used verbatim. Otherwise, if there are less file names than files needed to write the included tracks, the part of the file name before the extension is extended with '_dd' where dd represents the current track number.

๐Ÿ“€ Cddb and Cdindex files

If icedax detects cd-extra or cd-text (album/track) title information, then .cddb and .cdindex files are generated unless suppressed by the option -H. They contain suitable formatted entries for submission to audio cd track title databases in the internet. The CDINDEX and CDDB(tm) systems are currently supported. For more information please visit www.musicbrainz.org and www.freedb.com.

๐Ÿ“ Inf files

The inf files are describing the sample files and the part from the audio cd, it was taken from. They are a means to transfer information to a cd burning program like wodim. For example, if the original audio cd had pre-emphasis enabled, and icedax -T did remove the pre-emphasis, then the inf file has pre-emphasis not set (since the audio file does not have it anymore), while the .cddb and the .cdindex have pre-emphasis set as the original does.


๐Ÿšจ WARNING

IMPORTANT: it is prohibited to sell copies of copyrighted material by noncopyright holders. This program may not be used to circumvent copyrights. The user acknowledges this constraint when using the software. Bestie, that's not a vibe, that's a rule ๐Ÿ˜ญ

๐Ÿ’€ BUGS

  • Generation of md5 checksums is currently broken.
  • Performance may not be optimal on slower systems.
  • The index scanner may give timeouts.
  • The resampling (rate conversion code) uses polynomial interpolation, which is not optimal.
  • Icedax should use threads.
  • Icedax currently cannot sample hidden audio tracks (track 1 index 0).

๐Ÿซถ ACKNOWLEDGEMENTS

Thanks goto Project MODE (http://www.mode.net/) and Fraunhofer Institut fuer integrierte Schaltungen (FhG-IIS) (http://www.iis.fhg.de/) for financial support. Plextor Europe and Ricoh Japan provided cdrom disk drives and cd burners which helped a lot to develop this software. Rammi has helped a lot with the debugging and showed a lot of stamina when hearing 100 times the first 16 seconds of the first track of the Krupps CD. Libparanoia contributed by Monty (Christopher Montgomery) xiphmont@mit.edu.


๐Ÿ‘‘ AUTHOR

Heiko Eissfeldt heiko@colossus.escape.de

This manpage describes the program implementation of icedax as shipped by the cdrkit distribution. See http://alioth.debian.org/projects/debburn/ for details. It is a spinoff from the original program cdda2wav as distributed in the cdrtools package [1]. However, the cdrtools developers are not involved in the development of this spinoff and therefore shall not be made responsible for any problem caused by it. Do not try to get support for this program by contacting the original authors.

If you have support questions, send them to

debburn-devel@lists.alioth.debian.org

If you have definitely found a bug, send a mail to this list or to

submit@bugs.debian.org

writing at least a short description into the Subject and "Package: cdrkit" into the first line of the mail body.


๐Ÿ“… DATE

26 Sep 2006


๐Ÿ“š SOURCES


and that's the whole page, bestie ๐ŸŽ€ this was the ICEDAX(1) manual, from the cdrkit source, dated 26 Sep 2006 โ€” iconic, a lil vintage, still slaying ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from