[résolu] fichier .asoundrc et conflits
Modérateurs : Francois, maxty01
-
- Raspinaute
- Messages : 970
- Enregistré le : dim. 28 déc. 2014 15:28
- Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe
Re: fichier .asoundrc
Bonjour,
Votre utilisateur a les bons droits de groupes ?
$ groups (dans mon cas : adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi)
L'écriture est possible dans le dossier de destination ?
Et avec un sudo, cela donne quoi ?
Votre utilisateur a les bons droits de groupes ?
$ groups (dans mon cas : adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi)
L'écriture est possible dans le dossier de destination ?
Et avec un sudo, cela donne quoi ?
[Pour bien commencer] Pour les nouveaux acquéreurs de Raspberry Pi (index de liens utiles)
Awesome Raspberry Pi
Awesome Raspberry Pi
Re: [résolu] fichier .asoundrc et conflits
Salut à tous.
@ Kartable : voilà un sujet intéressant. Bravo pour tes tests.
Je m'intéresse à PulseAudio et en particulier à l'enregistrement par le micro de mon casque.
Je ne fais que des tests et rien d'autre, juste pour maitriser le sujet.
J'ai créé le fichier ".asoundrc" dans le compte pi à partir du tien :
Et j'ai lancé ton "arecord" :
J'aimerai avoir quelques explications :
1) pour enregistrer avec "arecord", je n'ai pas compris comment l'arrêter ?
J'ai tout simplement fait un CTRL-C que voici :
et comme on peut le constater, ce n'est pas propre comme façon de sortir.
2) Je suppose que "playback" signifie écouter l'enregistrement sur mon casque audio.
De même "capture" permet de récupérer le son en provenance du micro de mon casque.
Est-ce bien cela ?
3) Or sous alsamixer, c'est plutôt "master" et "capture" ou bien "speaker" et mic.
Je ne vois pas trop à quoi peut correspondre "master".
Oui, je sais, on aurait pu penser que "master" correspond à "playback".
4) aucun problème de compréhension avec la partie "playback". J'avais déjà trouvé ce paramétrage.
J'ai bien un retour dans le casque en écoutant un enregistrement.
Par contre, pour la partie "capture", c'est un peu moins compréhensible.
4-a) Je ne vois pas trop à quoi peut servir "type asym" ?
Que je le mette ou pas, je ne peux pas écouter de la musique et cela ne change rien à l'enregistrement ou à son écoute.
4-b) qu'est-ce que "type softvol" ?
Je sais, c'est un plug-in, mais à part ça, je n'en sais pas plus.
--> https://alsa.opensrc.org/Softvol
4-c) pourquoi avoir mis "control.name "Pre-Amp"" ?
Ne serait-ce pas plutôt "control.name "softmaster"" ?
--> https://alsa.opensrc.org/How_to_use_sof ... ter_volume
4-d) cela n sert à rien, en tout cas chez moi :
5) J'utilise "PulseAudio" pour écouter de la musique dans vlc de mon bureau raspberry.
Pour la configuration audio, j'ai fait : outils / préférence / audio / sortie :
--> module de sortie : sortie audio Alsa
--> périphérique : pulseAudio sound server.
du coup, dans le fichier ".asoundrc", il faut ajouter :
6) je n'ai pas compris à quoi sert "ctl".
7) mon fichier ".asoundrc" devient :
@+
@ Kartable : voilà un sujet intéressant. Bravo pour tes tests.
Je m'intéresse à PulseAudio et en particulier à l'enregistrement par le micro de mon casque.
Je ne fais que des tests et rien d'autre, juste pour maitriser le sujet.
J'ai créé le fichier ".asoundrc" dans le compte pi à partir du tien :
Code : Tout sélectionner
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:1,0"
}
capture.pcm {
type plug
slave.pcm {
type softvol
slave.pcm "hw:1,0"
control.name "Pre-Amp"
control.card 1
min_dB -5.0
max_dB 20.0
resolution 5
}
}
}
ctl.!default {
type hw
card 1
}
Code : Tout sélectionner
arecord --format=S16_LE --rate=16000 --file-type=wav out.wav
1) pour enregistrer avec "arecord", je n'ai pas compris comment l'arrêter ?
J'ai tout simplement fait un CTRL-C que voici :
Code : Tout sélectionner
~> arecord --format=S16_LE --rate=16000 --file-type=wav out.wav
Capture WAVE 'out.wav' : Signed 16 bit Little Endian, Fréquence 16000 Hz, Mono
^CInterrompu par le signal Interrompre...
arecord: pcm_read:2145: erreur en lecture: Appel système interrompu
~>
2) Je suppose que "playback" signifie écouter l'enregistrement sur mon casque audio.
De même "capture" permet de récupérer le son en provenance du micro de mon casque.
Est-ce bien cela ?
3) Or sous alsamixer, c'est plutôt "master" et "capture" ou bien "speaker" et mic.
Je ne vois pas trop à quoi peut correspondre "master".
Oui, je sais, on aurait pu penser que "master" correspond à "playback".
4) aucun problème de compréhension avec la partie "playback". J'avais déjà trouvé ce paramétrage.
J'ai bien un retour dans le casque en écoutant un enregistrement.
Par contre, pour la partie "capture", c'est un peu moins compréhensible.
4-a) Je ne vois pas trop à quoi peut servir "type asym" ?
Que je le mette ou pas, je ne peux pas écouter de la musique et cela ne change rien à l'enregistrement ou à son écoute.
4-b) qu'est-ce que "type softvol" ?
Je sais, c'est un plug-in, mais à part ça, je n'en sais pas plus.
--> https://alsa.opensrc.org/Softvol
4-c) pourquoi avoir mis "control.name "Pre-Amp"" ?
Ne serait-ce pas plutôt "control.name "softmaster"" ?
--> https://alsa.opensrc.org/How_to_use_sof ... ter_volume
4-d) cela n sert à rien, en tout cas chez moi :
Code : Tout sélectionner
min_dB -5.0
max_dB 20.0
resolution 5
Pour la configuration audio, j'ai fait : outils / préférence / audio / sortie :
--> module de sortie : sortie audio Alsa
--> périphérique : pulseAudio sound server.
du coup, dans le fichier ".asoundrc", il faut ajouter :
Code : Tout sélectionner
pcm.pulse {
type plug
slave.pcm "hw:1,0"
}
ctl.pulse {
type plug
slave.ctl "hw:1,0"
}
7) mon fichier ".asoundrc" devient :
Code : Tout sélectionner
pcm.pulse {
type plug
slave.pcm "hw:1,0"
}
ctl.pulse {
type plug
slave.ctl "hw:1,0"
}
pcm.!default {
playback.pcm {
type plug
slave.pcm "hw:1,0"
}
capture.pcm {
type plug
slave.pcm {
type softvol
slave.pcm "hw:1,0"
control.name "softmaster"
control.card 1
}
}
}
ctl.!default {
type hw
card 1
}
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
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
Re: [résolu] fichier .asoundrc et conflits
Salut Kartable.
Mes questions ne sont pas bloquantes car ton exemple m'a permis de faire fonctionner le micro de mon casque.
Oui, j'ai pu enregistrer sans problème, le son de ma voix.
Afin de poursuivre mais sur un autre sujet, je n'ai rien compris de ce qu'il faut faire pour utiliser PulseAudio dans mon réseau local.
Je désire utiliser une de mes raspberry en tant que serveur PulseAudio, et une autre raspberry en tant que client PulseAudio.
Dans le serveur, depuis le bureau, je lance VLC avec une playlist.
Dans le client, je branche mon casque sur la prise jack et j'aimerai écouter cette playlist.
Tous les tests que j'ai fait jusqu'à présent, font que mon réseau local est saturé par le serveur PulseAudio.
Je n'ai plus la main, même pour consulter mon réseau à partir de ma boxsfr.
Tous les exemples que j'ai trouvé sur le net sont incompréhensible.
A ce stade, je suis intervenu, coté serveur, dans les fichier "/etc/pulse/daemon.con" et "/etc/pulse/default.pa".
Je n'utilise pas "/etc/pulse/system.pa" car d'après ce que j'ai pu comprendre, il est déconseillé de lancer PulseAudio en mode "system".
Coté client, je suis intervenu dans le fichier "/etc/pulse/client.conf.
En gros, j'ai repris les exemples, sur ce que j'ai pu trouver, sans bien comprendre ce que je faisais.
@+
Mes questions ne sont pas bloquantes car ton exemple m'a permis de faire fonctionner le micro de mon casque.
Oui, j'ai pu enregistrer sans problème, le son de ma voix.
Afin de poursuivre mais sur un autre sujet, je n'ai rien compris de ce qu'il faut faire pour utiliser PulseAudio dans mon réseau local.
Je désire utiliser une de mes raspberry en tant que serveur PulseAudio, et une autre raspberry en tant que client PulseAudio.
Dans le serveur, depuis le bureau, je lance VLC avec une playlist.
Dans le client, je branche mon casque sur la prise jack et j'aimerai écouter cette playlist.
Tous les tests que j'ai fait jusqu'à présent, font que mon réseau local est saturé par le serveur PulseAudio.
Je n'ai plus la main, même pour consulter mon réseau à partir de ma boxsfr.
Tous les exemples que j'ai trouvé sur le net sont incompréhensible.
A ce stade, je suis intervenu, coté serveur, dans les fichier "/etc/pulse/daemon.con" et "/etc/pulse/default.pa".
Je n'utilise pas "/etc/pulse/system.pa" car d'après ce que j'ai pu comprendre, il est déconseillé de lancer PulseAudio en mode "system".
Coté client, je suis intervenu dans le fichier "/etc/pulse/client.conf.
En gros, j'ai repris les exemples, sur ce que j'ai pu trouver, sans bien comprendre ce que je faisais.
@+
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
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
Re: [résolu] fichier .asoundrc et conflits
Salut Kartable.
Le premier test que j'ai fait correspond bien à Alsa. Pour ce test, c'est ok, ça fonctionne.
Maintenant, je désire travailler avc PulseAudio. C'est là que je rencontre des difficultés.
Disons que pour l'instant, je navique dans le noir, c'est-à-dire que je ne sais pas trop ce que je fais, même si ça fonctionne.
D'où ma demande d'explications sur le pourquoi du comment.
PulseAudio est une couche logiciel. Alsa est la couche matériel.
Le "playback" et le "capture" doivent bien correspondre à quelque chose dans alsa, non ?
Si tu me dis non, je ne comprends plus parce que nécessairment, je dois passer par alsa dans tous les cas.
Ce sont des périphériques que l'on retrouve en faisant "aplay -L".
Maintenant à quoi ça sert ? Je n'en sais rien.
Il est fort probable qu'il faut une connaissance des termes audio que je n'ai pas.
Dans outils / préférences / audio, si je sélectionne :
--> module de sortie : sortie audio Alsa
Je suis en directe avec Alsa (enfin, c'est ce que je crois).
Pour le second paramètre, si je sélectionne :
--> périphérique : pulseAudio sound server.
il me semble que le flux est redirigé vers pulseAudio.
De ce fait, j suis obligé d'utiliser le type "pulse".
Mais si maintenant, je sélectionne :
--> module de sortie : sortie audio PulseAudio
Je ne passe plus par Alsa. D'ailleurs le périphérique se nomme maintenant "remote audio".
Ce qui (selon moi), signifie que je dois envoyer ce flux quelque part, vers un client PulseAudio.
Or ce que je ne comprends pas, ce sont les rôles joués par le serveur et le client PulseAudio.
A moins de me tromper, je crois maintenant comprendre que le serveur joue le rôle de récepteur et celui de client d'émetteur.
Ce qui revient à dire que je dois brancher mon casque sur le serveur Pulseaudio, et utiliser VLC sur le client PulseAudio.
Pour l'instant, je ne suis arrivé à rien du tout.
Voici le résultat de "pactl list" depuis le compte pi :
Selon moi, il y a trop de modules.
Mon casque est branché sur la clef usb son.
Le nom de ma carte est "USB Audio Device".
Cette carte correspond à :
--> Destination #0
--> Source #0
--> Source #1
--> carte #0
Après, je n'en sais pas plus.
Voici les périphériques :
La carte se nomme "CARD=Device".
Pour le périphérique, j'ai le choix, sauf que tous ne fonctionnent pas.
Si je fais comme toi, je dois prendre aussi bien pour l'input qu l'output : "hw:Device".
Ce qui revient à faire : "hw:1,0" car ma carte physique est bien 1 :
@+
Oui, sans problème, j'ai pu enregistrer et écouter le son de ma voix.Kartable a écrit :Jusque là, tu as bien un enregistrement et un son ?
Tu as bien compris, sauf que j'aurai dû préciser un peu plus mes tests.Kartable a écrit :Sauf que là tu es en Alsa, alors que tu veux travailler sous pulseaudio, si j'ai bien compris.
Le premier test que j'ai fait correspond bien à Alsa. Pour ce test, c'est ok, ça fonctionne.
Maintenant, je désire travailler avc PulseAudio. C'est là que je rencontre des difficultés.
Oui, en effet.Kartable a écrit :Donc il va falloir des "type pulse" comme tu l'as trouvé toi-même.
Disons que pour l'instant, je navique dans le noir, c'est-à-dire que je ne sais pas trop ce que je fais, même si ça fonctionne.
D'où ma demande d'explications sur le pourquoi du comment.
Est-ce qu'il n'y a rien de plus propre que CTRL-C ?Kartable a écrit :Oui, pour arrêter c'est bien CTRL-C
Autrement dit, le "playback" sert à écouter, dans mon casque audio, le son enregistré, et le "capture" sert à enregistrer le son de ma voix.Kartable a écrit :"playback.pcm" est le pendant de "capture.pcm", le premier pour l'output, le second pour l'input (peu importe l'ordre dans le fichier)
Quand tu dis cela, pour moi, tout ce complique.Kartable a écrit :Alsamixer c'est autre chose.
PulseAudio est une couche logiciel. Alsa est la couche matériel.
Le "playback" et le "capture" doivent bien correspondre à quelque chose dans alsa, non ?
Si tu me dis non, je ne comprends plus parce que nécessairment, je dois passer par alsa dans tous les cas.
Dans les différents types que j'ai pu utiliser, je retiens que "pulse", "plug". et "hw:0.0".Kartable a écrit :Le type "asym" correspond à Alsa, tout comme le type "pulse" correspond à Pulseaudio.
Le "type plug" se comprend de lui même, mais il existe aussi le "type dsnoop" et le "type dmix" pour ce que j'ai pu relever.
Ce sont des périphériques que l'on retrouve en faisant "aplay -L".
Maintenant à quoi ça sert ? Je n'en sais rien.
Il est fort probable qu'il faut une connaissance des termes audio que je n'ai pas.
C'est ce que j'ai constaté aussi. Il me semble que tu n'en saches pas plus que moi.Kartable a écrit :Il y a également le "type softvol" mais je ne l'ai trouvé que dans cet exemple
Cela dépend comment je configure VLC dans le bureau de la raspberry.Kartable a écrit :Si tu utilises pulseaudio, cela ne m'étonne pas.
Dans outils / préférences / audio, si je sélectionne :
--> module de sortie : sortie audio Alsa
Je suis en directe avec Alsa (enfin, c'est ce que je crois).
Pour le second paramètre, si je sélectionne :
--> périphérique : pulseAudio sound server.
il me semble que le flux est redirigé vers pulseAudio.
De ce fait, j suis obligé d'utiliser le type "pulse".
Mais si maintenant, je sélectionne :
--> module de sortie : sortie audio PulseAudio
Je ne passe plus par Alsa. D'ailleurs le périphérique se nomme maintenant "remote audio".
Ce qui (selon moi), signifie que je dois envoyer ce flux quelque part, vers un client PulseAudio.
Or ce que je ne comprends pas, ce sont les rôles joués par le serveur et le client PulseAudio.
A moins de me tromper, je crois maintenant comprendre que le serveur joue le rôle de récepteur et celui de client d'émetteur.
Ce qui revient à dire que je dois brancher mon casque sur le serveur Pulseaudio, et utiliser VLC sur le client PulseAudio.
Pour l'instant, je ne suis arrivé à rien du tout.
Voici le résultat de "pactl list" depuis le compte pi :
Code : Tout sélectionner
~> pactl list
Module #0
Nom : module-device-restore
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Automatically restore the volume/mute state of devices"
module.version = "12.2"
Module #1
Nom : module-stream-restore
Paramètre : restore_device=false
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Automatically restore the volume/mute/device state of streams"
module.version = "12.2"
Module #2
Nom : module-card-restore
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Automatically restore profile of cards"
module.version = "12.2"
Module #3
Nom : module-augment-properties
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Augment the property sets of streams with additional static information"
module.version = "12.2"
Module #4
Nom : module-switch-on-port-available
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "David Henningsson"
module.description = "Switches ports and profiles when devices are plugged/unplugged"
module.version = "12.2"
Module #5
Nom : module-udev-detect
Paramètre : tsched=0
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Detect available audio hardware and load matching drivers"
module.version = "12.2"
Module #6
Nom : module-alsa-card
Paramètre : device_id="1" name="usb-GeneralPlus_USB_Audio_Device-00" card_name="alsa_card.usb-GeneralPlus_USB_Audio_Device-00" namereg_fail=false tsched=no fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
Nombre d'utilisations : 0
Propriétés :
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "12.2"
Module #7
Nom : module-alsa-card
Paramètre : device_id="0" name="platform-bcm2835_audio" card_name="alsa_card.platform-bcm2835_audio" namereg_fail=false tsched=no fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
Nombre d'utilisations : 0
Propriétés :
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "12.2"
Module #9
Nom : module-bluetooth-policy
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Frédéric Dalleau, Pali Rohár"
module.description = "Policy module to make using bluetooth devices out-of-the-box easier"
module.version = "12.2"
Module #10
Nom : module-bluetooth-discover
Paramètre : autodetect_mtu=yes
Nombre d'utilisations : n/d
Propriétés :
module.author = "João Paulo Rechi Vita"
module.description = "Detect available Bluetooth daemon and load the corresponding discovery module"
module.version = "12.2"
Module #11
Nom : module-bluez5-discover
Paramètre : autodetect_mtu=yes
Nombre d'utilisations : n/d
Propriétés :
module.author = "João Paulo Rechi Vita"
module.description = "Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers"
module.version = "12.2"
Module #12
Nom : module-native-protocol-unix
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Native protocol (UNIX sockets)"
module.version = "12.2"
Module #13
Nom : module-native-protocol-tcp
Paramètre : auth-ip-acl=127.0.0.1;192.168.1.0/24
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Native protocol (TCP sockets)"
module.version = "12.2"
Module #14
Nom : module-zeroconf-publish
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "mDNS/DNS-SD Service Publisher"
module.version = "12.2"
Module #15
Nom : module-gsettings
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Sylvain Baubeau"
module.description = "GSettings Adapter"
module.version = "12.2"
Module #16
Nom : module-default-device-restore
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Automatically restore the default sink and source"
module.version = "12.2"
Module #17
Nom : module-rescue-streams
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "When a sink/source is removed, try to move its streams to the default sink/source"
module.version = "12.2"
Module #18
Nom : module-always-sink
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Colin Guthrie"
module.description = "Garde toujours au moins une destination même si elle est vide"
module.version = "12.2"
Module #19
Nom : module-intended-roles
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Automatically set device of streams based on intended roles of devices"
module.version = "12.2"
Module #20
Nom : module-suspend-on-idle
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "When a sink/source is idle for too long, suspend it"
module.version = "12.2"
Module #21
Nom : module-console-kit
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Create a client for each ConsoleKit session of this user"
module.version = "12.2"
Module #22
Nom : module-systemd-login
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Create a client for each login session of this user"
module.version = "12.2"
Module #23
Nom : module-position-event-sounds
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them."
module.version = "12.2"
Module #24
Nom : module-role-cork
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Mute & cork streams with certain roles while others exist"
module.version = "12.2"
Module #25
Nom : module-filter-heuristics
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Colin Guthrie"
module.description = "Detect when various filters are desirable"
module.version = "12.2"
Module #26
Nom : module-filter-apply
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Colin Guthrie"
module.description = "Load filter sinks automatically when needed"
module.version = "12.2"
Destination #0
État : SUSPENDED
Nom : alsa_output.usb-GeneralPlus_USB_Audio_Device-00.analog-stereo
Description : USB Audio Device Stéréo analogique
Pilote : module-alsa-card.c
Spécification de l'échantillon : s16le 2ch 48000Hz
Plan des canaux : front-left,front-right
Module du propriétaire : 6
Sourdine : non
Volume : front-left: 55142 / 84% / -4,50 dB, front-right: 55142 / 84% / -4,50 dB
balance 0,00
Volume de base : 65536 / 100% / 0,00 dB
Source du moniteur : alsa_output.usb-GeneralPlus_USB_Audio_Device-00.analog-stereo.monitor
Latence : 0 usec, configuré 0 usec
Marqueurs : HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Propriétés :
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "USB Audio Device"
alsa.long_card_name = "GeneralPlus USB Audio Device at usb-0000:01:00.0-1.3, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0"
sysfs.path = "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/sound/card1"
udev.id = "usb-GeneralPlus_USB_Audio_Device-00"
device.bus = "usb"
device.vendor.id = "1b3f"
device.vendor.name = "Generalplus Technology Inc."
device.product.id = "2008"
device.product.name = "USB Audio Device"
device.serial = "GeneralPlus_USB_Audio_Device"
device.string = "front:1"
device.buffering.buffer_size = "19200"
device.buffering.fragment_size = "4800"
device.access_mode = "mmap"
device.profile.name = "analog-stereo"
device.profile.description = "Stéréo analogique"
device.description = "USB Audio Device Stéréo analogique"
alsa.mixer_name = "USB Mixer"
alsa.components = "USB1b3f:2008"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Ports :
analog-output-speaker: Haut-parleurs (priority: 10000)
Port actif : analog-output-speaker
Formats :
pcm
Destination #1
État : SUSPENDED
Nom : alsa_output.platform-bcm2835_audio.analog-stereo
Description : Audio interne Analog Stereo
Pilote : module-alsa-card.c
Spécification de l'échantillon : s16le 2ch 48000Hz
Plan des canaux : front-left,front-right
Module du propriétaire : 7
Sourdine : non
Volume : front-left: 55696 / 85% / -4,24 dB, front-right: 55696 / 85% / -4,24 dB
balance 0,00
Volume de base : 65536 / 100% / 0,00 dB
Source du moniteur : alsa_output.platform-bcm2835_audio.analog-stereo.monitor
Latence : 0 usec, configuré 0 usec
Marqueurs : HARDWARE DECIBEL_VOLUME LATENCY
Propriétés :
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "bcm2835 Headphones"
alsa.id = "bcm2835 Headphones"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "bcm2835 Headphones"
alsa.long_card_name = "bcm2835 Headphones"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-bcm2835_audio"
sysfs.path = "/devices/platform/soc/fe00b840.mailbox/bcm2835_audio/sound/card0"
device.form_factor = "internal"
device.string = "hw:0"
device.buffering.buffer_size = "19200"
device.buffering.fragment_size = "4800"
device.access_mode = "mmap"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "Audio interne Analog Stereo"
alsa.mixer_name = "Broadcom Mixer"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Ports :
analog-output: Sortie analogique (priority: 9900)
Port actif : analog-output
Formats :
pcm
Source #0
État : SUSPENDED
Nom : alsa_output.usb-GeneralPlus_USB_Audio_Device-00.analog-stereo.monitor
Description : Monitor of USB Audio Device Stéréo analogique
Pilote : module-alsa-card.c
Spécification de l'échantillon : s16le 2ch 48000Hz
Plan des canaux : front-left,front-right
Module du propriétaire : 6
Sourdine : non
Volume : front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB
balance 0,00
Volume de base : 65536 / 100% / 0,00 dB
Moniteur de la destination : alsa_output.usb-GeneralPlus_USB_Audio_Device-00.analog-stereo
Latence : 0 usec, configuré 0 usec
Marqueurs : DECIBEL_VOLUME LATENCY
Propriétés :
device.description = "Monitor of USB Audio Device Stéréo analogique"
device.class = "monitor"
alsa.card = "1"
alsa.card_name = "USB Audio Device"
alsa.long_card_name = "GeneralPlus USB Audio Device at usb-0000:01:00.0-1.3, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0"
sysfs.path = "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/sound/card1"
udev.id = "usb-GeneralPlus_USB_Audio_Device-00"
device.bus = "usb"
device.vendor.id = "1b3f"
device.vendor.name = "Generalplus Technology Inc."
device.product.id = "2008"
device.product.name = "USB Audio Device"
device.serial = "GeneralPlus_USB_Audio_Device"
device.string = "1"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Formats :
pcm
Source #1
État : SUSPENDED
Nom : alsa_input.usb-GeneralPlus_USB_Audio_Device-00.analog-mono
Description : USB Audio Device Mono analogique
Pilote : module-alsa-card.c
Spécification de l'échantillon : s16le 1ch 48000Hz
Plan des canaux : mono
Module du propriétaire : 6
Sourdine : non
Volume : mono: 58410 / 89% / -3,00 dB
balance 0,00
Volume de base : 18471 / 28% / -33,00 dB
Moniteur de la destination : n/d
Latence : 0 usec, configuré 0 usec
Marqueurs : HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Propriétés :
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "1"
alsa.card_name = "USB Audio Device"
alsa.long_card_name = "GeneralPlus USB Audio Device at usb-0000:01:00.0-1.3, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0"
sysfs.path = "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/sound/card1"
udev.id = "usb-GeneralPlus_USB_Audio_Device-00"
device.bus = "usb"
device.vendor.id = "1b3f"
device.vendor.name = "Generalplus Technology Inc."
device.product.id = "2008"
device.product.name = "USB Audio Device"
device.serial = "GeneralPlus_USB_Audio_Device"
device.string = "hw:1"
device.buffering.buffer_size = "9600"
device.buffering.fragment_size = "2400"
device.access_mode = "mmap"
device.profile.name = "analog-mono"
device.profile.description = "Mono analogique"
device.description = "USB Audio Device Mono analogique"
alsa.mixer_name = "USB Mixer"
alsa.components = "USB1b3f:2008"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Ports :
analog-input-mic: Microphone (priority: 8700)
Port actif : analog-input-mic
Formats :
pcm
Source #2
État : SUSPENDED
Nom : alsa_output.platform-bcm2835_audio.analog-stereo.monitor
Description : Monitor of Audio interne Analog Stereo
Pilote : module-alsa-card.c
Spécification de l'échantillon : s16le 2ch 48000Hz
Plan des canaux : front-left,front-right
Module du propriétaire : 7
Sourdine : non
Volume : front-left: 55696 / 85% / -4,24 dB, front-right: 55696 / 85% / -4,24 dB
balance 0,00
Volume de base : 65536 / 100% / 0,00 dB
Moniteur de la destination : alsa_output.platform-bcm2835_audio.analog-stereo
Latence : 0 usec, configuré 0 usec
Marqueurs : DECIBEL_VOLUME LATENCY
Propriétés :
device.description = "Monitor of Audio interne Analog Stereo"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "bcm2835 Headphones"
alsa.long_card_name = "bcm2835 Headphones"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-bcm2835_audio"
sysfs.path = "/devices/platform/soc/fe00b840.mailbox/bcm2835_audio/sound/card0"
device.form_factor = "internal"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Formats :
pcm
Client #0
Pilote : module-systemd-login.c
Module propriétaire : 22
Propriétés :
application.name = "Login Session 6"
systemd-login.session = "6"
Client #1
Pilote : module-systemd-login.c
Module propriétaire : 22
Propriétés :
application.name = "Login Session 4"
systemd-login.session = "4"
Client #3
Pilote : protocol-native.c
Module propriétaire : 12
Propriétés :
application.name = "pactl"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "1605"
application.process.user = "pi"
application.process.host = "RaspberryPi"
application.process.binary = "pactl"
application.language = "fr_FR.UTF-8"
application.process.machine_id = "678bfdc4434345208da5f1341865986e"
application.process.session_id = "6"
Carte #0
Nom : alsa_card.usb-GeneralPlus_USB_Audio_Device-00
Pilote : module-alsa-card.c
Module propriétaire : 6
Propriétés :
alsa.card = "1"
alsa.card_name = "USB Audio Device"
alsa.long_card_name = "GeneralPlus USB Audio Device at usb-0000:01:00.0-1.3, full speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0"
sysfs.path = "/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/sound/card1"
udev.id = "usb-GeneralPlus_USB_Audio_Device-00"
device.bus = "usb"
device.vendor.id = "1b3f"
device.vendor.name = "Generalplus Technology Inc."
device.product.id = "2008"
device.product.name = "USB Audio Device"
device.serial = "GeneralPlus_USB_Audio_Device"
device.string = "1"
device.description = "USB Audio Device"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
Profils :
input:analog-mono: Entrée Mono analogique (sinks: 0, sources: 1, priority: 7, available: oui)
output:analog-stereo: Sortie Stéréo analogique (sinks: 1, sources: 0, priority: 6500, available: oui)
output:analog-stereo+input:analog-mono: Sortie Stéréo analogique + Entrée Mono analogique (sinks: 1, sources: 1, priority: 6507, available: oui)
output:iec958-stereo: Sortie Stéréo numérique (IEC958) (sinks: 1, sources: 0, priority: 5500, available: oui)
output:iec958-stereo+input:analog-mono: Sortie Stéréo numérique (IEC958) + Entrée Mono analogique (sinks: 1, sources: 1, priority: 5507, available: oui)
output:iec958-ac3-surround-51: Sortie Surround numérique 5.1 (IEC958/AC3) (sinks: 1, sources: 0, priority: 300, available: oui)
output:iec958-ac3-surround-51+input:analog-mono: Sortie Surround numérique 5.1 (IEC958/AC3) + Entrée Mono analogique (sinks: 1, sources: 1, priority: 307, available: oui)
off: Éteint (sinks: 0, sources: 0, priority: 0, available: oui)
Profil actif : output:analog-stereo+input:analog-mono
Ports :
analog-input-mic: Microphone (priority: 8700, latency offset: 0 usec)
Propriétés :
device.icon_name = "audio-input-microphone"
Partie du(des) profil(s) : input:analog-mono, output:analog-stereo+input:analog-mono, output:iec958-stereo+input:analog-mono, output:iec958-ac3-surround-51+input:analog-mono
analog-output-speaker: Haut-parleurs (priority: 10000, latency offset: 0 usec)
Propriétés :
device.icon_name = "audio-speakers"
Partie du(des) profil(s) : output:analog-stereo, output:analog-stereo+input:analog-mono
iec958-stereo-output: Sortie numérique (S/PDIF) (priority: 0, latency offset: 0 usec)
Partie du(des) profil(s) : output:iec958-stereo, output:iec958-stereo+input:analog-mono
Carte #1
Nom : alsa_card.platform-bcm2835_audio
Pilote : module-alsa-card.c
Module propriétaire : 7
Propriétés :
alsa.card = "0"
alsa.card_name = "bcm2835 Headphones"
alsa.long_card_name = "bcm2835 Headphones"
alsa.driver_name = "snd_bcm2835"
device.bus_path = "platform-bcm2835_audio"
sysfs.path = "/devices/platform/soc/fe00b840.mailbox/bcm2835_audio/sound/card0"
device.form_factor = "internal"
device.string = "0"
device.description = "Audio interne"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Profils :
output:analog-stereo: Sortie Analog Stereo (sinks: 1, sources: 0, priority: 5100, available: oui)
off: Éteint (sinks: 0, sources: 0, priority: 0, available: oui)
Profil actif : output:analog-stereo
Ports :
analog-output: Sortie analogique (priority: 9900, latency offset: 0 usec)
Partie du(des) profil(s) : output:analog-stereo
~>
Mon casque est branché sur la clef usb son.
Le nom de ma carte est "USB Audio Device".
Cette carte correspond à :
--> Destination #0
--> Source #0
--> Source #1
--> carte #0
Après, je n'en sais pas plus.
Voici les périphériques :
Code : Tout sélectionner
~> aplay -L
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
jack
JACK Audio Connection Kit
pulse
PulseAudio Sound Server
sysdefault:CARD=Headphones
bcm2835 Headphones, bcm2835 Headphones
Default Audio Device
dmix:CARD=Headphones,DEV=0
bcm2835 Headphones, bcm2835 Headphones
Direct sample mixing device
dsnoop:CARD=Headphones,DEV=0
bcm2835 Headphones, bcm2835 Headphones
Direct sample snooping device
hw:CARD=Headphones,DEV=0
bcm2835 Headphones, bcm2835 Headphones
Direct hardware device without any conversions
plughw:CARD=Headphones,DEV=0
bcm2835 Headphones, bcm2835 Headphones
Hardware device with all software conversions
usbstream:CARD=Headphones
bcm2835 Headphones
USB Stream Output
sysdefault:CARD=Device
USB Audio Device, USB Audio
Default Audio Device
front:CARD=Device,DEV=0
USB Audio Device, USB Audio
Front speakers
surround21:CARD=Device,DEV=0
USB Audio Device, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Device,DEV=0
USB Audio Device, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=Device,DEV=0
USB Audio Device, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Device,DEV=0
USB Audio Device, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Device,DEV=0
USB Audio Device, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Device,DEV=0
USB Audio Device, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Device,DEV=0
USB Audio Device, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Device,DEV=0
USB Audio Device, USB Audio
Direct sample mixing device
dsnoop:CARD=Device,DEV=0
USB Audio Device, USB Audio
Direct sample snooping device
hw:CARD=Device,DEV=0
USB Audio Device, USB Audio
Direct hardware device without any conversions
plughw:CARD=Device,DEV=0
USB Audio Device, USB Audio
Hardware device with all software conversions
usbstream:CARD=Device
USB Audio Device
USB Stream Output
~>
Pour le périphérique, j'ai le choix, sauf que tous ne fonctionnent pas.
Si je fais comme toi, je dois prendre aussi bien pour l'input qu l'output : "hw:Device".
Ce qui revient à faire : "hw:1,0" car ma carte physique est bien 1 :
Code : Tout sélectionner
> cat /proc/asound/cards
0 [Headphones ]: bcm2835_headphonbcm2835 Headphones - bcm2835 Headphones
bcm2835 Headphones
1 [Device ]: USB-Audio - USB Audio Device
GeneralPlus USB Audio Device at usb-0000:01:00.0-1.3, full speed
>
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
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
Re: [résolu] fichier .asoundrc et conflits
Salut Kartable.
Oui, c'est un vrai galère ce PulseAudio.
Autant avec le fichier ".asoundrc", j'arrive à faire presque ce que je veux, autant pour la configuration en réseau, je n'arrive à rien.
J'ai posté dans le forum raspberry un message en anglais, en espérant que âme charitable puisse m'aider.
Si j'arrive à configurer PulseAudio en réseau, je donne la solution.
Bonne continuation.
Artemus24.
@+
Oui, c'est un vrai galère ce PulseAudio.
Autant avec le fichier ".asoundrc", j'arrive à faire presque ce que je veux, autant pour la configuration en réseau, je n'arrive à rien.
J'ai posté dans le forum raspberry un message en anglais, en espérant que âme charitable puisse m'aider.
Si j'arrive à configurer PulseAudio en réseau, je donne la solution.
Bonne continuation.
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
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
Re: [résolu] fichier .asoundrc et conflits
Salut à toutes et à tous.
Joyeux Noël !
J'ai enfin trouvé la solution pour utiliser Pulse Audio en réseau : suivez le lien.
@+
Joyeux Noël !
J'ai enfin trouvé la solution pour utiliser Pulse Audio en réseau : suivez le lien.
@+
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
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
Re: [résolu] fichier .asoundrc et conflits
Salut Kartable.
Dans cette première partie (juste avant le PulseAudio en réseau), ce sont des tests pour manipuler le fichier ".asoundrc".
Cette astuce fait que je peux écouter un morceau de musique sur mes deux sorties en même temps, en déplaçant mon casque audio.
Ce ne sont que des tests, histoire de comprendre comment fonctionne ce fichier ".asoundrc" ainsi que PulseAudio.
De tout façon, je n'ai pas le matériel (comme hifiberry) pour faire d'autres test.
Ou bien une raspberry en serveur et autre chose (windows par exemple) où PulseAudio a été installé aupréalable.
Depuis le client, tu envoies un morceau de musique que tu dois entendre dans ton casque qui a été branché sur la raspberry serveur.
Je vais poursuivre mes investigations, entre autre comprendre le paramétrage de "default.pa", et surtout supprimer ces saccades que j'ai dans le casque.
Bonnes fêtes de fin d'année.
Cordialement.
Artemus24.
@+
Je te rassure, moi non plus, je n'ai pas tout compris.Kartable a écrit :J'ai parcouru ton fil en diagonale et je n'ai pas tout compris ...
Dans cette première partie (juste avant le PulseAudio en réseau), ce sont des tests pour manipuler le fichier ".asoundrc".
Il n'y a pas deux casques, mais deux sorties sons. J'ai la prise jack et ma clef usb son.Kartable a écrit :... notamment sur le pcm.both pour tes 2 casques.
Cette astuce fait que je peux écouter un morceau de musique sur mes deux sorties en même temps, en déplaçant mon casque audio.
Abandonné quoi ?Kartable a écrit :Mais tu sembles l'avoir abandonné rapidement...
Ce ne sont que des tests, histoire de comprendre comment fonctionne ce fichier ".asoundrc" ainsi que PulseAudio.
De tout façon, je n'ai pas le matériel (comme hifiberry) pour faire d'autres test.
Il faut juste deux raspberry, l'un en serveur et l'autre en client.Kartable a écrit :Je n'ai pas l'équipement qui me permette de tester PulseAudio en réseau.
Ou bien une raspberry en serveur et autre chose (windows par exemple) où PulseAudio a été installé aupréalable.
Depuis le client, tu envoies un morceau de musique que tu dois entendre dans ton casque qui a été branché sur la raspberry serveur.
J'ai déposé pas mal de didacticiel sur la raspberry que se soit ici ou dans le forum developpez.Kartable a écrit :C'est sympa néanmoins d'avoir partagé tes découvertes ici.
Je vais poursuivre mes investigations, entre autre comprendre le paramétrage de "default.pa", et surtout supprimer ces saccades que j'ai dans le casque.
Bonnes fêtes de fin d'année.
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
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