AUCAT(1) | General Commands Manual | AUCAT(1) |
aucat
— audio file
manipulation tool
aucat |
[-dn ] [-b
size] [-c
channels] [-e
enc] [-f
device] [-g
position] [-h
fmt] [-i
file] [-m
min:max/min:max]
[-o file]
[-p position]
[-q port]
[-r rate]
[-v volume] |
The aucat
utility can play, record, mix,
and process audio files on the fly. During playback,
aucat
reads audio data concurrently from all played
files, mixes it and plays the result on the device. Similarly, it stores
audio data recorded from the device into corresponding files. An
off-line
mode could be used to process audio files without involving audio hardware.
Processing includes:
Finally, aucat
can accept MIDI messages
usable for:
The options are as follows:
-b
size-c
channels-d
-e
enc-f
device-g
position-h
fmt-i
file-m
min:max/min:max-n
-i
) and one output
(-o
).-o
file-p
position-q
port-r
rate48000
.-v
volumeOn the command line, per-file parameters
(-cehmrv
) must precede the file definition
(-io
).
If aucat
is sent
SIGHUP
, SIGINT
or
SIGTERM
, it terminates recording to files.
aucat
can be controlled through MIDI
(-q
) as follows: a MIDI channel is assigned to each
stream, and the volume is changed using the standard volume controller
(number 7). The master volume can be changed using the standard master
volume system exclusive message.
All audio files are controlled by the following MMC messages:
MIDI control is intended to be used together with sndiod(8). For instance, the following command will create two devices: the default snd/default and a MMC-controlled one snd/default.mmc:
$ sndiod -r 48000 -z 480 -s default -t slave -s mmc
Programs using snd/default behave normally, while programs using snd/mmc wait for the MMC start signal and start synchronously. Then, the following command will play a file on the snd/mmc audio device, giving full control to MIDI software or hardware connected to the midithru/0 MIDI port:
$ aucat -f snd/mmc -q midithru/0 -i file.wav
At this stage, aucat
will start, stop and
relocate automatically following all user actions in the MIDI sequencer,
assuming it's configured to transmit MMC on midithru/0
and snd/mmc. Furthermore, the MIDI sequencer could be
configured to use the snd/mmc port as MTC clock
source, assured to be synchronous to playback of
file.wav.
Mix and play two files while recording a third file:
$ aucat -i file1.wav -i file2.wav -o file3.wav
Record channels 2 and 3 into one stereo file and channels 6 and 7 into another stereo file using a 44.1kHz sampling rate for both:
$ aucat -r 44100 -m 2:3/0:1 -o file1.wav -m 6:7/0:1 -o file2.wav
Split a stereo file into two mono files:
$ aucat -n -i stereo.wav -c 1 -m 0:0/0:0 -o left.wav \ -m 1:1/0:0 -o right.wav
cdio(1), audio(4), sndio(7), audioctl(8), mixerctl(8), sndiod(8)
Resampling is low quality.
There are limitations inherent to the wav, aiff, and au file formats: not all encodings are supported, file sizes are limited to 2GB, and the files must support the lseek(2) operation (e.g. pipes do not support it).
January 31, 2025 | Debian |