EnglishFrenchSpanish

OnWorks favicon

wav2cdr - Online in the Cloud

Run wav2cdr in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command wav2cdr that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


wav2cdr - converts input in (or similar to) wav format to cdr format suitable for writing
onto audio CDs.

SYNOPSIS


wav2cdr [options ...] [infile [outfile]] [--cut cutnumber ...]

VERSION


This man page describes wav2cdr version 2.3.4.

DESCRIPTION


wav2cdr is a conversion program for audio data which adopts automatically to big and
little endian machines. Its primary use was to convert wav to cdr, but it is a little more
flexible now and can handle some file formats and perform some operations on the data.
These formats are possible (reading and writing):

wav MS Windows sound
cdr audio CD
raw fixed sampling rate, channels, and bytes per sample
(= that of cdr); byte order must be specified

These operations can be performed on the data (combinations are possible as long as they
are meaningful):

Scaling (volume change), integer arithmetic
Scaling (volume change), floating point arithmetic
Cutting of the input into pieces / tracks
Conversion to mono and back to stereo
Swapping of the 2 channels
Adding silence to (or removing from, see cutting) the
start and/or end
Generation of cut numbers along silent intervals, e.g.
to break up a record into tracks
Information about non-silent intervals
Fading in and out

OPTIONS


--cut NUM NUM [NUM...]
Cut the input into pieces, cutting at positions NUM. See sections about argument
scanning and splitting below.

--endsilence, --es DUR
Adds the given amount of silence to the end of each output file.

--fadein LEN
Fade in at the start over a duration of LEN. The syntax for LEN is the same as for
a cut number, see section about argument scanning below. If cutting is active,
fade-in is applied to the beginning of each cut.

Fading in is performed by increasing the amplitude for CD sectors by an amount
derived from LEN over a duration of LEN. --fadein 3 would result in the amplitude
of the first sector lowered to 1/4, of the second sector to 2/4, and the third
sector to 3/4. The fourth sector is unchanged and has then reached full amplitude.

--fadeout LEN
Fade out at the end over a duration of LEN. The syntax for LEN is the same as for
a cut number, see section about argument scanning below. If cutting is active,
fad-out is applied to the end of each cut.

The computation is similar to --fadein. --fadein 3 would result in the last 3 CD
sectors having their amplitudes lowered to 3/4, 2/4, and 1/4. The (non-existant)
following sector is assumed to be silent.

To add silent sector(s) to the end of the audio file, use --endsilence.

Fading out can only be performed if the input size can be determined (i.e. the
input must be seekable and cannot be a pipe). If cutting is active, the end of the
cut is always known and the fade-out can be applied.

If the fade-out starts before the fade-in is finished, both will overlap, producing
sensible results.

--fscale FLOAT
Scale data by FLOAT, i.e. multiply by FLOAT (1.0 does nothing).

-h, -u, --usage
Display usage.

--help Display extensive help. (The information is derived from and equivalent to this
manual page.)

--inbig, -I
Input data is big endian (MSB, LSB) (Motorola).

--incdr
Read cdr format (default is wav). Sets the correct byte order.

--infile, -r NAME
Input filename. Defaults to stdin. '-' = stdin.

--inlittle, -i
Input data is little endian (LSB, MSB) (Intel).

--inraw
Read raw format. Byte order should be specified with -i/-I (default big).

--inwav
Read wav format (default). Sets the correct byte order.

--iscale NUM
Scale data to NUM percent (100 does nothing).

--monostereo
Convert input to mono and immediately back to stereo. The result is 2 channels with
the same data. This can be useful in some cases.

--noswapchannels
Don't swap channels. (default)

--outfile, -w NAME
Write output to file NAME. The track number is appended as a 2-digit number. The
default is to write output to stdout. A NAME of '-' means stdout. When cutting is
active and more than one cut is made, output can not be written to stdout and the
use of this option is mandatory.

--outbig, -O
Output data in big endian (MSB, LSB) (Motorola) byte order.

--outlittle, -o
Output data in little endian (LSB, MSB) (Intel) byte order.

--quiet
Suppress progress output. The name of this option might be misleading: it does not
prevent copious output in other places which might be turned on by --verbose.

--silencecuts
Generate cut numbers for cutting out silent intervals. This is useful when
digitising a whole record and then cutting it into tracks. The cut numbers are
output on stdout and can be fed back into --cut. After cutting, every second track
(those with even numbers) contains a silent interval and can be deleted.

Together with --verbose, the silence value of each sector is printed as well (can't
be fed back into --cut then). This most likely produces some VERY long lines.

Silence is detected by applying a threshold (--silencethresh) to a value computed
for each CD sector; the value must be below the threshold for a minimum number of
sectors (delay --silencedelay). Currently, the average is computed first (this is
the DC component); then the average of the absolute of the difference between each
sample and the DC component. The difference between these 2 averages is compared
with the threshold. Check whether the cuts really fall into the silent intervals,
and adjust threshold and duration if not (or edit the cut numbers manually).

The silence delay period is part of the signal interval, not the silence interval.
This means that each non-silent period has --silencedelay silence at the start and
at the end. If the silent interval between two signal intervals is less than (2 *
silence delay), the silent part at the start of the second signal period will be
shortened.

--silencedelay DELAY
The duration for which the "input" must be below the threshold in order to be
detected as a silent interval. In other words, the number of sectors which must be
silent before a silent interval is detected. Ignored without --silencecuts. The
delay can be specified with units in the same way as for --cut, and is truncated to
full CD sectors. Default is 30C (=0.4s).

--silenceinfo
Similar to --silencecuts, but it generates more information. Silent and non-silent
intervals are listed in a tabular format. The output format is useful for
documentation, but not for feeding back into --cut. With --verbose, the silence
values of each CD sector are shown as well. This produces lots of output, but it
is useful for finding a suitable --silencethresh.

--silencethresh THRESHOLD
Threshold for silence detection. Ignored without --silencecuts. Default is 10.
Always select a threshold as low as possible. When cutting a record into tracks,
the threshold must be high enough to recognise the crackling between pieces as
silence. When the threshold is too high, a little at the beginning and end of each
piece might be chopped off.

As a special case, if the threshold is set to 0 the usual numerical computation of
the silence value is bypassed, and the sector is deemed to be silent if all samples
are 0.

--startsilence, --ss DUR
Adds the given amount of silence to the start of each output file.

--swapchannels
Swap the left with the right channel.

--tocdr
Write data in cdr format (default). Sets the correct byte order.

--toraw
Write data in raw format. Byte order should be specified with -o/-O (default big).

--towav
Write data in wav format. Sets the correct byte order.

--verbose
Produce more output. Currently only used by --silencecuts and --silenceinfo.

--version, -V
Display version information.

-- Stop argument processing. Remaining arguments can only be filenames, or cut
numbers if cutting is used.

Command line option scanning:


From left to right. Later settings may override previous ones. Beware to switch file
formats before byte ordering, or a byte order might be rejected for the (then active)
format. When not using cutting, remaining arguments are used to fill up input and output
filenames. When using cutting, remaining arguments are assumed to be cut numbers. When
using negative cut numbers, use -- to terminate option processing or the negative numbers
can be mistaken as options (this is a must with GNU getopt()).

All options which take an argument denoting a time accept the following number format. The
number may be in decimal, octal (leading 0), or hexadecimal (leading 0x or 0X). A one-
letter unit may be following. If there is space between the number and the unit, both must
be quoted, as in "55 C". These units are recognised: b (bytes), C (audio CD sectors), s
(seconds). When no unit is given, C is assumed. The progress display might only show
numbers in some of these units. Fractions for seconds are allowed.

Negative cut numbers are only allowed if the input size can be determined (which will not
be possible if the input comes from a pipe), and are shown as the equivalent positive
ones. If the last cut number is 0 it means the end of the file. If the input file size can
not be determined the longest possible input (about 405 minutes) is substituted.

A filename of '-' is taken as stdin/stdout.

If wav2cdr was compiled to use GNU getopt(), argument scanning is more powerful and long
options can be shortened to significance. Options are also re-ordered; this is nice but
can be a trap. Use -- if in doubt, and don't mix options with filename or cut number
arguments.

Data formats:


All data handling currently assumes signed 16-bit integers, interleaved for 2 channels, at
a sampling rate of that of a CD. Only wav files with these parameters can be read
correctly. cdr files are in that format, and only raw formats with these parameters can be
processed. The only flexibility allowed for raw is the byte order, which can be specified
for both reading and writing. The byte ordering for wav and cdr is fixed.

Channel swapping:


Left and right channel are swapped, which is the same as swapping consecutive 16 bit
values with each other. Also see 'CDR Format' below.

Scaling / Volume change:


Scaling can be performed with either integer or floating point arithmetic. Integer
arithmatic is faster but possibly not as precise. Values will saturate (i.e. be clipped),
rather than be truncated. The speed of this operation depends on the endianness of the
input data, output data, and host. It is slowest when bytes have to be swapped before
scaling and swapped back after. Negative scale factors are allowed but might be of
dubious value.

Mono / stereo:


Input data can be converted to mono and then back to stereo. The result is 2 channels with
the same data. This can be useful in some cases.

Output file naming:


Unless output is to stdout, the resulting filename is the name given with --outfile. A
period and a 2-digit track number are appended.

Input data splitting:


Input data can be split into pieces resp. tracks. Currently cuts can only be placed at
multiples of audio CD sectors (at the sector boundaries), whether the input format is cdr
or not.

The cuts are placed at the given positions, which must be in ascending order (or equal).
Negative numbers are counted from the end of the input data. This only works if the input
is seekable (Unix pipes are not). Sectors of the input are numbered from 0. Bytes of a
header, which the input format might have, are not counted.

Any number of cuts can be made, but only 99 tracks can be put on a CD. All sectors before
the first but not including the first sector number are discarded, as well as all sectors
after and including the last sector number. At least 2 sector numbers (cut numbers) must
be given, in which case one piece is cut out.

If there are only 2 cut numbers (1 track to cut out) data can be written to stdout or
file. More than one track can only be written to file, the track number will be added as
an extension to the filename. To avoid the track number to be appended to the filename
when only one cut is made, don't use --outfile but write to stdout and use output
redirection.

Example (assuming 50000 sectors in the input):
wav2cdr < INPUT --outfile NAME --cut 500 20000 40000
sectors 0- 499: discarded
500-19999: saved to NAME.01
20000-39999: saved to NAME.02
40000-49999: discarded

Cutting out silent intervals:


Assuming a digitised record is stored in record.wav, and is to be cut into tracks.

wav2cdr < record.wav > cuts --silencecuts --silencedelay 2s
wav2cdr < record.wav --of tracks --cut `cat cuts`

Will store the tracks of the record in track.01, track.02, ..., with the delay for cutting
at a silent part set to 2 seconds. The threshold used is the default. Note the `` syntax
works under Unix and in this case puts the contents of file "cuts" on the command line.

Information about silences and actual sound parts:


--silenceinfo can be used in the same way as --silencecuts. It produces output like

(stdin):
silnc 0 b, 0 C, 0 s, 00:00.00 min
DIFF 811440 b, 345 C, 4 s, 00:04.22 min
--> 811440 b, 345 C, 4 s, 00:04.22 min

AUDIO 811440 b, 345 C, 4 s, 00:04.22 min
DIFF 20603520 b, 8760 C, 116 s, 01:56.05 min
--> 21414960 b, 9105 C, 121 s, 02:01.02 min

showing the beginning, length ("DIFF"), and end ("-->") of both silent ("silnc") and and
non-silent ("AUDIO") intervals. This is useful for examining existing tracks, but it can
not be used with --cut.

Messages:


Progress messages and statistics are written to stderr when writing to stdout, and to
stdout when writing to file. It is currently not possible to suppress this, other than by
redirection to the bit bucket.

Writing wav format:


Only wav files with 2 channels, 16 bits per sample, and audio CD sampling rate can be
written. If the input data is different, the resulting wav file is incorrect. Scaling can
be performed when writing wav. Cutting can only be performed in multiples of an audio CD
sector size. When writing wav the output must be seekable (e.g. no pipes).

CDR Format:


Raw sample data at a sampling rate of 44100 Hz. The channels are interleaved. The numbers
are 16 bit signed integers with this byte order: MSByte Left, LSByte Left, MSByte Right,
LSByte Right. The track size must be a multiple of the sector size of 2352 bytes. There
are 75 sectors per second.

Use wav2cdr online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

Linux commands

  • 1
    a2crd
    a2crd
    a2crd - attempts the conversion of
    lyrics file into chordii input ...
    Run a2crd
  • 2
    a2j
    a2j
    a2j - Wrapper script to simulate
    a2jmidid's non-DBUS behaviour though
    a2jmidid actually being in DBUS mode ...
    Run a2j
  • 3
    cowpoke
    cowpoke
    cowpoke - Build a Debian source package
    in a remote cowbuilder instance ...
    Run cowpoke
  • 4
    cp
    cp
    cp - copy files and directories ...
    Run cp
  • 5
    gbnlreg
    gbnlreg
    gbnlreg - Non linear regression ...
    Run gbnlreg
  • 6
    gbonds
    gbonds
    gbonds - U.S. savings bond inventory
    program for GNOME ...
    Run gbonds
  • More »

Ad