# Programmer avec alsa et pulseaudio

**URL:** <https://www.debian-fr.org/t/programmer-avec-alsa-et-pulseaudio/62377>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 8:22 UTC](https://www.debian-fr.org/t/programmer-avec-alsa-et-pulseaudio/62377 "2016-02-21T20:22:47Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![eliadem](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/858c86/32.png) [@eliadem](https://www.debian-fr.org/u/eliadem)\
**Post date:** [Février 21, 2016, 8:22 UTC](https://www.debian-fr.org/t/programmer-avec-alsa-et-pulseaudio/62377/1 "2016-02-21T20:22:47Z")

</div>

Bonjour,

je suis sous debian jessie. Je voudrais faire clic, clic avec ma carte son en C et/ou en assembleur X86.  
J’ ai bien sûr des devices /dev/snd/pcm… et je voudrais comprendre tout ce joli monde.  
Aussi avez vous des pistes … un livre ?

Merci  
Guy

Je n’ ai pas compris grand chose à un prog aussi simple que aplay car je ne sais pas ou chercher  
Je suis debutant en C

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Février 21, 2016, 8:22 UTC](https://www.debian-fr.org/t/programmer-avec-alsa-et-pulseaudio/62377/2 "2016-02-21T20:22:49Z")

</div>

Avant d’attaquer alsa et la carte son, pourquoi ne pas commencer par le simple “speaker” ? Par exemple, à travers le paquet beep et son code source.

---

<div class="post-metadata">

**Author:** ![eliadem](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/858c86/32.png) [@eliadem](https://www.debian-fr.org/u/eliadem)\
**Post date:** [Février 21, 2016, 8:22 UTC](https://www.debian-fr.org/t/programmer-avec-alsa-et-pulseaudio/62377/3 "2016-02-21T20:22:50Z")

</div>

Merci de la réponse Oui … mais le but du jeux n’ est pas d’ apprendre la programmation (je suis programmeur)  
mais de comprendre comment ce servir des structures (grâce à alsa) disponibles pour sortir du son sur la carte son  
Ce n’ est pas le même device que le speaker non ?

A+  
Guy

---

<div class="post-metadata">

**Author:** ![Zbf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/e68b1a/32.png) [@Zbf](https://www.debian-fr.org/u/Zbf)\
**Post date:** [Février 21, 2016, 8:22 UTC](https://www.debian-fr.org/t/programmer-avec-alsa-et-pulseaudio/62377/4 "2016-02-21T20:22:50Z")

</div>

Sortir du son, comme lire un fichier wav ?

ALSA est réputé pour ne pas avoir une API claire, mais pour des exemples triviaux ça m’étonne que tu ne trouves pas.

Note: je ne programme pas

---

<div class="post-metadata">

**Author:** ![jcsm33](https://www.debian-fr.org/user_avatar/www.debian-fr.org/jcsm33/32/3832_2.png) [@jcsm33](https://www.debian-fr.org/u/jcsm33)\
**Post date:** [Février 21, 2016, 8:23 UTC](https://www.debian-fr.org/t/programmer-avec-alsa-et-pulseaudio/62377/5 "2016-02-21T20:23:50Z")

</div>

> [@eliadem](#):
>
> Ce n’ est pas le même device que le speaker non ?

Non, en effet.

Pour la gestion de la carte son sans ALSA, le code source du paquet bplay peut être intéressant.

> [@eliadem](#):
>
> comprendre comment ce servir des structures (grâce à alsa)

Le gros d’ALSA se trouve dans libasound2 et la doc dans libasound2-doc. Après installation de la doc, pointer le navigateur vers [mono]file:///usr/share/doc/libasound2-doc/html/\_2test\_2pcm\_min\_8c-example.html[/mono] par exemple…

EDIT  
[strike]Pour pulseausio, ce n’est pas aussi évident de se documenter.[/strike]  
En fait, une simple recherche et hop : [http://freedesktop.org/software/pulseaudio/doxygen/examples.html](http://freedesktop.org/software/pulseaudio/doxygen/examples.html)

---

<div class="post-metadata">

**Author:** ![eliadem](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/858c86/32.png) [@eliadem](https://www.debian-fr.org/u/eliadem)\
**Post date:** [Février 21, 2016, 8:23 UTC](https://www.debian-fr.org/t/programmer-avec-alsa-et-pulseaudio/62377/6 "2016-02-21T20:23:55Z")

</div>

Merci beaucoup pour vos réponses . en effet pour moi ce n’était pas trés clair  
Et comme je chercher comment “attaquer” le bon device je ne trouvais pas mon chemin dans les structures  
Je cherchais un truc du genre (hw:0.0)  
Et grâce à jcsm33 j’ ai vu vite fait dans la doc de libasound2 … Ça !! : static char \*device = “plughw:0,0”;  
et ça ça me plait plus  
Merci donc je n’ avais pas pensé (ou avais-je la tête à la librairie libasound2 . j’ avais regardé asound.h etc et je ne comprenais rien  
Ce soir je vais dormir et plus tard je vais regardé tout cela. Et je ferais part de mes découvertes

Merci de vos pistes  
Guy  
PS: bien sûr j’ avais cherché dans les moteurs de recherche … genre … "programmer sa carte son en C"  
ou bien programmer avec alsa … rien

Mais je viens d’ essayer quand même avant de dormir avec un :  
bplay /media/super-geek/Expansion/Musique/Basho/track01.cdda.wav  
bplay: /dev/dsp: No such file or directory

c’ est bien ce que je craignais /dev/dsp c’ est OSS et non pas ALSA ou PULSEAUDIO

et si je fais  
bplay -d /dev/snd/pcmC0D0p /media/super-geek/Expansion/Musique/Basho/track01.cdda.wav  
j’obtiens cette erreur  
bplay: /dev/snd/pcmC0D0p: Inappropriate ioctl for device  
Bon A+

Et en anglais je viens de faire une recherche avec plughw:0,0 et j’ ai trouvé  
le ALSA Programming Howto  
[users.suse.com/~mana/alsa090\_howto.html](http://users.suse.com/~mana/alsa090_howto.html)

A+
