Unable to record audio using microphone imx8mplus

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Unable to record audio using microphone imx8mplus

Jump to solution
800 Views
PoojaSk
Contributor II

Hi, 
 I have tried connecting headset and recording audio using microphone in imx8MPlus flashe d with LinuxBSP but  audio is not captured. Is there some other settings to be done if so please share the steps or documentation for the same.

Thanks,
Pooja

0 Kudos
Reply
1 Solution
785 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

You have to use the latest BSP, then get information on the sound cards

Installed devices:

# cat /proc/asound/cards
 0 [wm8904audio      ]: wm8904-audio - wm8904-audio
                      wm8904-audio

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

PulseAudio needs to be stopped to run amixer commands.

# systemctl stop pulseaudio

Set PCM volume (main volume of audio codec), range :0-63

# amixer set Headphone 35

Play audio:

# aplay /usr/share/sounds/alsa/Front_Center.wav

Example:

# systemctl stop pulseaudio;amixer set 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

PulseAudio needs to be stopped to run amixer commands.

# systemctl stop pulseaudio

Set PCM volume (main volume of audio codec), range :0-63

# amixer set Headphone 35

Set capture input source to ADC

# amixer set 'Capture Input' ADC

Set DMIC Mux to DMIC2

# amixer set 'DMIC Mux' DMIC2

Record CD quality audio for 10 seconds into file test.wav

# arecord -f cd -d 10 test.wav

Play the recorded file

# aplay test.wav 

Example:

# systemctl stop pulseaudio; amixer set 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' 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

PulseAudio needs to be stopped to run amixer commands.

# systemctl stop pulseaudio

Set Headphones volume, range :0-63

# amixer set Headphone 35

Set capture input source to DMIC

# amixer set 'Capture Input' DMIC

Set DMIC Mux to DMIC1

# amixer set 'DMIC Mux' DMIC1

Record CD quality audio for 10 seconds into file test.wav

# arecord -f cd -d 10 test.wav

Play the recorded file

# aplay test.wav 

Example:

 # systemctl stop pulseaudio;amixer set 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 WA

 

the everything works on EVK

Alfredo

 

View solution in original post

0 Kudos
Reply
1 Reply
786 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

You have to use the latest BSP, then get information on the sound cards

Installed devices:

# cat /proc/asound/cards
 0 [wm8904audio      ]: wm8904-audio - wm8904-audio
                      wm8904-audio

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

PulseAudio needs to be stopped to run amixer commands.

# systemctl stop pulseaudio

Set PCM volume (main volume of audio codec), range :0-63

# amixer set Headphone 35

Play audio:

# aplay /usr/share/sounds/alsa/Front_Center.wav

Example:

# systemctl stop pulseaudio;amixer set 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

PulseAudio needs to be stopped to run amixer commands.

# systemctl stop pulseaudio

Set PCM volume (main volume of audio codec), range :0-63

# amixer set Headphone 35

Set capture input source to ADC

# amixer set 'Capture Input' ADC

Set DMIC Mux to DMIC2

# amixer set 'DMIC Mux' DMIC2

Record CD quality audio for 10 seconds into file test.wav

# arecord -f cd -d 10 test.wav

Play the recorded file

# aplay test.wav 

Example:

# systemctl stop pulseaudio; amixer set 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' 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

PulseAudio needs to be stopped to run amixer commands.

# systemctl stop pulseaudio

Set Headphones volume, range :0-63

# amixer set Headphone 35

Set capture input source to DMIC

# amixer set 'Capture Input' DMIC

Set DMIC Mux to DMIC1

# amixer set 'DMIC Mux' DMIC1

Record CD quality audio for 10 seconds into file test.wav

# arecord -f cd -d 10 test.wav

Play the recorded file

# aplay test.wav 

Example:

 # systemctl stop pulseaudio;amixer set 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 WA

 

the everything works on EVK

Alfredo

 

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2087239%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EUnable%20to%20record%20audio%20using%20microphone%20imx8mplus%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2087239%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%26nbsp%3B%3CBR%20%2F%3E%26nbsp%3BI%20have%20tried%20connecting%20headset%20and%20recording%20audio%20using%20microphone%20in%20imx8MPlus%20flashe%20d%20with%20LinuxBSP%20but%26nbsp%3B%20audio%20is%20not%20captured.%20Is%20there%20some%20other%20settings%20to%20be%20done%20if%20so%20please%20share%20the%20steps%20or%20documentation%20for%20the%20same.%3CBR%20%2F%3E%3CBR%20%2F%3EThanks%2C%3CBR%20%2F%3EPooja%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2087353%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Unable%20to%20record%20audio%20using%20microphone%20imx8mplus%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2087353%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3EYou%20have%20to%20use%20the%20latest%20BSP%2C%20then%20get%20information%20on%20the%20sound%20cards%3C%2FP%3E%0A%3CP%3EInstalled%20devices%3A%3C%2FP%3E%0A%3CPRE%3E%23%20cat%20%2Fproc%2Fasound%2Fcards%0A%200%20%5Bwm8904audio%20%20%20%20%20%20%5D%3A%20wm8904-audio%20-%20wm8904-audio%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20wm8904-audio%0A%3C%2FPRE%3E%0A%3CP%3EList%20device%20names%20for%20playback%3A%3C%2FP%3E%0A%3CPRE%3E%23%20aplay%20-L%0Anull%0A%20%20%20%20Discard%20all%20samples%20(playback)%20or%20generate%20zero%20samples%20(capture)%0Apulse%0A%20%20%20%20PulseAudio%20Sound%20Server%0Asysdefault%3ACARD%3Dwm8904audio%0A%20%20%20%20wm8904-audio%2C%20%0A%20%20%20%20Default%20Audio%20Device%0A%3C%2FPRE%3E%0A%3CH1%20id%3D%22toc-hId-1246959251%22%20id%3D%22toc-hId-1300348661%22%3E%3CSPAN%20class%3D%22mw-headline%22%3EAudio%20Playback%3C%2FSPAN%3E%3C%2FH1%3E%0A%3CP%3EPulseAudio%20needs%20to%20be%20stopped%20to%20run%20amixer%20commands.%3C%2FP%3E%0A%3CPRE%3E%23%20systemctl%20stop%20pulseaudio%0A%3C%2FPRE%3E%0A%3CP%3ESet%20PCM%20volume%20(main%20volume%20of%20audio%20codec)%2C%20range%20%3A0-63%3C%2FP%3E%0A%3CPRE%3E%23%20amixer%20set%20Headphone%2035%0A%3C%2FPRE%3E%0A%3CP%3EPlay%20audio%3A%3C%2FP%3E%0A%3CPRE%3E%23%20aplay%20%2Fusr%2Fshare%2Fsounds%2Falsa%2FFront_Center.wav%0A%3C%2FPRE%3E%0A%3CP%3EExample%3A%3C%2FP%3E%0A%3CPRE%3E%23%20systemctl%20stop%20pulseaudio%3Bamixer%20set%20set%20Headphone%2035%0ASimple%20mixer%20control%20'Headphone'%2C0%0A%20%20Capabilities%3A%20volume%20pswitch%0A%20%20Playback%20channels%3A%20Front%20Left%20-%20Front%20Right%0A%20%20Capture%20channels%3A%20Front%20Left%20-%20Front%20Right%0A%20%20Limits%3A%200%20-%2063%0A%20%20Front%20Left%3A%2035%20%5B56%25%5D%20%5B-22.00dB%5D%20Playback%20%5Bon%5D%0A%20%20Front%20Right%3A%2035%20%5B56%25%5D%20%5B-22.00dB%5D%20Playback%20%5Bon%5D%0A%0A%23%20aplay%20%2Fusr%2Fshare%2Fsounds%2Falsa%2FFront_Center.wav%0APlaying%20WAVE%20'%2Fusr%2Fshare%2Fsounds%2Falsa%2FFront_Center.wav'%26nbsp%3B%3A%20Signed%2016%20bit%20Little%20Endian%2C%20Rate%2048000%20Hz%2C%20Mono%0A%3C%2FPRE%3E%0A%3CH1%20id%3D%22toc-hId--560495212%22%20id%3D%22toc-hId--507105802%22%3E%3CSPAN%20class%3D%22mw-headline%22%3EAudio%20Record%20and%20Play%2C%20Line-in%20Jack%3C%2FSPAN%3E%3C%2FH1%3E%0A%3CP%3EPulseAudio%20needs%20to%20be%20stopped%20to%20run%20amixer%20commands.%3C%2FP%3E%0A%3CPRE%3E%23%20systemctl%20stop%20pulseaudio%0A%3C%2FPRE%3E%0A%3CP%3ESet%20PCM%20volume%20(main%20volume%20of%20audio%20codec)%2C%20range%20%3A0-63%3C%2FP%3E%0A%3CPRE%3E%23%20amixer%20set%20Headphone%2035%0A%3C%2FPRE%3E%0A%3CP%3ESet%20capture%20input%20source%20to%20ADC%3C%2FP%3E%0A%3CPRE%3E%23%20amixer%20set%20'Capture%20Input'%20ADC%0A%3C%2FPRE%3E%0A%3CP%3ESet%20DMIC%20Mux%20to%20DMIC2%3C%2FP%3E%0A%3CPRE%3E%23%20amixer%20set%20'DMIC%20Mux'%20DMIC2%0A%3C%2FPRE%3E%0A%3CP%3ERecord%20CD%20quality%20audio%20for%2010%20seconds%20into%20file%20test.wav%3C%2FP%3E%0A%3CPRE%3E%23%20arecord%20-f%20cd%20-d%2010%20test.wav%0A%3C%2FPRE%3E%0A%3CP%3EPlay%20the%20recorded%20file%3C%2FP%3E%0A%3CPRE%3E%23%20aplay%20test.wav%20%0A%3C%2FPRE%3E%0A%3CP%3EExample%3A%3C%2FP%3E%0A%3CPRE%3E%23%20systemctl%20stop%20pulseaudio%3B%20amixer%20set%20set%20Headphone%2035%0ASimple%20mixer%20control%20'Headphone'%2C0%0A%20%20Capabilities%3A%20volume%20pswitch%0A%20%20Playback%20channels%3A%20Front%20Left%20-%20Front%20Right%0A%20%20Capture%20channels%3A%20Front%20Left%20-%20Front%20Right%0A%20%20Limits%3A%200%20-%2063%0A%20%20Front%20Left%3A%2035%20%5B56%25%5D%20%5B-22.00dB%5D%20Playback%20%5Bon%5D%0A%20%20Front%20Right%3A%2035%20%5B56%25%5D%20%5B-22.00dB%5D%20Playback%20%5Bon%5D%0A%23%20amixer%20set%20'Capture%20Input'%20ADC%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0ASimple%20mixer%20control%20'Capture%20Input'%2C0%0A%20%20Capabilities%3A%20enum%0A%20%20Items%3A%20'ADC'%20'DMIC'%0A%20%20Item0%3A%20'ADC'%0A%23%20amixer%20set%20'DMIC%20Mux'%20DMIC2%0ASimple%20mixer%20control%20'DMIC%20Mux'%2C0%0A%20%20Capabilities%3A%20enum%0A%20%20Items%3A%20'DMIC1'%20'DMIC2'%0A%20%20Item0%3A%20'DMIC2'%0A%23%20arecord%20-f%20cd%20-d%2010%20test.wav%0ARecording%20WAVE%20'test.wav'%26nbsp%3B%3A%20Signed%2016%20bit%20Little%20Endian%2C%20Rate%2044100%20Hz%2C%20Stereo%0A%23%20aplay%20test.wav%0APlaying%20WAVE%20'test.wav'%26nbsp%3B%3A%20Signed%2016%20bit%20Little%20Endian%2C%20Rate%2044100%20Hz%2C%20Stereo%0A%3C%2FPRE%3E%0A%3CH1%20id%3D%22toc-hId-1927017621%22%20id%3D%22toc-hId-1980407031%22%3E%3CSPAN%20class%3D%22mw-headline%22%3EAudio%20Record%20and%20Play%2C%20DMIC%3C%2FSPAN%3E%3C%2FH1%3E%0A%3CP%3EPulseAudio%20needs%20to%20be%20stopped%20to%20run%20amixer%20commands.%3C%2FP%3E%0A%3CPRE%3E%23%20systemctl%20stop%20pulseaudio%0A%3C%2FPRE%3E%0A%3CP%3ESet%20Headphones%20volume%2C%20range%20%3A0-63%3C%2FP%3E%0A%3CPRE%3E%23%20amixer%20set%20Headphone%2035%0A%3C%2FPRE%3E%0A%3CP%3ESet%20capture%20input%20source%20to%20DMIC%3C%2FP%3E%0A%3CPRE%3E%23%20amixer%20set%20'Capture%20Input'%20DMIC%0A%3C%2FPRE%3E%0A%3CP%3ESet%20DMIC%20Mux%20to%20DMIC1%3C%2FP%3E%0A%3CPRE%3E%23%20amixer%20set%20'DMIC%20Mux'%20DMIC1%0A%3C%2FPRE%3E%0A%3CP%3ERecord%20CD%20quality%20audio%20for%2010%20seconds%20into%20file%20test.wav%3C%2FP%3E%0A%3CPRE%3E%23%20arecord%20-f%20cd%20-d%2010%20test.wav%0A%3C%2FPRE%3E%0A%3CP%3EPlay%20the%20recorded%20file%3C%2FP%3E%0A%3CPRE%3E%23%20aplay%20test.wav%20%0A%3C%2FPRE%3E%0A%3CP%3EExample%3A%3C%2FP%3E%0A%3CPRE%3E%20%23%20systemctl%20stop%20pulseaudio%3Bamixer%20set%20set%20Headphone%2035%0ASimple%20mixer%20control%20'Headphone'%2C0%0A%20%20Capabilities%3A%20volume%20pswitch%0A%20%20Playback%20channels%3A%20Front%20Left%20-%20Front%20Right%0A%20%20Capture%20channels%3A%20Front%20Left%20-%20Front%20Right%0A%20%20Limits%3A%200%20-%2063%0A%20%20Front%20Left%3A%2035%20%5B56%25%5D%20%5B-22.00dB%5D%20Playback%20%5Bon%5D%0A%20%20Front%20Right%3A%2035%20%5B56%25%5D%20%5B-22.00dB%5D%20Playback%20%5Bon%5D%0A%23%20amixer%20set%20'Capture%20Input'%20DMIC%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0ASimple%20mixer%20control%20'Capture%20Input'%2C0%0A%20%20Capabilities%3A%20enum%0A%20%20Items%3A%20'ADC'%20'DMIC'%0A%20%20Item0%3A%20'DMIC'%0A%23%20amixer%20set%20'DMIC%20Mux'%20DMIC1%0ASimple%20mixer%20control%20'DMIC%20Mux'%2C0%0A%20%20Capabilities%3A%20enum%0A%20%20Items%3A%20'DMIC1'%20'DMIC2'%0A%20%20Item0%3A%20'DMIC1'%0A%23%20arecord%20-f%20cd%20-d%2010%20test.wav%0ARecording%20WAVE%20'test.wav'%26nbsp%3B%3A%20Signed%2016%20bit%20Little%20Endian%2C%20Rate%2044100%20Hz%2C%20Stereo%0A%23%20aplay%20test.wav%0APlaying%20WA%3C%2FPRE%3E%0A%3CBR%20%2F%3E%0A%3CP%3Ethe%20everything%20works%20on%20EVK%3C%2FP%3E%0A%3CP%3EAlfredo%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E