[Audio] Souffle de malade

Architecture ARM, archlinuxarm, raspberrypi ...
RoKN
Hankyu
Messages : 38
Inscription : mer. 12 août 2015, 13:27

[Audio] Souffle de malade

Message par RoKN » jeu. 03 mars 2016, 17:14

Salut à tous !

Je suis confronté a un petit soucis relativement étrange et je soupçonne plusieurs choses, mais j'aimerais être sur pour savoir vers où me diriger.

Je suis en train de bricoler un truc avec mon Raspberry Pi et la distrib ArchlinuxArm. Jusqu'ici tout vas bien.
Le truc en question, c'est juste le lancement de Puredata au démarrage ainsi que d'un patch, en gros on branche le machin et au bout de 15 secondes de boot, ça joue de la musique.
Pour ce qui est du lancement au démarrage, no problemo, j'ai bricolé un service avec systemd.

Là ou ça pose soucis, c'est que pour un petit patch tout simple, un simple oscillateur d'un fréquence donnée, ya juste un petit souffle en fond que j'attribue à la mauvaise qualité de sortie audio connue du Raspberry Pi, donc je suis pas étonné... jusqu'à ce que je lance un "vrai" patch, un peu plus gros, qui demande plus de calcul mais qui ne bouffe que 50% du CPU max. Là, c'est pu un petit souffle, c'est un gros souffle qui rend le truc inaudible.

Je me demande donc si ça ne viens pas du moteur audio, en l'occurrence Alsa dans mon cas ?
Si oui, serait-ce une histoire de priorité de processus ?
Si oui, comment augmenter la priorité du processus audio ?

Du coup, j'ai essayé avec jack2 en m'aidant de la doc sur ubuntufr : https://doc.ubuntu-fr.org/jackd

J'ai donc augmenté la priorité de l'audio en ajoutant au fichier /etc/security/limits.conf :

Code : Tout sélectionner

# Support Temps réel pour le groupe audio
@audio  -  rtprio   99
@audio  -  nice	    -10
@audio  -  memlock  250000
Puis j'ai lancé jackd :

Code : Tout sélectionner

jackd -sRp 70 -d alsa -d hw:0 -r 44100 -H -z s &
Là, SURPRISE ! Ya un salopard de bruit "pulsé" qui a remplacé le bruit inaudible du début. En plus, après avoir lancé Puredata ça me renvoie des erreurs :
(ces erreurs apparaissent lorsque je lance Puredata avec l'option -alsa. Lorsque j'essaye avec l'option -jack, ce qui aurait pour effet d'utiliser jack en sortie, ça me retourne "Segmentation fault (core dumped)")

Code : Tout sélectionner

delay of 26773.000 usecs exceeds estimated spare time of 23196.000; restart ...

delay of 26781.000 usecs exceeds estimated spare time of 23196.000; restart ...

delay of 26781.000 usecs exceeds estimated spare time of 23145.000; restart ...

delay of 26657.000 usecs exceeds estimated spare time of 23145.000; restart ...

delay of 26778.000 usecs exceeds estimated spare time of 23145.000; restart ...

delay of 26784.000 usecs exceeds estimated spare time of 23178.000; restart ...

delay of 26777.000 usecs exceeds estimated spare time of 23178.000; restart ...
Bref, je nage un peu là et j'ai bien besoin d'un petit coup de main, j'ai toujours un peu galéré avec la gestion du son sous Linux malgré le fait que je m'en sers tout les jours... :)

EDIT :
Je viens de réussir tout seul quelque chose !
J'ai lancé Puredata en augmentant la taille du buffer audio, passant de 25ms (par défaut) à 100ms... et voilà, plus de soucis pour le moment avec Alsa.
Bon, par contre avec Jack j'en ai toujours :-(

Répondre