Forum des Objets Communicants et Solutions pour les Libérer...
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Bon plan achat en duo : 2ème robot cuiseur Moulinex Companion ...
600 €
Voir le deal

 

 Hack pour lire les medias locaux

Aller en bas 
2 participants
AuteurMessage
bretelles
Nabz Junior
Nabz Junior



Age : 47
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4747

Hack pour lire les medias locaux Empty
MessageSujet: Hack pour lire les medias locaux   Hack pour lire les medias locaux Icon_minitimeLun 26 Déc 2016 - 14:36

Bonjour à tous,

je crée un topic dédié ce sera plus propre.
En jouant avec le tts je me suis rendu compte qu'il était assez facile de jouer des médias locaux (hébergés par le serveur) en bidouillant légèrement. Cela va surtout intéresser les éleveurs qui utilisent un serveur local mais qui sait, cela peut permettre aussi à des serveurs officiels de proposer une liste( ou des listes) de médias thématiques.

J'ai essayé juste des fichiers mp3 (pour l'instant je trouve que les fichiers en 22.05 Khz sont ceux qui rendent le mieux, j'attends vos avis yellownabzwink ) et des fichiers midi (peu sont supportés, ils doivent être au format Standard MIDI format 0 visiblement d'après les specs de la puce ML2870A). Si vous en trouvez d'autres, je prends yellownabzsmile

L'idée est d'avoir un répertoire média à la racine de http-wrapper contenant les fichiers à jouer.

Et voici la modification de code, dans le fichier server/lib/ttsmanager.cpp
Code:

// Create TTS Song in /broadcast/tts/<name>/<voice>/[md5].mp3
QByteArray TTSManager::CreateNewSound(QString text, QString voice, QString name, bool forceOverwrite)
{
   if (voice == "media")
   {
      return ("broadcast/media/" + text).toAscii();
   }

   TTSInterface * tts = Instance().GetTTSByName(name);
   return tts->CreateNewSound(text, voice, forceOverwrite);
}

QByteArray TTSManager::CreateNewSound(QString text, QString voice, bool forceOverwrite)
{
   if (voice == "media")
   {
      return ("broadcast/media/" + text).toAscii();
   }

   TTSInterface * tts = Instance().GetTTSByName(GlobalSettings::Get("Config/TTS", "acapela").toString());
   return tts->CreateNewSound(text, voice, forceOverwrite);
}

Et après, on peut facilement jouer le média en indiquant son nom dans la chaîne tts et en précisant media comme voice, exemple pour jouer pirates.mid:
Code:

http://terrier.local/ojn/FR/api.jsp?sn=XXXXXXXXXXXX&token=XXXXXXXXXXXXXXXXXXXXXX&tts=pirates.mid&voice=media

Voilà j'attends vos retours.


bretelles

PS: deux fichiers midi pour tester, je suis preneur si vous en avez qui fonctionnent !
Pirates des Caraïbes : http://cherche-heritier.com/nabaztag/pirates.mid
la marche impériale de Star Wars : http://cherche-heritier.com/nabaztag/imperial.mid

Edit: correction sur le format supporté, ci-joint, extrait des specs
ml2870a specifications a écrit:
FREQUENTLY ASKED QUESTIONS
Q1. What kind of musical score formats does the ML2870A support?
A1. ML2870A can play Standard MIDI files under given conditions and the Oki original musical score format
directly. If Standard MIDI file format 1/0 or Karaoke function need to be supported, Oki provides sample
software based on NDA for this purpose.
Q2. What is the condition for playing Standard MIDI file directly?
A2.
(1) Play format 0 only, do not play format 1.
(2) Eliminate text and MIDI events not supported by the ML2870A.
Q3. Which MIDI events does the ML2870A support?
A3.
- Note On/Off / Program change / Pitch bend / Channel pressure
- Control change [Modulation / Volume / Pan / Expression / Sustain / Reset all controller / All note off]
- RPN [Pitch bend sensitivity / Fine tuning / Coarse tuning]
Q4. Does the ML2870A support synchronization of LED with ADPCM playback ?
A4. Yes. LED and ADPCM functions are included in the musical score and are assigned as percussion to MIDI
channel 10. It is necessary to build a software routine for this synchronization.


Edit 2: Sur Windows, un super programme qui permet de convertir les midi format 1 en format 0, ça marche nickel : http://www.gnmidi.com/
Choisissez Freeware -> GN1:0 et convertissez yellownabzwink
Revenir en haut Aller en bas
bretelles
Nabz Junior
Nabz Junior



Age : 47
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4747

Hack pour lire les medias locaux Empty
MessageSujet: Re: Hack pour lire les medias locaux   Hack pour lire les medias locaux Icon_minitimeMar 27 Déc 2016 - 1:15

Pour info, j'ai bien trouvé cette page pour lire des sons : http://openjabnab.fr/ojn_admin/faq.php?question=comment-jouer-un-son
Mais sur mon serveur local, la page ne fonctionnant pas, je ne sais pas s'il est possible d'uploader un fichier midi et je ne sais pas dans quel répertoire c'est envoyé.
Le mieux serait alors d'utiliser mes modifs sur le même répertoire non ?
Revenir en haut Aller en bas
Surame
Lapin nain
Lapin nain



Localisation : Tours
Nbr de messages : 24
Carottes : 3747

Hack pour lire les medias locaux Empty
MessageSujet: Re: Hack pour lire les medias locaux   Hack pour lire les medias locaux Icon_minitimeSam 4 Mar 2017 - 9:14

Merci Bretelles pour cette excellente contribution. Je suis en train de tester ça.
Moi aussi j'aime bien l'idée d'avoir un serveur local.
Revenir en haut Aller en bas
bretelles
Nabz Junior
Nabz Junior



Age : 47
Localisation : Paris
Nabaztag : Agatag et Barnab (serveur local)
Nbr de messages : 64
Carottes : 4747

Hack pour lire les medias locaux Empty
MessageSujet: Re: Hack pour lire les medias locaux   Hack pour lire les medias locaux Icon_minitimeSam 4 Mar 2017 - 22:11

De rien Surame, content de voir que ça sert à au moins une autre personne que moi yellownabzsmile
Mais je ne suis pas sûr que beaucoup utilise des serveurs locaux...
Revenir en haut Aller en bas
Contenu sponsorisé





Hack pour lire les medias locaux Empty
MessageSujet: Re: Hack pour lire les medias locaux   Hack pour lire les medias locaux Icon_minitime

Revenir en haut Aller en bas
 
Hack pour lire les medias locaux
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Prêt à passer dans les locaux de Violet pour aider
» alerte mail - GMAIL
» A lire....
» puce et lire un mp3
» à lire sur 20minutes.fr

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: Les Nabaztags sont sauvés ! Les solutions... :: [OJN] OpenJabNab-
Sauter vers: