Lancer une Playlist

117 views
Skip to first unread message

Nathoriste

unread,
Dec 25, 2019, 3:00:46 PM12/25/19
to InMoov

Salut la comu ! Voilà, après avoir construit presque entièrement inmoov, J'entame une phase d'incorporation de ce "magnifique objet" dans mon environnement, en d'autres thermes je compte remplacer les assistants google ou autres par inmoov qui aura donc en plus un corps pour intéragir avec les humains et la phase de domotique se déroule bien pour l'instant mais je me demandais si, enfin... comment je pourrais m'y prendre pour faire en sorte que je puisse lancer des playlists de musique grâce à lui ( un peu comme avec la commande de recherche youtube mais le problème avec celle-ci c'est que la video ne se lance pas automatiquement...
voilà.
Bonnes fêtes à tous! 

gael langevin

unread,
Dec 26, 2019, 8:05:58 AM12/26/19
to Nathoriste, InMoov
Bonjour,
Depuis la version 1.0.2693.12, avec le chatbot Anglais, j'ai ajouté la possibilité de lancer de la musique à partir d'un dossier Musique que l'on peut déterminer dans les configs.
Je n'avais pas fait cette modification sur la version Française.
Il faudrait rajouter dans chatbot/bots/fr/aiml le fichier jukeboxFR.aiml ci-joint.
Ensuite modifier le chemin d'accès à votre bibliothèque musique, dans le fichier de config: service_1_AudioFile.config
Il est important de noter que cela ne fonctionne pas avec les sous dossier.
Le processus ne lira que les morceaux de musique disponible dans le répertoire et ceci en mode aléatoire.

Voici les commandes vocales:
DÉMARRE LA MUSIQUE
ARRÊTE LA MUSIQUE
METS LA MUSIQUE EN PAUSE
REMETS LA MUSIQUE

Il y aurait des modifications à faire afin d'ajouter et d'améliorer le fonctionnement, mais c'était un premier jet que j'avais essayé pour voir si ça marchait.

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov




--
You received this message because you are subscribed to the Google Groups "InMoov" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inmoov+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inmoov/b2cf42f6-59fc-4e6e-9712-b9fd5b4098e6%40googlegroups.com.
jukeboxFR.aiml

Jean Pierre Lecagnois

unread,
Jan 3, 2020, 12:31:20 PM1/3/20
to InMoov
Hello Gael

Super cette fonction , mais en regardant le fichier jukebox , Il y a deux fonctions qui ne fonctionnent pas

Baisse le son et augmente le son font référence à des procédure inexistante .(idem dans la version anglaise) .

<template>
    <oob><mrl><service>python</service><method>exec</method><param>volumeUp()</param></mrl></oob>
</template>
</category>
<category><pattern>AUGMENTE LE SON</pattern>
<template>
    <oob><mrl><service>python</service><method>exec</method><param>volumeDown()</param></mrl></oob>
</template>
</category>

as tu une solution ?


gael langevin

unread,
Jan 3, 2020, 2:17:36 PM1/3/20
to Jean Pierre Lecagnois, InMoov
Hello Lecagnois,
Oui en fait j'ai écris ces fonctions mais elle ne seront dispo que dans Nixie si je trouve une solution d'ici là.
Le problème est que dans java cela change le volume du fichier et que si le volume est à son maximum cela créé une distorsion du son.
Idéalement il faudrait modifier le volume du PC et non celui du fichier.mp3.

D'autre part j'ai modifié, il y a quelques jours, le fichier 1_AudioFile.py afin de pouvoir lancer la musique également dans les sous répertoires.
Et aussi d'avoir la possibilité de lancer plusieurs morceaux aléatoirement dans ces répertoires.
Voir le fichier joint.

Il y a encore des points qui bug, c'est du work in progress, que j'avais l'intention d'ajouter pour Nixie.
Par exemple, lorsqu'on lance une playlist aléatoire, on ne peut pas stopper la lecture de la playlist, il faut stopper chaque morceau...
La fonction silence() dans java, qui devrait permettre de stopper la playlist, semble avoir un bug.

J'ai également travaillé sur la possibilité de rechercher un morceau spécifique dans les répertoire en donnant un mot vocalement.
Comme par exemple: Cherche un morceau de "Madonna"
Une fois qu'il a créé une liste des morceaux de Madonna, il va jouer un morceau choisit aléatoirement.
Si on dit: Cherche le morceau "Virgin" de "Madonna".
Il devrait lancer le bon morceau...
Mais pour l'instant ça ne marche pas, j'ai encore du boulot.

def songSearch(p,nam):
  fileList(musicpath)
  global matches
  if p=="stop" and nam=="0":
    #subprocess.Popen("taskkill /F /T /PID %i"%proc1.pid , shell=True)
    #sleep(2)
    #webgui.startBrowser("http://localhost:8888/#/service/i01.ear")
    print "stop test works"
  else:
    for root, dirs, element in os.walk(matches):
          for mp3 in matches:
              if p=="listen" and mp3.endswith(+str(nam)+"&q="+str(p).encode('utf-8')):
                  global musiconoff
                  musiconoff = 1
                  print mp3
                  # Play the file
                  sleep(1)
                  AudioPlayer.playFile((mp3) , False)
                  ear.startListening()
                  ear.setAutoListen(True)

Toute aide est la bienvenue bien sûr!


Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



--
You received this message because you are subscribed to the Google Groups "InMoov" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inmoov+un...@googlegroups.com.
1_AudioFile.py
jukebox.aiml

Jean Pierre Lecagnois

unread,
Jan 4, 2020, 5:02:39 AM1/4/20
to InMoov
Bonjour Gael

Bonne et heureuse année 2020.
C'est quoi Nixie ?
sympa cette nouvelle procédure , je vais y mettre le nez dedans voir si j arrive à faire quelque chose.
cela va m'occuper pour 2020.
SI cela fonctionne je partagerai bien sur.
To unsubscribe from this group and stop receiving emails from it, send an email to inm...@googlegroups.com.

gael langevin

unread,
Jan 12, 2020, 7:04:43 AM1/12/20
to Jean Pierre Lecagnois, InMoov
Hello,
Nixie c'est le nom de la prochaine version officielle de MyRobotLab.
Actuellement nous utilisons la version Manticore.

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



To unsubscribe from this group and stop receiving emails from it, send an email to inmoov+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inmoov/cba465ec-1cf1-4991-a21f-1225da27f647%40googlegroups.com.

Jean Pierre Lecagnois

unread,
Jan 15, 2020, 5:13:20 AM1/15/20
to InMoov
Merci Gael

Jean Pierre Lecagnois

unread,
Jan 17, 2020, 7:24:39 AM1/17/20
to InMoov
HELLO GAEL

Pour résoudre le problème , j ai ajouter un compteur qui contient le nombre de fichier mp3, aprés je boucle dessus avec la commande AudioPlayer.stop()
Bon ce n'est pas trés élégant mais cela marche ......
J'ai rajouter la fonction suivant qui permet de lire le morceau suivant .
Ci joint les 2 fichiers py et aiml .

Maintenant je vais essayer avec le nom des artiste , si cela marche je mettai les fichiers .
A +

# arret de la musique avec drapeau cpt pour musique random
def stop():
    global musiconoff
    global cpt
    print (cpt)
    if musiconoff == 1:
        AudioPlayer.stop()
        print "Arret musique"
    if cpt > 1:
        i = 0
        while i < cpt :  
            print (i)
            AudioPlayer.stop()
            i = i+1
            sleep(0.2)
        cpt = 0
        talkBlocking("playliste stopper")

Le vendredi 3 janvier 2020 20:17:36 UTC+1, gael langevin a écrit :
To unsubscribe from this group and stop receiving emails from it, send an email to inm...@googlegroups.com.
jukeboxFR.aiml
1_AudioFile.py

gael langevin

unread,
Jan 20, 2020, 11:33:55 AM1/20/20
to Jean Pierre Lecagnois, InMoov
Hello,
Super et merci pour cette idée et code!
Je viens d"essayer le code afin d’arrêter la playlist.
Etrangement, cela fonctionne le premier coup mais si je réitère l'action après avoir relancer une nouvelle playlist, ça compte bien le nombre de morceau, puis ça recommence à jouer..
Il y a un petit truc à debugger là.

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



To unsubscribe from this group and stop receiving emails from it, send an email to inmoov+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inmoov/228e184f-d11f-407b-b4f7-808bb0503ba3%40googlegroups.com.

Jean Pierre Lecagnois

unread,
Feb 3, 2020, 9:07:33 AM2/3/20
to InMoov
Hello Gael

Il fallait mettre i a moins 2

# arret de la musique avec drapeau cpt pour musique random
def stop():
    global musiconoff
    global cpt
    print (cpt)
    if musiconoff == 1:
        AudioPlayer.stop()
        print "Arret musique"
    if cpt > 1:
        i = -2

        while i < cpt :  
            print (i)
            AudioPlayer.stop()
            i = i+1
            sleep(0.2)
        cpt = 0
        talkBlocking("playliste stopper")

cela fonctionne pour une musique dire démarre la musique
pour la playlist dire démarre la musique au harsard

gael langevin

unread,
Feb 3, 2020, 6:01:20 PM2/3/20
to Jean Pierre Lecagnois, InMoov
Thanks for the update!
AH I will test that tomorrow!

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



To unsubscribe from this group and stop receiving emails from it, send an email to inmoov+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/inmoov/ad6d2275-d219-4370-b124-1912efe476aa%40googlegroups.com.

gael langevin

unread,
Feb 4, 2020, 1:02:26 PM2/4/20
to Jean Pierre Lecagnois, InMoov
Hello,
Cool it works! That is really great progress!
Maybe in the future, we need to find a cleaner solution, because I have so much mp3 that it takes a very long time to count all the mp3.
Another thing I noticed now, is that when it counts, it also activates the jaw for each counted mp3.
Interesting..
Anyway, it's great!

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



Reply all
Reply to author
Forward
0 new messages