cacademo
Display animated ASCII art in the terminal
TLDR
View an animation
SYNOPSIS
cacademo [-h] [-D device] [-r rate] [-f format] [-c channels] [-P period_size] [-B buffer_size]
PARAMETERS
-h
Show summary of options
-D device
Specify PCM device name (default: default)
-r rate
Specify sample rate in Hz (default: 48000)
-f format
Specify sample format (e.g., S16_LE; default: native)
-c channels
Specify number of channels (default: 2)
-P period_size
Specify period size in frames (default: native)
-B buffer_size
Specify buffer size in frames (default: native)
DESCRIPTION
Cacademo is a demonstration program from the ALSA (Advanced Linux Sound Architecture) utils package. It tests sound card capabilities by playing a sequence of generated audio signals, including sine waves, square waves, triangle waves, sawtooth waves, white noise, ring modulation, FM synthesis, and basic speech. Each segment displays console output with parameters like frequency and duration.
Ideal for verifying new hardware setups, driver configurations, or PCM device functionality. It exercises various sample rates, formats, and channels. By default, it uses the system's default PCM device and standard parameters (48kHz, 16-bit, stereo). Output can be loud and cacophonous—hence the name—testing limits without external files.
Press Ctrl+C to interrupt. Useful for debugging underruns or hardware issues.
CAVEATS
Produces loud, annoying sounds—lower volume first. May cause underruns on slow systems or poor drivers. No playback control beyond Ctrl+C.
DEMO SEQUENCE
Card info, sine (440Hz), square, triangle, sawtooth, noise, ring mod, FM synth, speech.
Total ~30-60 seconds.
INSTALLATION
Install via alsa-utils package: apt install alsa-utils or yum install alsa-utils.
HISTORY
Part of alsa-utils since early 2000s; created by Jaroslav Kysela for ALSA testing. Remains in modern distributions for legacy hardware validation.
SEE ALSO
aplay(1), arecord(1), alsamixer(1), speaker-test(1)


