VAR-SOM-MX6 Audio record play
From Variscite Wiki
VAR-SOM-MX6 - Audio Record/Play
Get information on the Sound Cards
Installed devices:
root@var-som-mx6:~# cat /proc/asound/cards 0 [tlv320aic3xaudi]: tlv320aic3x-aud - tlv320aic3x-audio tlv320aic3x-audio 1 [imxhdmisoc ]: imx-hdmi-soc - imx-hdmi-soc imx-hdmi-soc
Note:imx-hdmi-soc will be listed only if an HDMI cable is connected.
List device names for playback:
root@var-som-mx6:~# aplay -L null Discard all samples (playback) or generate zero samples (capture) sysdefault:CARD=tlv320aic3xaudi tlv320aic3x-audio, Default Audio Device sysdefault:CARD=imxhdmisoc imx-hdmi-soc, Default Audio Device surround40:CARD=imxhdmisoc,DEV=0 imx-hdmi-soc, 4.0 Surround output to Front and Rear speakers surround41:CARD=imxhdmisoc,DEV=0 imx-hdmi-soc, 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=imxhdmisoc,DEV=0 imx-hdmi-soc, 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=imxhdmisoc,DEV=0 imx-hdmi-soc, 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=imxhdmisoc,DEV=0 imx-hdmi-soc, 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
Audio Playback
Set PCM volume (main volume of audio codec), range :0-125
$ amixer set PCM 125
Play audio:
$ aplay /usr/share/sounds/alsa/Front_Center.wav
Example:
root@var-som-mx6:~# amixer set PCM 125 Simple mixer control 'PCM',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 127 Mono: Front Left: Playback 125 [98%] [-1.00dB] Front Right: Playback 125 [98%] [-1.00dB] root@var-som-mx6:~# 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
$ arecord -f cd -d 10 -D hw:0,0 test.wav $ aplay test.wav
Example:
root@var-som-mx6:~# arecord -f cd -d 10 -D hw:0,0 test.wav Recording WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo root@var-som-mx6:~# ^C root@var-som-mx6:~# 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:
root@var-som-mx6:~# amixer Simple mixer control 'PCM',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 127 Mono: Front Left: Playback 125 [98%] [-1.00dB] Front Right: Playback 125 [98%] [-1.00dB] Simple mixer control 'Line',0 Capabilities: pswitch Playback channels: Front Left - Front Right Mono: Front Left: Playback [on] Front Right: Playback [on] ... Simple mixer control 'Right PGA Mixer Mic3R',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [off]
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 'HP DAC' Simple mixer control 'HP DAC',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 118 Mono: Front Left: Playback 71 [60%] [-23.50dB] Front Right: Playback 71 [60%] [-23.50dB]
HP DAC is a headphones DAC gain currently set to 60%. The optional values are 0-118 equal to 0%-100%.
$ amixer sset 'HP DAC' 117 117 Simple mixer control 'HP DAC',0 Capabilities: pvolume Playback channels: Front Left - Front Right Limits: Playback 0 - 118 Mono: Front Left: Playback 117 [99%] [-0.50dB] Front Right: Playback 117 [99%] [-0.50dB]
HP DAC is a headphones DAC gain currently set to 99%.
alsctl 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:
$ alsactl store -f 123.conf $ alsactl restore -f 123.conf