|AUCAT(1)||General Commands Manual||AUCAT(1)|
aucat — audio
files manipulation tool
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
mode could be used to process audio files without involving audio hardware.
aucat can accept MIDI messages
The options are as follows:
0:1, i.e. stereo.
off, 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
-i) and one output (
On the command line, per-file parameters
-cehjrv) must precede the file definition
aucat is sent
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
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
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
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).
|April 22, 2020||OpenBSD-6.8|