====== Edge2 and ES8316 Audio Usage ====== ES8316 codec usage require [[https://www.khadas.com/product-page/edge2-io-module|Edge2 IO extension board]]. ===== Alsa audio device HW name ===== Access to **ES8316** codec will be available by ''hw:CARD=rockchipes8316c'' alsa audio device HW name, for example: ''aplay -D **hw:CARD=rockchipes8316c** ... '' ```shell print ES8316 hw name ~# aplay -L | grep rockchipes8316c -m1 hw:CARD=rockchipes8316c,DEV=0 ~# arecord -L | grep rockchipes8316c -m1 hw:CARD=rockchipes8316c,DEV=0 ``` ===== Alsa audio device HW index ===== ```shell print ES8316 hw index ~# arecord -l | grep es8316-codec -A2 card 3: rockchipes8316c [rockchip,es8316-codec], device 0: fe470000.i2s-ES8316 HiFi ES8316 HiFi-0 [fe470000.i2s-ES8316 HiFi ES8316 HiFi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 ~# aplay -l | grep es8316-codec -A2 card 3: rockchipes8316c [rockchip,es8316-codec], device 0: fe470000.i2s-ES8316 HiFi ES8316 HiFi-0 [fe470000.i2s-ES8316 HiFi ES8316 HiFi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 ``` The sound **card 3** is the ES8316 device and audio device HW index is ''3''. ===== Record from ES8316 ===== ``` arecord -D hw:CARD=rockchipes8316c -f cd -d 20 record.wav ``` or by audio device HW index (will be ''3'' for this example) ```shell arecord -D hw:3 -f cd -d 20 record.wav ``` The headphone mic has the higher priority than the AMIC, which means if you connect the headphone then will record from the headphone mic, otherwise record from the AMIC. ===== Playback from ES8316 ===== ```shell aplay -D hw:CARD=rockchipes8316c xxx.wav ``` or by audio device HW index (will be ''3'' for this example) ```shell aplay -D hw:3 xxx.wav ``` The headphone has the higher priority than the speaker, which means if you connect the headphone then will play from the headphone, otherwise play from the speaker.