Pas de son sur Pi Zero 2W

Votre Apache se cache, votre Pi gémit, votre SoC fume ? La panne quoi ! C'est ici que vous trouverez sans doute une solution... Sinon du réconfort :)

Modérateurs : Francois, maxty01

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Pas de son sur Pi Zero 2W

Message par piper » sam. 28 oct. 2023 13:11

Bonjour,
Ca fait 10 ans facile que je joue avec les Pi et là, je tombe sur un os
J'ai des tas de Pi et c'est la 1ère fois que j'ai besoin de faire jouer du son à un Pi Zéro (en l'occurence un Pi Zero 2W)
Mon OS : le dernier : Bookworm en version light (pas de bureau)
Je veux exploiter la sortie son du port HDMI du Pi (il n'a aucun autre connecteur pouvant sortir du son)
Bien évidement mon fichier config.txt contient dtparam=audio=on

Rien ne sort par le port hdmi

Pourtant

Code : Tout sélectionner

 aplay --list-devices

Code : Tout sélectionner

**** Liste des périphériques matériels PLAYBACK ****
carte 0 : vc4hdmi [vc4-hdmi], périphérique 0 : MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
google n'est d'aucun secours : apparemment, de très nombreuses personnes ont eu ce problème depuis très longtemps, sans solution
(j'exclue ceux qui l'on solutionné en exploitant le bureau : je ne veux pas du bureau et je ne vois pas pas pourquoi il faut un bureau pour jouer du son)

Si je tente une lecture : pas d'erreur mais rien ne sort

Code : Tout sélectionner

 aplay /usr/share/scratch/Media/Sounds/Animal/Kitten.wav
Lecture WAVE '/usr/share/scratch/Media/Sounds/Animal/Kitten.wav' : Signed 16 bit Little Endian, Fréquence 22050 Hz, Mono
Si je tente un speaker test, pas d'erreur mais pas de son
root@pi2w:~# speaker-test -l=1

Code : Tout sélectionner

speaker-test 1.2.8

Le périphérique de lecture est default
Les paramètres du flux sont 48000Hz, S16_LE, 1 canaux
Utilisation de 16 octaves de bruit rose
La fréquence est 48000Hz (demandée 48000Hz)
L'intervalle de la taille du tampon est de 4 à 65536
L'intervalle de la taille de la période est de 2 à 32768
Taille max. de tampon 65536 utilisée
Périodes = 4
était paramétré pour period_size = 16384
était paramétré pour buffer_size = 65536
 0 - Front Left
Temps par période = 1,397430
 0 - Front Left
Temps par période = 2,730521
 0 - Front Left
Temps par période = 2,733825
 0 - Front Left
Plus ennuyeux :

Code : Tout sélectionner

raspi-config->system->Audio :  No internal audio devices found
Et encore plus débile : à la sortie de raspi-config, j'ai

Code : Tout sélectionner

XDG_RUNTIME_DIR (/run/user/) is not owned by us (uid 1000), but by uid 0! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
Échec lors de la connexion : Connexion refusée
Échec de pa_context_connect() : Connexion refusée
Alors que pulseaudio n'est pas lancé par root !!! et ce n'est même pas pulseaudio que j'utilise mais pipewire :

Code : Tout sélectionner

 ps -aux | grep pulse
pi           874  0.0  1.1 102312  4724 ?        Ssl  12:54   0:00 /usr/bin/pipewire-pulse
What the F ... ?

Si vous avez une idée.
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Pas de son sur Pi Zero 2W

Message par Artemus24 » ven. 3 nov. 2023 14:49

Salut Piper.
Piper a écrit :Ca fait 10 ans facile que je joue avec les Pi et là, je tombe sur un os
J'espère que cela ne t'a pas fait trop mal. :)

Je résume :
--> tu utilises BookWorm sans le bureau.
--> tu n'as pas de prise jack, normal car c'est une RPi zero 2w.
--> tu n'as pas de clef USB avec une prise casque et micro.
--> tu veux le son au travers de ton câble HDMI.

Qu'est-ce que tu mets à l'autre bout de ton câble HDMI ? Je suppose un téléviseur.
Mais dans ce cas, si tu n'as pas le bureau dans ta Raspberry Pi, tu fais comment pour avoir un écran ? Et de surcroit le son ?
C'est le bureau qui gère la sortie son et image vers ton téléviseur.

Avec le bureau, je passais par le "Lecteur Multimedia VLC". Je choisissais le périphérique de sortie et j'avais le son sur mon téléviseur Samsung.
Je l'utilise aussi en ligne de commande sous le compte "pi" soit avec la prise jack ou soit avec ma clef usb où est branché mon casque avec micro.

Code : Tout sélectionner

dtparam=audio=on
A moins de me tromper, c'est seulement pour la prise jack. Je n'ai rien mis de spécial dans "/boot/config.txt" pour ma clef usb.

Le mieux, je pense, est d'utiliser Bluetooth pour avoir du son sur un périphérique.
Piper a écrit :Et ce n'est même pas pulseaudio que j'utilise mais pipewire :
:
Je ne connais pas pipewire.

Code : Tout sélectionner

cat /proc/asound/cards
Pour connaitre tes cartes son.

Installer Alsa :

Code : Tout sélectionner

sudo apt-get install alsa-utils
Puis verifier que l'installation s'est bien passé :

Code : Tout sélectionner

lsmod | grep snd
Augmenter le volume du son :

Code : Tout sélectionner

alsamixer
Pour tester la sortie analogique sur le HDMI :

Code : Tout sélectionner

cd /opt/vc/src/hello_pi/hello_audio
./hello_audio.bin  1
Pour forcer le son du hdmi, à mettre dans "/boot/config.txt" :

Code : Tout sélectionner

hdmi_drive = 2
Il se peut que l'on ai besoin de faire :

Code : Tout sélectionner

hdmi_force_hotplug = 1
hdmi_force_edit_audio = 1
Par amixer :

Code : Tout sélectionner

amixer cset numid=3 2
(1 : casque, 2 : hdmi)

Par raspi-config, on sélectionne "7 Advanced Option" puis "A4 Audio". On sélectionne "2 force hdmi" (pareil que pour amixer).

J'ai fait ces tests, il y a fort longtemps, sous buster, je crois.

Cordialement.
Artemus24.
@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Re: Pas de son sur Pi Zero 2W

Message par piper » ven. 3 nov. 2023 21:58

Salut,
Ce n'est pas parce qu'on a pas installé de bureau qu'un écran connecté : il affiche la console.
Et ce n'est pas exactement derrière une TV que je prends le son, c'est derrière un splitter HDMI vers 3.5mm (son) + VGA (écran)
Produit qui fonctionne parfaitement du reste (testé avec un autre PC)

dtparam=audio=on ?? c'est évidement bien sur présent dans config.txt

Si tus lis en détail mon post, tu verras que j'y explique que raspi-config me dit que je n'ai aucune carte son
Donc exit la solution raspi-config

Pourtant : raspi-config a un bug, c'est certain

Code : Tout sélectionner

root@piwifi:~# lsmod | grep snd
snd_bcm2835            24576  2
snd_pcm               118784  1 snd_bcm2835
snd_timer              36864  1 snd_pcm
snd                    94208  7 snd_timer,snd_bcm2835,snd_pcm
root@piwifi:~# cat /proc/asound/cards
 0 [b1             ]: bcm2835_hdmi - bcm2835 HDMI 1
                      bcm2835 HDMI 1
 1 [Headphones     ]: bcm2835_headpho - bcm2835 Headphones
                      bcm2835 Headphones

alsa-utils est installé depuis un moment donc exit cette soluton

Confirmation que raspi-config n'est pas au mieux de sa forme

Code : Tout sélectionner

root@piwifi:~# lsmod | grep snd
snd_bcm2835            24576  2
snd_pcm               118784  1 snd_bcm2835
snd_timer              36864  1 snd_pcm
snd                    94208  7 snd_timer,snd_bcm2835,snd_pcm
Extrait de alsamixer qui confirme que le son est bien paramétré pour sortir par le port hdmi

Code : Tout sélectionner

root@piwifi:~# alsamixer
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq AlsaMixer v1.2.4 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x    Carte: bcm2835 HDMI 1  
Visiblement : il n'y a plus de hello_audio sur Bookworm :

Code : Tout sélectionner

root@piwifi:~# cd /opt/vc/src/hello_pi/
-bash: cd: /opt/vc/src/hello_pi/: Aucun fichier ou dossier de ce type
root@piwifi:~# whereis hello_audio
hello_audio:
hdmi_drive = 2 ?? déjà essayé
hdmi_force_hotplug = 1 ?? déjà présent
hdmi_force_edit_audio = 1 ?? absent, je l'ai mis, redémarré : rien n'a changé
amixer cset numid=3 2 ?? déjà essayé sans succès

Et google montre que je suis loin d'être le cas le seul dans ce cas et toutes les solutions proposées ont été testées sans succès (mais les solutions n'étaient pas pour bookworm)

Bref, je sèche, cela va finir par une mini carte son USB avec sortie jack 3.5
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Pas de son sur Pi Zero 2W

Message par Artemus24 » sam. 4 nov. 2023 01:11

Si le bureau n'est pas installé dans BookWork, je sais très bien qu'à l'écran tu obtiens la console.

Dans l'une de mes RPi Zero WH, j'ai testé ma carte micro SD avec Bookworm que j'ai installé pour RPi 4B : ça ne fonctionne pas ! La Led clignotte sept fois.
Je ne sais pas trop s'il faut une version spécial RPi Zero ou pas. Mais comme tu le dis, la version BookWorm consomme beaucoup de RAM.

Je n'ai que des problèmes avec BookWork. Cela ne me donne pas envie de poursuivre et je préfère rester dans la version BullsEye.

J'ai fait le test depuis ma RPi 4B/8GB en me mettant dans le bureau de BookWorm connecté à mon Samsung.
J'ai lancé VLC (installation par défaut) depuis le bureau et j'ai mis en lecture le fichier "/usr/share/sounds/alsa/Front-Center.wav".
J'ai modifié le périphérique audio, en mettant "Audio Interne Digital Stereo (HDMI)".
Je lance la lecture et j'entends le son sur les haut-parleurs en HDMI de mon téléviseur Samsung.

Petit problème, si je relance à nouveau la lecture, je n'ai plus de son.
Le périphérique audio bascule sur le premier périphérique : "Audio Interne Anoalog Stereo".
Je suis obligé de recommencer la même manipulation sur le périphérique Audio pour avoir à nouveau le son en HDMI.

Je suis maintenant dans Putty, c'est-à-dire dans la console depuis mon windows et je tape les commandes ci-après :

Code : Tout sélectionner

cd /usr/share/sounds/alsa
aplay Front-Center.wav
J'entends bien le son émis par mon Samsung !
Ca fonctionne sans problème chez moi, aussi bien depuis le bureau avec VLC que depuis putty en ligne de commande.

Je vérifie ce que j'ai comme cartes son :

Code : Tout sélectionner

root# cat /proc/asound/cards
 0 [vc4hdmi0       ]: vc4-hdmi - vc4-hdmi-0
                      vc4-hdmi-0
 1 [vc4hdmi1       ]: vc4-hdmi - vc4-hdmi-1
                      vc4-hdmi-1
 2 [Headphones     ]: bcm2835_headpho - bcm2835 Headphones
                      bcm2835 Headphones
root#
Je n'ai pas touche au fichier "/boot/firmware/config.txt". Je suis dans le paramétrage par défaut.
Par contre, j'ai modifié "/boot/firmware/cmdline.txt" pour ajouter en fin de ligne "ip=169.254.1.1", mais cela n'a aucun rapport avec le son.

Je suppose que par défaut, le son sort sur le 0, c'est-à-dire le port HDMI 0, là où j'ai branché mon câble HDMI à mon Samsung.

A tout hasard, je te donne mon fichier "/boot/firmware/config.txt :

Code : Tout sélectionner

# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Additional overlays and parameters are documented
# /boot/firmware/overlays/README

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Automatically load initramfs files, if found
auto_initramfs=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

# Run as fast as firmware / board allows
arm_boost=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Re: Pas de son sur Pi Zero 2W

Message par piper » sam. 4 nov. 2023 18:18

Merci
Est-ce que lightdm tournait lorsque tu as lancé en ligne de commande la lecture d'un son (et entendu ce son) ?

Sinon, je connais la tentation de rester sur d'anciens systèmes.
La vérité c'est que quelques années plus tard, on a un paquet de scripts , de sites, d'applicatifs qui fonctionnent et on a besoin d'installer un nouveau paquet avec apt (ou dnf ou yum ...) et là c'est le drame :

Code : Tout sélectionner

root@kb:~# apt-get update
Atteint:1 http://archive.raspberrypi.org/debian stretch InRelease
Ign:2 http://raspbian.raspberrypi.org/raspbian stretch InRelease
Err:3 http://raspbian.raspberrypi.org/raspbian stretch Release
  404  Not Found
Lecture des listes de paquets... Fait
E: The repository 'http://raspbian.raspberrypi.org/raspbian stretch Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Plus de dépôt compatible disponible.
Et même pip exige une mise à jour qu'on ne peut lui offrir à cause d'une dépendance.

Alors on se retrouve à devoir chercher en urgence partout dans tous nos scripts les choses à modifier pour que cela fonctionne sur le nouveau système.
Alors que si on s'y était mis dès le début, seuls quelques scripts auraient été à modifier.

Je promets bien du bonheur à ceux qui ont un ou des sites web en php sous BullsEye (php 7.4) :
Lorsqu'ils passeront à BookWorm (php 8.1) : un sacret paquet de fonctions généreront des notices, des warning ou des erreurs.
Car entre php 7.4 (version max dispo sur Bullseye) et php8.1 (version mini dispo sur Bookworm), il y a un monde.
Monde constitué de plusieurs versions avec pas mal de changements dont toutes auraient été dispos sur Fedora pour une montée en puissance progressive mais qui ne le sont pas sur Debian et ses soeurs jumelles (sauf à faire des compilations/installations manuelles à partir du code source de php)

Et le pire c'est lorsqu'on n'est pas à l'OS version N-1 mais en version N-X ,X>1
Ca ce termine alors en formatage, réinstallation de tous le bazard en partant de zéro (il y a intérêt à avoir fait une check-list si on a développé 20h par semaine depuis 4 ans sur le pi).

Cauchemar équivalent à la disparition de wiring-pi ou au passage de python2 à python 3
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Pas de son sur Pi Zero 2W

Message par Artemus24 » dim. 5 nov. 2023 02:43

Piper a écrit :Est-ce que lightdm tournait lorsque tu as lancé en ligne de commande la lecture d'un son (et entendu ce son) ?
Je n'ai pas vérifié au moment où j'ai fait le test. Je ne sais pas si c'est le même utilitaire qui tourne en arrière fond sous BookWorm.

Ma Raspberry Pi 4B/8GB sous BookWorm était connecté à la Box SFR par un câble éthernet et à mon Sansung par un câble HDMI.
J'avais bien le bureau avec le fond bleu où l'on voyait un pêcheur asiatique à la lanterne sur sa barque.
Comme je l'ai dit, dans un premier temps, j'ai lancé VLC depuis le bureau et le test du son a fonctionné.
Je me suis mis ensuite à la console sous Putty depuis mon Windows et j'ai lancé la commande que j'ai donnée. J'ai bien obteni le son sur le télévieur Samsung.

Le drame, comme tu dis, c'est d'avoir passé pas mal de temps à bien configurer sa Raspberry Pi sous BullsEye pour constater que plus rien ne fonctionne sous bookWorm.

Plus aucune mise à jour possible pour Wheezy, Jessie et Stretch.
J'ai configuré DNSMASQ + HOSTAPD sous Stretch pour géré ma Raspberry comme un routeur, et je n'y touche plus, vu que ça fonctionne en l'état.

J'utilise WampServer sous Windows qui est à jour sur les dernières versions d'Apache, Php, Mysql et PhpMyAdmin.

J'ai fait des sauvegardes de toutes mes cartes Micro SD, que j'utilise encore pour des projets de tests :
--> (1) ma plus vielle version sous Wheezy qui est devenue HS.
--> (2) Stretch pour RPi Zero, HS aussi.
--> (3) Boot sur mon disque Maxtor à partir du RPi 2B que je n'utilise plus.
--> (4) mon Wap (wifi Access Point) sous Stretch.
--> (5) LibreElec sous Leia V18 / Kodi pour Tuner Tv Hat que je n'utilise presque pas.
--> (6) Buster pour Rpi 3B+ que je n'utilise plus.
--> (7) PXE Boot Server sous Buster pour RPi 4B.
--> (8) Witty Pi 3 Mini sous Buster Pour RPi Zero.
--> (9) BookWorm pour Rpi 4B.

J'ai mon disque Maxtor sous BullEye avec tous les programmes C, C++, Bash, Puthon que j'ai développé. Il me sert pour tous mes tests.
J'ai un disque SSD/Sata de chez Western Digital de secours sous Buster.
Pour le (8), je dois réécrire en "c/c++" une application qui va gérer le Witty car il sous Buster à cause de la bibliothèque de Gordon WiringPi. L'application devrait rejoindre le disque Maxtor, comme je l'ai fait quand j'ai testé OpenVPN sous Jessie.

C'est pourquoi, j'ai développé ma propre bibliothèque que je maintiens et dont je ne suis plus dépendant du bon vouloir des autres, comme Gordon avec WiringPi.

Tu devrais essayé de voir pourquoi tu n'as pas de cartes son qui s'affichent.
Il est possible qu'il manque un pilote (driver) pour gérer le son sous HDMI.
En ce qui me concerne, j'utilise le HDMI qu'avec le bureau sur mon SamSung.
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Pas de son sur Pi Zero 2W

Message par Artemus24 » dim. 5 nov. 2023 23:23

J'ai vérifié ce que tu m'as demandé.
Le service "lightdm" est bien lancé quand je suis dans le bureau sous BookWorm.
Je l'ai arrêté et j'obtiens un écran noir sur mon Samsung.
Puis depuis la console Putty sous windows, j'ai lancé :

Code : Tout sélectionner

aplay Front_Center.wav
Lecture WAVE 'Front_Center.wav' : Signed 16 bit Little Endian, Fréquence 48000 Hz, Mono
et j'entends bien le son sur mon Samsung. Donc ça fonctionne !

J'y pense mais n'aurais tu pas un problème avec ton câble HDMI ?
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Re: Pas de son sur Pi Zero 2W

Message par piper » dim. 12 nov. 2023 14:22

Bon, j'ai donc acheté une mini carte son usb, celle-ci :
Image

Il a fallut quand même batailler car raspi-config ne voit toujours aucune carte son alors que alsamixer m'en affiche 3 ! (Sortie HDMI (par défaut), sortie SND_BCM2385 et USB sound card)
J'ai été obligé de mettre dtparam=audio=off dans /boot/config.txt pour me débarrasser de la snd_bcm2835
Restaient 2 cartes son : la hdmi (la numéro 0 , toujours prise par défaut) et l'usb ....(la numéro 1 ) toujours invisibles par raspi-config !

Alors, je suis allé dans /usr/share/alsa/alsa.conf pour y mettre
defaults.ctl.card 1
defaults.pcm.card 1
au lieu de
defaults.ctl.card 0
defaults.pcm.card 0

Et là, au miracle : le son sort par la carte son usb (qui est enfin la carte son par défaut), et ce, même si le bureau n'est pas lancé

Pour lire du son, je le fais en python avec (l'application est supposée devenu un réveil matin avec radio FM par le web intégré) :
Voici comment je teste la lecture du son :
from playsound import playsound
playsound('test.wav')

Maintenant, cela fonctionne MAIS :
si test.wav est un fichier en mono, le fichier est lu, le son est parfaitement audible et un message d'erreur s'affiche
Ce message est :
(python3:982): GStreamer-Audio-CRITICAL **: 14:15:25.664: file ../gst-libs/gst/audio/gstaudioringbuffer.c: line 2054 (gst_audio_ring_buffer_set_channel_positions): should not be reached

Si test.wav est un fichier en stéréo : le fichier est lu, le son est parfaitement audible et il n'y a aucun message d'erreur
En gros playsound ne sait pas géré de lui-même la différence entre un une source à un seul canal (mono) et un fichier bi-canal (stéréo)

Mais je verrais cela plus tard
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: Pas de son sur Pi Zero 2W

Message par Artemus24 » dim. 12 nov. 2023 20:10

J'ai la même clef audio, acheté sur le site Kubii.
Je branche ma clef audio avec mon casque audio.

Sous Alsamixer, je vois les cartes sons suivantes :
--> XDEFAULT:0 VC4-HDMI-0
--> XDEFAULT:1 VC4-HDMI-1
--> XDEFAULT:2 BCM2835 Headphones
--> XDEFAULT:3 USB AUDIO DEVICE

Dans le fichier "/usr/share/alsa/alsa.conf", j'ai bien :

Code : Tout sélectionner

defaults.ctl.card 0
defaults.pcm.card 0
defaults.pcm.device 0
Voici mes cartes sons :

Code : Tout sélectionner

root# cat /proc/asound/cards
 0 [vc4hdmi0       ]: vc4-hdmi - vc4-hdmi-0
                      vc4-hdmi-0
 1 [vc4hdmi1       ]: vc4-hdmi - vc4-hdmi-1
                      vc4-hdmi-1
 2 [Headphones     ]: bcm2835_headpho - bcm2835 Headphones
                      bcm2835 Headphones
 3 [Device         ]: USB-Audio - USB Audio Device
                      GeneralPlus USB Audio Device at usb-0000:01:00.0-1.3, full speed
root#
Les périphériques de la commande "aplay" :

Code : Tout sélectionner

root~# aplay --list-devices
**** Liste des périphériques matériels PLAYBACK ****
carte 0 : vc4hdmi0 [vc4-hdmi-0], périphérique 0 : MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
carte 1 : vc4hdmi1 [vc4-hdmi-1], périphérique 0 : MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
carte 2 : Headphones [bcm2835 Headphones], périphérique 0 : bcm2835 Headphones [bcm2835 Headphones]
  Sous-périphériques : 8/8
  Sous-périphérique #0 : subdevice #0
  Sous-périphérique #1 : subdevice #1
  Sous-périphérique #2 : subdevice #2
  Sous-périphérique #3 : subdevice #3
  Sous-périphérique #4 : subdevice #4
  Sous-périphérique #5 : subdevice #5
  Sous-périphérique #6 : subdevice #6
  Sous-périphérique #7 : subdevice #7
carte 3 : Device [USB Audio Device], périphérique 0 : USB Audio [USB Audio]
  Sous-périphériques : 1/1
  Sous-périphérique #0 : subdevice #0
root~#
Je fais le test :

Code : Tout sélectionner

root# sudo aplay /usr/share/sounds/alsa/Front_Center.wav
aplay: main:831: erreur à l'ouverture audio : Erreur inconnue 524
root#
On dirait que chez moi, seul la sortie 0 (HDMI port 0) fonctionne.
Sous Raspi-Config, j'ai le message

Code : Tout sélectionner

No internal audio devices found
There was an error running option S2 Audio
Un lien qui peut t'intéresser.
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Re: Pas de son sur Pi Zero 2W

Message par piper » lun. 13 nov. 2023 01:34

Ton message sur raspi-confi est EXACTEMENT celui que j'ai (que j'ai toujours d'ailleurs)
Et le message que tu as eu avec aplay est EXACTEMENT celui que j'avais

Pour faire fonctionner la carte USB par une ligne de commande (ce que tu as testé), je n'ai trouvé qu'une solution :
1) forcer le noyau à désactiver la fonction snd_bcm2835 (confix.txt : audio = off)
2) forcer Alsa à prendre ma carte USB par défaut

Dans ta situation, tu as alsa.conf qui désigne la sortie ayant l'index 0 comme celle par défaut
Hors ta sortie 0 c'est VC4-HDMI-0
Et aplay prend toujours (comme visiblement toute commande de lecture de son par le terminal), la sortie par défaut, donc il prend VC4-HDMI-0

Ta carte son USB est la 3 d'après ce que tu fournis donc dans alsa.conf mets :
defaults.ctl.card 3
defaults.pcm.card 3

Reboot et réessais (mais le son sera toujours orienté vers la carte son USB)
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Répondre

Retourner vers « En panne ? »