Squeezebox Control

Bonjour,
J’avais des Scripts Météo que je passais dans TTS et Squeezebox Control et qui fonctionnaient très bien avant la dernière mise à jour.
J’avais déjà beaucoup galèré par le passé pour des problèmes de caractères qui ne passaient pas, mais avait fini par réglé le problème.
Depuis la dernière mise à jour, j’ai une erreur de caractères qui m’empêche de faire fonctionner le plugin pour faire parlé mon enceinte, j’en perd mon latin (et c’est le cas de le dire).
Pour faire clair, le script génère une phrase (type météo) qui s’affiche très bien, aussi bien en shell, à l’affichage dans Jeedom, dans la variable, mais quand elle passe à travers le plugin Squeezbox, elle est semble t-il converti et le passe plus :-(.
J’avoue ne plus rien comprendre et avoir besoin d’aide.

La phase en question dans la variable est la suivante :

Bonjour, nous sommes le Samedi 5 Octobre 2019 , Cet après-midi à Rezé très nuageux. Possibilité d’averses en fin d’après-midi. Demain à Rezé l’instabilité diminuera en cours de journée. La citation du jour est, Le superflu, chose très nécessaire (Voltaire).

Elle est interprété comme ça dans Squeezebox :

Code : Tout sélectionner

[2019-10-05 12:58:48.203][DEBUG] : Parle {'jingle': 'nojingle', 'freq': '44100', 'volume': '50', 'ttspath': 'none', 'bitrate': '128', 'action': 'parle', 'moteur': 'picotts', 'webip': 'none', 'blank': 0, 'multitarget': [Player: aa:aa:3d:7f:ec:33], 'volumetts': '50', 'tts': "Bonjour, nous sommes le Samedi 5 Octobre 2019 , Cet apr\xe8s-midi \xe0 Rez\xe9 tr\xe8s nuageux. Possibilit\xe9 d'averses en fin d'apr\xe8s-midi.   Demain \xe0 Rez\xe9 l'instabilit\xe9 diminuera en cours de journ\xe9e. La citation du jour est, Le superflu, chose tr\xe8s n\xe9cessaire (Voltaire).", 'player': Player: aa:aa:3d:7f:ec:33, 'datafolder': '/var/www/html/plugins/squeezeboxcontrol/core/class/../../data', 'amp': '100', 'options': 'fr-FR', 'jeedompath': 'http://192.168.44.97:80', 'device': 'aa:aa:3d:7f:ec:33'}
[2019-10-05 12:58:48.204][DEBUG] : Hash is : 4444c358dcedbe97982bad335c25c6cc built with fr-FRBonjour, nous sommes le Samedi 5 Octobre 2019 , Cet apr\xe8s-midi \xe0 Rez\xe9 tr\xe8s nuageux. Possibilit\xe9 d'averses en fin d'apr\xe8s-midi.   Demain \xe0 Rez\xe9 l'instabilit\xe9 diminuera en cours de journ\xe9e. La citation du jour est, Le superflu, chose tr\xe8s n\xe9cessaire (Voltaire).nojinglepicotts12844100100aaaa3d7fec33
[2019-10-05 12:58:48.204][DEBUG] : exception action 'utf-8' codec can't decode byte 0xe8 in position 55: invalid continuation byte

Un peu d’aide ?
Merci

Bonjour @chryss,

Depuis la dernière version du plugin squeezebox, le TTS fonctionne que s’il n’y a pas d’accents.

akenad :slight_smile:

Un TTS sans accent, quel interet ← l’accent circonflexe est refusé aussi dans le nouveau forum, c’est un complot ?

Salut, il a été corrigé avec la dernière mise à jour de la version 3.3.33

Merci beaucoup l’ami mais je suis en 4.0.19
à tout hasard je post le error log de squeezebox

[2019-10-08 07:15:24.899][ERROR] : Exception on socket : 'NoneType' object has no attribute 'get_ref'
[2019-10-08 07:15:25.092][ERROR] : Exception on socket : 'NoneType' object has no attribute 'get_ref'
[2019-10-08 07:15:30.895][ERROR] : Exception on socket : 'NoneType' object has no attribute 'get_ref'

c’est un texte avec variable qui donne la météo et autres lancé depuis un scénario.

@Loic vous auriez la gentillesse de regarder la différence entre le noyau 3.3.33 et le noyau 4.0.19 où ce problème n’a pas été corrigé avec le TTS que nous pensions initialement lié au plugin.

Bonjour,
Je comprends pas la demande pouvez vous me faire un résumé

@loic Comme je vous l’explique avec mon mauvais français, le problème… Je vais essayer.

Dans la dernière mise à jour du plugin SqueezeBox a cessé de jouer les messages TTS accentués ou avec des caractères spéciaux, une fois pris le problème par @Ludovic , me demande si je peux mettre à jour à la version beta du plugin, et je le fais à la fois en V3 et V4. Et le problème a persisté. Jusqu’à aujourd’hui, j’ai vu par hasard qu’il y avait une mise à jour du noyau V3 vers la version 3.3.33 et le problème des accents et des caractères spéciaux dans V3 pour le plugin SqueezeBox et la lecture TTS a disparu.

Commentaire que @ludovic a commenté qu’il n’avait aucun problème avec le plugin en utilisant le serveur TTS et que cela pourrait être un problème de la core picoTTS.

La question est que pour moi en V3 avec le dernier maj m’a résolu alors je vous ai « invoqué » pour savoir que vous auriez pu changer dans cette dernière mise à jour 3.3.33 par rapport à ce qui est en version 4.0.19 où il semble que suit encore le problème.

J’espère que vous m’avez bien expliqué.

Merci
Bull

Bonjour,
Ok j’ai compris alors pour repondre a la question non (tu peux le voir ici https://github.com/jeedom/core/blob/master/core/api/tts.php) il n’y a pas eu de changement la dessus depuis 2 mois.

Eh bien, s’il n’y a pas eu de changement… c’est une coïncidence, voyons si un utilisateur en parle parce que ça marche dans ces moments-là au moins dans la version 3.3.33.

Merci
Bull

Salut,
Perso je suis en 3.3.33 (core jeedom) et en squeezeboxcontrol (2019-09-10 07:34:32) est tout message portant un accent bloque toute sortie TTS.
Exemple il suffit que je remplace « température » par tempairature" pour que le son passe.

Le log montre ça : [MULTIMEDIA][Pico Bureau][Parle] avec comme option(s) : {« background »:« 0 »,« title »:« 50 »,« message »:"Lundi 14 Octobre; … , les temp\u00e9rature iront (etc).

Espérant apporter ma contribution (fût elle minime :slight_smile: )

J’ai le même problème avec la même config v3.3.33. et je pensais tester ta solution ce week end …
Bonne soirée à tous

J’ai aussi le même soucis en version 2019-09-10 07:34:32 et Jeedom 3.3.35.

J’ai investigué et fini par trouver d’où vient le problème.
On peut le résoudre facilement en modifiant 2 fichiers :

  • Fichier /var/www/html/plugins/squeezeboxcontrol/resources/squeezeboxcontrold/playeraction.py
    Remplacer la ligne 176 :
os.system('pico2wave -l '+data['options']+' -w '+filename+ ' "' +data['tts'].encode("latin-1").decode()+ '"')

par :

os.system('pico2wave -l '+data['options']+' -w '+filename+ ' "' +data['tts']+ '"')
  • Fichier /var/www/html/plugins/squeezeboxcontrol/core/class/squeezeboxcontrol.class.php
    Remplacer la ligne 81 :
$cmd = 'sudo /usr/bin/python3 ' . $squeezeboxcontrol_path . '/squeezeboxcontrold.py';

par :

$cmd = 'LC_CTYPE=fr_FR.UTF-8 sudo /usr/bin/python3 ' . $squeezeboxcontrol_path . '/squeezeboxcontrold.py';

Redémarrer le Démon et enjoy :slight_smile:

Reste plus qu’au créateur/mainteneur à l’appliquer dans une mise à jour du plugin.
Le problème vient d’un problème d’environnement, les locales côté PHP ne sont pas bonnes (LANG=C) du coup je les forces lors du lancement du Démon Python pour qu’il puisse travailler correctement en UTF-8. Je précise que je suis sur RPI 3 B+
Il faudra certainement régler ce problème côté PHP et virer le hack que je propose, d’autant que je précise fr_FR.UTF-8 qui ne fonctionnera pas pour les anglophones…

3 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.