La suite avec PlayTTS
aplay, c’est bien mais PlayTTS s’appuie sur mplayer
J’ai galéré (comme à chaque fois) pour que mplayer utilise la sortie BT
Il faut créer un fichier de conf /etc/asound.conf
sudo nano /etc/asound.conf
Et on copie dedans
pcm.bt_speaker {
type plug
slave.pcm {
type bluealsa
device "12:34:56:78:90:12"
profile "a2dp"
}
hint {
show on
description "Mon enceinte BT"
}
}
ctl.bt_speaker {
type bluealsa
}
Vous pouvez bien sûr changer le non « bt_speaker », il faut juste que ce soit cohérent partout.
Vérification avec la commande aplay -L
La configuration créée « bt_speaker » doit apparaitre dans la liste
bt_speaker
Mon enceinte BT
Lecture du fichier audio avec MPlayer en sélectionnant la bonne sortie « bt_speaker »
mplayer -ao alsa:device=bt_speaker mon_fichier_audio.wav
Maintenant, dans la configuration du plugin PlayTTS, on rajoute la bonne option pour mplayer
Et enfin
Méthode avec PulseAudio au lieu de BlueALSA
Pour info, j’ai investigué aussi la méthode en installant le module BlueTooth de Pulse à la place de BlueALSA.
sudo apt install pulseaudio-module-bluetooth
Bien sûr BlueALSA est supprimé.
Redémarrage du BlueTooth et de Pulse
sudo systemctl restart bluetooth.service
sudo killall pulseaudio
pulseaudio --start
On connecte l’enceinte (voir post précédent)
Si tout va bien, la commande pactl list sinks short
devrait retourner une ligne avec bluez_sink.xx_xx_xx_xx_xx_xx.a2dp_sink
0 alsa_output.platform-bcm2835_audio.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 bluez_sink.12_34_56_78_90_12.a2dp_sink module-bluez5-device.c s16le 2ch 48000Hz SUSPENDED
La commande version Pulse devient
mplayer -ao pulse::bluez_sink.12_34_56_78_90_12.a2dp_sink /chemin/de/mon_fichier_audio.mp3
Dans PlayTTS, il suffit de changer l’option pour mplayer avec
-ao pulse::bluez_sink.12_34_56_78_90_12.a2dp_sink
Echec #5 : mplayer fonctionne en SSH, le script Jeedom fonctionne en SSH
Mais ni le plugin PlayTTS ni le script via le plugin Script ne fonctionnent dans Jeedom
Solution : pas encore trouvé
En effet, dans le log http.error, j’ai la même erreur que @betux ici Problème de droit avec Pulse audio - #8 par betux
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
Could not open/initialize audio device -> no sound.
J’ai fouillé dans l’ancien forum [Plugin Tiers][Sujet Principal] PlayTTS : Jeedom parle et lit des fichiers - Page 18 - Forum Communauté Jeedom
Il y a un problème de droits quelque part… En vain.
Avantage de la solution Pulse
On pourrait jouer plusieurs fichiers audio en simultané, c’est le flux global qui est envoyé vers la sortie BlueTooth (comme pour le Jack)