Pour les utilisateurs de SONOS

Discutez ici de vos souhaits d'évolutions et de vos idées pour eedomus

Re: Pour les utilisateurs de SONOS

Messagepar darkwinter » 10 Juin 2013 19:51

@dj Momo, j'ai vi ton commentaire il faut aussi rajouter dans le fichier le lien suivant pour indiquer ou se trouve le dossier de partage web :

$directory = "SERVEUR/web"; //pour celles et ceux ayant un synology avec les fichiers directement dans le dossier web.
darkwinter
 
Messages : 251
Inscription : 28 Juil 2012

Re: Pour les utilisateurs de SONOS

Messagepar darkwinter » 10 Juin 2013 20:02

Autre remarque, si j'ai bien compris chaque message envoyé doit normalement générer 1 mp3 différents si le message est différents. Par contre j'ai beau changé le message j'ai toujours 1 seul mp3 dans le dossier audio/fr/

J'essai de comprendre un peu le code pour le pb de taille du fichier mp3, dois y avoir soit un pb niveau du code soit un pb de droit sur le synology, je vois que cela pour le moment.
darkwinter
 
Messages : 251
Inscription : 28 Juil 2012

Re: Pour les utilisateurs de SONOS

Messagepar DjMomo » 10 Juin 2013 22:30

Jette un oeil au niveau des droits, cela fonctionne sur mon Syno :

Code : Tout sélectionner
NAS> ll
drwxrwxrwx    3 admin    users         4096 Jun  8 20:24 .
drwxrwxrwx   12 admin    users         4096 May 23 18:49 ..
drwxr-xr-x    3 nobody   nobody        4096 Jun  8 20:24 audio
-rw-rw-rw-    1 admin    users         1181 Jun  8 19:34 index.php
-rw-rw-rw-    1 admin    users        15945 Jun  8 20:24 sonos.class.php
obelix> cd audio/
NAS> ll
drwxr-xr-x    3 nobody   nobody        4096 Jun  8 20:24 .
drwxrwxrwx    3 admin    users         4096 Jun  8 20:24 ..
drwxr-xr-x    2 nobody   nobody        4096 Jun  8 20:38 fr
NAS> cd fr
NAS> ll
drwxr-xr-x    2 nobody   nobody        4096 Jun  8 20:38 .
drwxr-xr-x    3 nobody   nobody        4096 Jun  8 20:24 ..
-rw-rw-rw-    1 nobody   nobody       33264 Jun  8 20:24 TTS-934dc5fc1d05e3763b79a1c247b2c1c4.mp3
-rw-rw-rw-    1 nobody   nobody       14112 Jun  8 20:38 TTS-b0812b331a1db9e249bb27d2247302f6.mp3
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Pour les utilisateurs de SONOS

Messagepar DjMomo » 10 Juin 2013 22:31

darkwinter a écrit:Autre remarque, si j'ai bien compris chaque message envoyé doit normalement générer 1 mp3 différents si le message est différents


Tout à fait.
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Pour les utilisateurs de SONOS

Messagepar DjMomo » 10 Juin 2013 22:32

darkwinter a écrit:@dj Momo, j'ai vi ton commentaire il faut aussi rajouter dans le fichier le lien suivant pour indiquer ou se trouve le dossier de partage web :

$directory = "SERVEUR/web"; //pour celles et ceux ayant un synology avec les fichiers directement dans le dossier web.


Effectivement, oubli de ma part hier soir :?
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 11 Juin 2013 08:08

Bonjour,
pas encore testé mais j'ai hâte !

cette phrase en particulier vrai vraiment rêver !

diffusons un message texte généré par notre eedomus, même si un titre est en cours de diffusion sur notre Sonos. Cerise sur le gâteau, la diffusion sonore reprendra là où elle en était, et avec son niveau sonore, avant la diffusion du message.


en tous cas merci pour tout ça :P
tchex
 
Messages : 140
Inscription : 29 Nov 2012

Re: Pour les utilisateurs de SONOS

Messagepar darkwinter » 11 Juin 2013 08:51

Je suis aussi Ok sur les droits. Il faudrait une autre personne qui test afin de voir si il y a une erreur dans le code ou non.

Tu as créer un user spécial sur le syno?
darkwinter
 
Messages : 251
Inscription : 28 Juil 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 11 Juin 2013 09:16

bonjour,

moi j'ai bien un nouveau mp3 qui se crée (si pas déjà existant).
par contre c'est illisible avec mediaplayer (pas testé avec sonos car pas chez moi)
je l'ai mis en pj, ça correspond à :
sonos.php?message=coucou&volume=50&force_unmute=1
Pièces jointes
TTS-9187dc827e1e2995341991160d750cfe.zip
(809 octet(s)) Téléchargé 492 fois
tchex
 
Messages : 140
Inscription : 29 Nov 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 11 Juin 2013 09:24

d'ailleurs attention dans les exemples donnés il y a un $ en trop ici

http://IP_serveur_web/chemin/vers/sonos/sonos.php?$message=Mon message à diffuser&volume=50&force_unmute=1
tchex
 
Messages : 140
Inscription : 29 Nov 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 11 Juin 2013 09:36

pour info j'ai testé tous les fichiers avec 'mp3validator' et il me dit 'unknown file format' à chaque fois.
tchex
 
Messages : 140
Inscription : 29 Nov 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 11 Juin 2013 09:51

ça se complique.. on dirait que tout le monde n'a pas le droit d'utiliser l'api.
Le mp3 généré n'est pas un mp3 mais une page web qui dit que mon client n'a pas le droit d'accéder à cette page :
<!DOCTYPE html><html lang=en><meta charset=utf-8><meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"><title>Error 403 (Forbidden)!!1</title><style>*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}</style><a href=//www.google.com/><img src=//www.google.com/images/errors/logo_sm.gif alt=Google></a><p><b>403.</b> <ins>That’s an error.</ins><p>Your client does not have permission to get URL <code>/translate_tts?q=bonjour%2C+il+pleut+aujourd+hui&amp;tl=fr</code> from this server. (Client IP address: XXX.XXX.XXX.XXX)<br><br>


<ins>That’s all we know.</ins>



changez l'extension fichier de mp3 à txt pour voir si c'est pareil chez vous.

c'est une histoire de user agent ?
tchex
 
Messages : 140
Inscription : 29 Nov 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 11 Juin 2013 10:11

je crois avoir résolu le problème en forçant le user agent :
après le 'require', insérer la ligne :
Code : Tout sélectionner
ini_set('user_agent', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36');


et ça devrait marcher. en tous cas ça marche pour moi ! :P
tchex
 
Messages : 140
Inscription : 29 Nov 2012

Re: Pour les utilisateurs de SONOS

Messagepar darkwinter » 11 Juin 2013 19:21

Chez moi j'ai toujours le pb même en rajoutant le user agent, un seul fichier mp3 créer sonos me dit que le fichier est mal codé. Il fait 0ko le fichier, rien à l'intérieur en ouvrant avec un txt. Autre bug j'ai changé à plusieurs reprises le message à lire, toujours un seul fichier mp3 de créer.(alors que pour chaque message différents je dois avoir un autre mp3)
@Dj Momo si tu as une piste je suis preneur :)

Pour info pour baisser le son de 50% du sonos avec le code donné cela fonctionne, c'est TTS qui pose pb
darkwinter
 
Messages : 251
Inscription : 28 Juil 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 12 Juin 2013 09:39

bonjour,

concernant le directory, peut-il pointer vers un serveur web ?
Mes scripts sont exécutés à distance et les fichiers mp3 sont stockés eux aussi à distance.
J'ai mis $directory = "monsite.web/sonos";
monsite.web/sonos/audio/fr est bien accessible via un navigateur.
Mais malheureusement ça ne fonctionne pas..
des idées ?

merci !
tchex
 
Messages : 140
Inscription : 29 Nov 2012

Re: Pour les utilisateurs de SONOS

Messagepar DjMomo » 12 Juin 2013 13:45

Je viens de prendre en compte la suggestion de tchex concernant le user agent, mise à jour dispo sur mon Git : http://github.com/djmomo/sonos

darkwinter : remplace le fichier sonos.class.php par celui ci : https://github.com/DjMomo/sonos/archive ... winter.zip
Depuis ton navigateur, essaie d'appeler ton script pour générer un message sonore. Tu va avoir différents messages qui vont s'afficher sur ton navigateur, peux tu me les recopier ici ou dans un fichier txt ?

tchex, il faut que le serveur web soit hébergé chez toi. Le sonos va lire ensuite les fichiers audio en CIFS (équivalent de Samba), protocole qui ne passe pas par Internet. De plus, les Sonos devraient être accessibles depuis Internet (et je ne sais pas si c'est très propice) pour pouvoir les piloter...
A moins que j'ai mal compris ?
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 12 Juin 2013 13:54

merci pour ces infos djmomo.
effectivement mes sonos sont accessibles par internet dans cette configuration via des ports particuliers... c'est effectivement pas top niveau sécurité..
mais comme j'ai pas de NAS et que j'ai pas envie de laisser mon pc tourner jour et nuit... pour l'instant c'est la config qui me convient le mieux.
.. bon bah ça m'arrange pas alors.. :?
tchex
 
Messages : 140
Inscription : 29 Nov 2012

Re: Pour les utilisateurs de SONOS

Messagepar darkwinter » 12 Juin 2013 16:00

Voici donc les infos du TXT généré sous firefox :

Nom du fichier : d41d8cd98f00b204e9800998ecf8427e
Chemin complet du fichier : audio/fr/TTS-d41d8cd98f00b204e9800998ecf8427e.mp3
Le fichier n'existe pas -> création
Fichier MP3 :
Contenu du fichier audio/fr/TTS-d41d8cd98f00b204e9800998ecf8427e.mp3 :



Voici le fichier sonos.tts.php

<?php
// Exemple de l'utilisation de la fonction Text-to-speech
require("sonos.class.php");
$IP_sonos_1 = "192.168.0.12"; // A adapter avec l'adresse IP du Sonos à contrôler

$volume = 0;
$force_unmute = 0;
$directory = "SERVEUR/web";
if (isset($_GET['force_unmute'])) $force_unmute = $_GET['force_unmute']; // Force la désactivation de la sourdine. Optionnel
if (isset($_GET['volume'])) $volume = $_GET['volume']; // Niveau sonore. Optionnel.
$message = $_GET['message']; // Message à diffuser

//Instanciation de la classe
$sonos_1 = new SonosPHPController($IP_sonos_1);
$sonos_1->PlayTTS($message,$directory,$volume,$force_unmute); //Lecture du message
?>

L’ensemble est hébergé sous un synology j'ai tout mis dans la racine du répertoire web.

Le fichier mp3 est bien créer mais il fait 0ko.

J'ai beau changé le message j'ai à chaque fois le même mp3 qui est dans le fichier audio, pas d'autres mp3 de créer. Il faut faire des réglages particuliers sur le synology?
darkwinter
 
Messages : 251
Inscription : 28 Juil 2012

Re: Pour les utilisateurs de SONOS

Messagepar DjMomo » 12 Juin 2013 21:39

Je comprends pas pourquoi ca fonctionne pas chez toi. J'ai moi aussi un Syno et ca roule...

A tout hasard, quelle version du DSM tourne sur ton NAS ?

Je viens de modifier le code, essaie de nouveau, j'ai modifié la façon dont le script récupère les données depuis Google.

Toujours https://github.com/DjMomo/sonos/archive ... winter.zip
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Pour les utilisateurs de SONOS

Messagepar darkwinter » 13 Juin 2013 08:37

Merci Djmomo pour le nouveau code. Je tourne sous le dsm 4.2 dernière version à jour.

Je viens de réessayer avec le nouveau code, ce qui est bizarre c'est que dans le fichier sonos.tts.php tu n'indiques pas l'emplacement du directory c'est à dire :

$directory = "SERVEUR/web";

Chez toi sans indiquer l'emplacement cela fonctionne?
darkwinter
 
Messages : 251
Inscription : 28 Juil 2012

Re: Pour les utilisateurs de SONOS

Messagepar tchex » 13 Juin 2013 08:40

@djmomo,

pour info, les URI pour Napster sont du type "npsdy:Tra.96854651.mp3".
Dans la fonction PlayTTS les pistes Napster sont actuellement reconnues comme des radios et donc une fois le TTS diffusé les pistes redémarrent au début.

Pour corriger ça j'ai modifié le test :

Code : Tout sélectionner
if ((stripos($actual['track']["TrackURI"],"x-file-cifs://")) != false)


en

Code : Tout sélectionner
if (((stripos($actual['track']["TrackURI"],"x-file-cifs://")) != false) or ((stripos($actual['track']["TrackURI"],".mp3")) != false))


je ne sais pas si c'est ce qu'il y a de plus propre à faire mais ça solutionne mon problème !
tchex
 
Messages : 140
Inscription : 29 Nov 2012

PrécédentSuivant

Retour vers Suggestions

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)

cron