Re: [CBLX] Cherche enregistreur audio tout simple en ligne de commande |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/carrefourblinux Archives
]
From: Delaunay Christophe <christophe.delaunay@xxxxxxxxxxxxxxx>
Subject: RE: [CBLX] Cherche enregistreur audio tout simple en ligne de commande
Date: Thu, 21 Jan 2016 10:28:50 +0000
> Salut Aldo,
>
> A force d'éplucher la doc de libasound, il semble que
> j'arrive presqu'à mon but. En effet, quand on crée une
> "entrée audio" dans son appli, on initialise tout un "struct"
> dans lequel on donne un champ qui va peut-être faire mon
> bonheur: ils l'appellent "period". Ce champ "period" définit
> la taille du buffer qu'on récupère quand on appelle "read()"
> sur l'"entrée audio" qu'on vient d'initialiser.
>
> Enfin, dire que "period" définit la taille du buffer, c'est
> aller un peu vite en besogne puisque pour trouver la taille
> en question, il faut appliquer une sombre formule dans
> laquelle intervient "period", (on s'en doute), le taux
> d'échantillonnage demandé, (nombre d'échantillons par seconde
> mesuré en Hz), la taille d'un échantillon, (8, 12, 16, 24 ou
> 32 bits), et le nombre de canaux d'entrée.
C'est très logique l'encombrement d'un fichier son non
compressé est effectivement proportionnel aux variables
mentionnées ci-dessus.
>
> Maintenant, pour ce que tu appelles "chef d'orchestre", je
> crois de plus en plus comprendre qu'Alsa à lui tout seul ne
> peut pas l'être. Certes, Alsa va fournir tout ce qu'il faut
> pour piloter le matériel audio mais visiblement, il s'arrête
> là. Charge à des outils comme jackd, PulseAudio ou ta propre
> appli de définir ce qu'ils en feront.
Je crois qu'alsa n'a jamais prétendu à autre chose. Ce sont
les briques de bases mais des briques de hhautes qualité. Le
but était de fournir une api avec des fonctionalités
relativement sophistiquées et indépendante du matériel pour
pouvoir unifier la programmation. Ca n'a jamais été de
fournir une interface utilisateur. Cela dit yil y a sûrement
des types qui on des matériels tellement exotiques qu'ils
vont encore traffiquer directement dans le driver ...
Quant à pulse malheureusement je crois que c'est un grand
réinventage de roue qui n'a pas voulu s'appuyer sur alsa pour
je ne sais quelle raison. Peut-être parce que les concepteurs
n'ont soit eu ni le courage soit la capacité à se mettre dans
la doc de libasound come toi .... et qu'ils ont cru pouvoir
refaire le monde !
>
> En pratique, ce qui nous fait penser à ce que tu dis, c'est
> que, par exemple, quand PulseAudio tourne, il se "réserve"
> les périphériques audio qu'on lui demande
Pulse est définitivement incompatible avec le reste et moi je
m'en méfie comme de la peste.
> d'utiliser. Autrement dit, il demande à libasound, un
> contrôle exclusif sur ce matériel, ce qui revient à en
> interdire l'accès à toute autre application. Pour contourner
> ça, PulseAudio fournit une commande qu'ils appellent
> "pasuspender". Si tu fais "pasuspender --
> <ton_player_préféré_pas_compatible_pulse> <ta_chanson>",
> Pulse va se mettre en veille jusqu'à ce que ton player ait
> fini de jouer. Par exemple, ma commande pour lancer un
> serveur jackd était la suivante:
>
> # pasuspender -- jackd -d alsa <mes_paramètres_alsa>
Oh là ! Jackd par dessus pulse Pour tout dire là je n'y crois pas !
>
> A l'inverse, jackd ne fournit aucun autre moyen que
> d'éteindre le serveur si on veut utiliser autre chose
> temporairement. Enfin, si je peux me passer de jackd, ça
> m'arrangera infiniment. Et plus encore, si j'arrivais à faire
> en sorte qu'Orca continue de me parler même quand PulseAudio
> est éteint, (ce qui n'est pas le cas juste maintenant), ça
> m'arrangerait encore plus.
Ahh OK je vois ton problème. J'ai eu ce genre d'ennui aussi !
Mais alsa sait très bien faire ça. Soit la carte son est
capable de faire du mixage en hard et tout passe en même
temps, soit il faut activer le plugin dmix sur alsa qui
s'occupe de multiplexer. C'est rigolo ce ne sont pas les
cartes a priori les moins sophistiquées qui n'offrent pas le
mix en hard. Typiquement l'asus xonar stx qui est quand même
une jolie carte son ne sait pas mixer en natif et on doit le
faire faire par alsa.
Cela dit en ce qui me concerne j'ai résolu la question de la
synthèse et des autres appli de son en hard : une carte pour
chaque. La puce pourrie de la carte mère pour la synthèse et
une autre carte pour les applis de type musique ou autre.
Pierre
>
> Bonne journée. @+ ChD
>
> -----Original Message-----
> From: Aldo [mailto:info@xxxxxxxxxxxx]
> Sent: Thursday, January 21, 2016 10:55 AM
> To: carrefourblinux@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [CBLX] Cherche enregistreur audio tout simple en ligne de commande
>
> On Thu, Jan 21, 2016 at 05:30:36AM +0100, Pierre Lorenzon wrote:
>> Jackd est un serveur
>> qui se met en surcouche des drivers de son autant que j'y ai
>> compris quelque chose
>
>
> Je compare jackd à exim vs. postfix; c'est soit l'un soit l'autre; pour le
> son ça m'etonnerait qu'il en soit autrement, à moisn d'avoir des problèmes
> comme il en existe enetre alsa et pulse audio: en audio il fuat bien qu'il y
> ait un maître/chef d'orchestre.
> Possible que tout ça soit désormais harmonisé, mais à lire les docs en
> ligne, y a bcp de résultats sur conflicts ou troubleshooting, idem vs.
> pulse.
> L'ideal est donc un seul maître à bord.
>
> Aldo.
>
> --
> CBLX - CarrefourBLinuX MailingListe
> Pour obtenir de l'aide, envoyez le sujet help à:
> carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
> Archives:
> http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
> ou
> http://www.mail-archive.com/carrefourblinux@xxxxxxxxxxxxxxxxxxx/
>
>
> --
> CBLX - CarrefourBLinuX MailingListe
> Pour obtenir de l'aide, envoyez le sujet help à:
> carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
> Archives:
> http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
> ou
> http://www.mail-archive.com/carrefourblinux@xxxxxxxxxxxxxxxxxxx/
>
--
CBLX - CarrefourBLinuX MailingListe
Pour obtenir de l'aide, envoyez le sujet help à:
carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
Archives:
http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux
ou
http://www.mail-archive.com/carrefourblinux@xxxxxxxxxxxxxxxxxxx/