cancel
Showing results for 
Search instead for 
Did you mean: 

How to play audio wav file and output through USB with headset?

Ethan58
Associate

Hi,

I am a new starter using STM32MPU257F. 

I plug a headset into a USB port and use the below command to play an audio-only wav file.

unnamed.jpg

gst-play-1.0 audiofile.wav

the output log as below

=======================

[ 240.645711] usb 1-1.2: new full-speed USB device number 3 using ehci-platform
[ 240.864117] input: Synaptics Hi-Res Audio-BY as /devices/platform/soc@0/42080000.rifsc/42080000.rifsc:usb@482e0000/482f0000.usb/us1
[ 240.933975] hid-generic 0003:0572:1B08.0001: input: USB HID v1.11 Device [Synaptics Hi-Res Audio-BY] on usb-482f0000.usb-1.2/input3


root@stm32mp2:~# gst-play-1.0 file_example_WAV_2MG.wav
Press 'k' to see a list of keyboard shortcuts.
Now playing /home/root/file_example_WAV_2MG.wav
WARNING Failed to connect: Connection refused
WARNING debug information: /usr/src/debug/gstreamer1.0-plugins-good/1.22.6-r0/ext/pulse/pulsesink.c(616): gst_pulseringbuffer_open_dee
Redistribute latency...
0:00:11.9 / 0:00:11.9
Reached end of play list.

=======================

but I cannot hear any sound from the headset.

Is it possible to play audio through USB headset microphone?

Are there any settings or configurations required?

I also use the below command:

root@stm32mp2:~# aplay -l
aplay: device_list:274: no soundcards found...

Is it normal "no soundcards found..."?

root@stm32mp2:~# gst-play-1.0 --version
gst-play-1.0 version 1.22.6
GStreamer 1.22.6
Unknown package origin

 

thanks.

=============================================================

ID=openstlinux-weston
NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro)"
VERSION="4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26 (mickledore)"
VERSION_ID=4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26
VERSION_CODENAME="mickledore"
PRETTY_NAME="ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26 (mickledor"

1 ACCEPTED SOLUTION

Accepted Solutions
Christophe Guibout
ST Employee

Hello @Ethan58 ,

 

Your sound card is not recognized as a snd-usb-audio device,  that's why there is no alsa entry.

First, I would recommand to cross-check that your USB sound card is well supported by the kernel, and if it is the case, you may need to enable something in your kernel configuration.

I would recommand the following wiki article : https://wiki.st.com/stm32mpu/wiki/How_to_customize_the_Linux_kernel

 

I tried with my Jabra headset which is well recognized by default:

[ 6660.127684] usb 1-1.2: new full-speed USB device number 3 using ehci-platform
[ 6660.248734] input: GN Netcom A/S Jabra EVOLVE LINK as /devices/platform/soc@0/42080000.bus/42080000.bus:usb@482e0000/482f0000.usb/u2
[ 6660.320415] input: GN Netcom A/S Jabra EVOLVE LINK as /devices/platform/soc@0/42080000.bus/42080000.bus:usb@482e0000/482f0000.usb/u3
[ 6660.331930] input: GN Netcom A/S Jabra EVOLVE LINK Consumer Control as /devices/platform/soc@0/42080000.bus/42080000.bus:usb@482e004
[ 6660.350264] hid-generic 0003:0B0E:0306.0001: input,hiddev96: USB HID v1.00 Device [GN Netcom A/S Jabra EVOLVE LINK] on usb-482f00003
[ 6660.571570] usbcore: registered new interface driver snd-usb-audio

root@stm32mp2-e3-b8-dc:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: LINK [Jabra EVOLVE LINK], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0

BR,

Christophe

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

2 REPLIES 2
Christophe Guibout
ST Employee

Hello @Ethan58 ,

 

Your sound card is not recognized as a snd-usb-audio device,  that's why there is no alsa entry.

First, I would recommand to cross-check that your USB sound card is well supported by the kernel, and if it is the case, you may need to enable something in your kernel configuration.

I would recommand the following wiki article : https://wiki.st.com/stm32mpu/wiki/How_to_customize_the_Linux_kernel

 

I tried with my Jabra headset which is well recognized by default:

[ 6660.127684] usb 1-1.2: new full-speed USB device number 3 using ehci-platform
[ 6660.248734] input: GN Netcom A/S Jabra EVOLVE LINK as /devices/platform/soc@0/42080000.bus/42080000.bus:usb@482e0000/482f0000.usb/u2
[ 6660.320415] input: GN Netcom A/S Jabra EVOLVE LINK as /devices/platform/soc@0/42080000.bus/42080000.bus:usb@482e0000/482f0000.usb/u3
[ 6660.331930] input: GN Netcom A/S Jabra EVOLVE LINK Consumer Control as /devices/platform/soc@0/42080000.bus/42080000.bus:usb@482e004
[ 6660.350264] hid-generic 0003:0B0E:0306.0001: input,hiddev96: USB HID v1.00 Device [GN Netcom A/S Jabra EVOLVE LINK] on usb-482f00003
[ 6660.571570] usbcore: registered new interface driver snd-usb-audio

root@stm32mp2-e3-b8-dc:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: LINK [Jabra EVOLVE LINK], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0

BR,

Christophe

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Hi @Christophe Guibout

Thank you very much for your advice.

I will check my kernel configuration.