Audio Record/Play¶
Get information on the Sound Cards¶
Installed devices:
List device names for playback:
# aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
sysdefault:CARD=wm8904audio
wm8904-audio,
Default Audio Device
Audio Playback¶
Set PCM volume (main volume of audio codec), range :0-63
Play audio:
Example:
# amixer set Headphone 35
Simple mixer control 'Headphone',0
Capabilities: volume pswitch
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 63
Front Left: 35 [56%] [-22.00dB] Playback [on]
Front Right: 35 [56%] [-22.00dB] Playback [on]
# aplay /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
Audio Record and Play, Line-in Jack¶
Set PCM volume (main volume of audio codec), range :0-63
Set L/R capture inverting mux inputs to IN2
Set capture input source to ADC
Set DMIC Mux to DMIC2
Record CD quality audio for 10 seconds into file test.wav
Play the recorded file
Example:
# amixer set Headphone 35
Simple mixer control 'Headphone',0
Capabilities: volume pswitch
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 63
Front Left: 35 [56%] [-22.00dB] Playback [on]
Front Right: 35 [56%] [-22.00dB] Playback [on]
# amixer set 'Left Capture Inverting Mux' IN2L
Simple mixer control 'Left Capture Inverting Mux',0
Capabilities: enum
Items: 'IN1L' 'IN2L' 'IN3L'
Item0: 'IN2L'
# amixer set 'Right Capture Inverting Mux' IN2R
Simple mixer control 'Right Capture Inverting Mux',0
Capabilities: enum
Items: 'IN1R' 'IN2R' 'IN3R'
Item0: 'IN2R'
# amixer set 'Capture Input' ADC
Simple mixer control 'Capture Input',0
Capabilities: enum
Items: 'ADC' 'DMIC'
Item0: 'ADC'
# amixer set 'DMIC Mux' DMIC2
Simple mixer control 'DMIC Mux',0
Capabilities: enum
Items: 'DMIC1' 'DMIC2'
Item0: 'DMIC2'
# arecord -f cd -d 10 test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
# aplay test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Audio Record and Play, DMIC¶
Set Headphones volume, range :0-63
Set capture input source to DMIC
Set DMIC Mux to DMIC1
Record CD quality audio for 10 seconds into file test.wav
Play the recorded file
Example:
# amixer set Headphone 35
Simple mixer control 'Headphone',0
Capabilities: volume pswitch
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 63
Front Left: 35 [56%] [-22.00dB] Playback [on]
Front Right: 35 [56%] [-22.00dB] Playback [on]
# amixer set 'Capture Input' DMIC
Simple mixer control 'Capture Input',0
Capabilities: enum
Items: 'ADC' 'DMIC'
Item0: 'DMIC'
# amixer set 'DMIC Mux' DMIC1
Simple mixer control 'DMIC Mux',0
Capabilities: enum
Items: 'DMIC1' 'DMIC2'
Item0: 'DMIC1'
# arecord -f cd -d 10 test.wav
Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
# aplay test.wav
Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Advanced Controls¶
amixer without a parameter will show all available controls. For example:
# amixer
Simple mixer control 'Headphone',0
Capabilities: volume pswitch
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 63
Front Left: 35 [56%] [-22.00dB] Playback [on]
Front Right: 35 [56%] [-22.00dB] Playback [on]
Simple mixer control 'Headphone ZC',0
Capabilities: pswitch
Playback channels: Front Left - Front Right
Mono:
Front Left: Playback [on]
Front Right: Playback [on]
Simple mixer control 'Line Output',0
Capabilities: volume pswitch
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 63
Front Left: 57 [90%] [0.00dB] Playback [on]
Front Right: 57 [90%] [0.00dB] Playback [on]
Simple mixer control 'Line Output ZC',0
Capabilities: pswitch
Playback channels: Front Left - Front Right
Mono:
Front Left: Playback [on]
Front Right: Playback [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 31
Front Left: Capture 24 [77%] [on]
Front Right: Capture 24 [77%] [on]
Simple mixer control 'Capture Input',0
Capabilities: enum
Items: 'ADC' 'DMIC'
Item0: 'DMIC'
...
Options:
amixer sset sID P set contents for one mixer simple control
amixer sget sID get contents for one mixer simple control
For example:
# amixer sget 'Capture'
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 31
Front Left: Capture 24 [77%] [on]
Front Right: Capture 24 [77%] [on]
# amixer sset 'Capture' 25
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 31
Front Left: Capture 25 [81%] [on]
Front Right: Capture 25 [81%] [on]
Capture currently now set to 81%.
Save/restore system's audio settings¶
alsactl store stores all alsamixer settings into a file.
Options:
store <card> save current driver setup for one or each soundcards
to configuration file
restore <card> load current driver setup for one or each soundcards
from configuration file
Example: