AUCAT(1) | General Commands Manual | AUCAT(1) |
aucat
— audio
files manipulation tool
aucat |
[-dn ] [-b
size] [-c
min:max]
[-e enc]
[-f device]
[-g position]
[-h fmt]
[-i file]
[-j flag]
[-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
min:max0:1
, i.e. stereo.-d
-e
enc-f
device-g
position-h
fmt-i
file-j
flagoff
, then each source channel is routed to a
single destination channel, possibly discarding channels. If the flag is
on
, then a single source may be sent to multiple
destinations and multiple sources may be mixed into a single destination.
For instance, this feature could be used to convert a stereo file into a
mono file mixing left and right channels together. The default is
off
.-n
-i
) and one output
(-o
).-o
file-p
position-q
port-r
rate48000
.-v
volumeOn the command line, per-file parameters
(-cehjrv
) 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/0 and a MMC-controlled one snd/0.mmc:
$ sndiod -r 48000 -z 480 -s default -t slave -s mmc
Programs using snd/0 behave normally, while programs using snd/0.mmc wait for the MMC start signal and start synchronously. Then, the following command will play a file on the snd/0.mmc audio device, giving full control to MIDI software or hardware connected to the midithru/0 MIDI port:
$ aucat -f snd/0.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. Furthermore, the MIDI sequencer could be
configured to use the snd/0 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 -c 2:3 -o file1.wav -c 6:7 -o file2.wav
Split a stereo file into two mono files:
$ aucat -n -i stereo.wav -c 0:0 -o left.wav \ -c 1:1 -o right.wav
audioctl(1), cdio(1), mixerctl(1), audio(4), sndio(7), 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).
June 19, 2024 | Debian |