Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/02/2018, à 00:34

Arbiel

[Résolu] Afficher du texte et le lire en tâche de fond

Bonsoir à tous

Dans un script bash, je désire lire du texte (un message d'alerte affiché par notify-send) et le lire en tâche de fond. J'utilise pico2wave pour créer le fichier à lire, et je le lis ensuite avec play.

pico2wave -l fr-FR -w /tmp/message.wav "${msg}" && play /tmp/message.wav

La script attend la fin de la lecture avant de poursuivre.
J'ai essayé de lancer play en tâche de fond, mais je n'entends plus rien.

J'ai lu dans la page man de sox que l'on peut affecter un terminal de sortie à la variable d'environnement AUDIODEV, avec des exemples qui indiquent /dev/dsp2 ou hw:soundwave,1,2, mais je ne trouve rien dans ma configuration qui me permette d'adapter ces exemples.

Par ailleurs, j'ai parcouru le forum, où j'ai trouvé quelques réponses, qui toutes me semblent correspondre à l'écoute de musique à partir d'une liste de lecture. Je doute que cela me convienne, et je trouve ces solutions un peu compliqué.

Merci d'avance à quiconque pourra me mettre sur la voie.

Arbiel

Dernière modification par Arbiel (Le 09/02/2018, à 01:33)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#2 Le 09/02/2018, à 00:59

Watael

Re : [Résolu] Afficher du texte et le lire en tâche de fond

salut,

une recherche plus tard ...

play yourStuff &>/dev/null </dev/null &

et dans le même post

play -q youStuff &

au comportement très différent.
EDIT : je corrige l'omission de l'esperluette dans la première forme; alors le comportement est similaire.

merci unix et linux.

Dernière modification par Watael (Le 09/02/2018, à 06:10)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 09/02/2018, à 01:33

Arbiel

Re : [Résolu] Afficher du texte et le lire en tâche de fond

Bonsoir Watael

Merci pour ton aide. Effectivement rediriger l'entrée standard à partir de /dev/null ou utiliser l'option -q permet d'entendre le son. À vrai dire, je n'ai pas vu la différence que tu mentionnes.

Et je ne m'attendais pas à une réponse aussi rapide. Je suis revenu sur le forum pour indiquer avoir trouvé une solution : l'exécution de play dans un sous-shell

(play /tmp/message.wav &)

Arbiel

N.B. Cependant, il me reste un petit problème qui mérite une autre demande, à moins que tu ne saches y répondre directement.
J'aimerais maintenant être capable d'effacer le message affiché par notify-send à la fin de la lecture, ou éventuellement, arrêter la lecture et effacer le message lorsque je constate que l'utilisateur a effectué ce que j'attends de lui

Dernière modification par Arbiel (Le 09/02/2018, à 01:42)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#4 Le 09/02/2018, à 06:06

Watael

Re : [Résolu] Afficher du texte et le lire en tâche de fond

À vrai dire, je n'ai pas vu la différence que tu mentionnes.

la grosse différence, c'est que la première n'est pas en arrière-plan : j'ai oublié de terminer la commande par un esperluette !

je corrige.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne