Il a été créé parce que le mécanisme qui a décidé le prix Pepper lors du hackathon "Voyage d'affaires! Tsukurimi Lab in DMM.make AKIBA with Pepper" organisé par M. Fun Kayak organisé au DMM.make AKIBA le 3 octobre dernier était intéressant. J'ai demandé "Maître Kawada, qui ne sait pas si je faisais Pepper" et il m'a donné un professeur, donc je vais le partager.
** Au fait, je n'ai pas reçu le prix Pepper pour le moment, mais j'ai gagné! Hourra. ** **
J'écris Qiita pour la première fois, donc je serais heureux si vous pouviez me dire s'il y avait quelque chose comme "C'est plus facile de voir si c'est le cas". Cette fois, je n'ai touché à aucune ligne ni animation.
Pepper mesure le volume du son lorsque d'autres interprètes qui entendent la présentation du présentateur applaudissent, et c'est une application qui "sélectionne l'équipe avec les applaudissements les plus forts".
Pour le moment, j'en ai fait une variable globale.
init.py
    global members
    global scores
    members = ["Oreiller", "Ma vie poivrée Izu Smile", "bouchon"]
    scores = [0, 0, 0]
C'est comme mesurer le volume d'un son à intervalles réguliers et stocker la valeur la plus forte dans les scores des variables globales.
max_SoundCk.py
    def onLoad(self):
        self.timer = None
        self.limit = 0
        self.audio = ALProxy("ALAudioDevice")
    def onUnload(self):
        self.cancelTimer()
        self.audio.disableEnergyComputation()
    def cancelTimer(self):
        if self.timer:
            self.timer.stop()
        self.timer = None
    def onTimer(self):
        v = self.audio.getFrontMicEnergy()
        if self.maxV < v:
            self.maxV = v
        self.limit += int(self.getParameter("Check Interval (s)") * 1000 * 1000)
        if self.limit >= int(self.getParameter("Limit Measure (s)") * 1000 * 1000):
            self.onInput_onStop()
    def startTimer(self):
        import qi
        self.timer = qi.PeriodicTask()
        self.timer.setCallback(self.onTimer)
        self.timer.setUsPeriod(int(self.getParameter("Check Interval (s)") * 1000 * 1000))
        self.timer.start(True)
    def onInput_onStart(self):
        global members
        global current_member
        self.logger.info("Surveillance de l'équipe de démarrage:%s" % members[current_member])
        self.audio.enableEnergyComputation()
        self.maxV = 0
        self.cancelTimer()
        self.startTimer()
    def onInput_onStop(self):
        global scores
        global current_member
        if self.timer and self.timer.isRunning():
            self.logger.info(self.maxV)
            self.onStopped()
            scores[current_member] = self.maxV
        self.onUnload()
Choisissez simplement la plus grande valeur des scores et annoncez-la.
Say_Text.py
    def onInput_onStart(self):
        global members
        global current_member
        global scores
        
        self.logger.info(members)
        m = 0
        mv = 0
        l = len(members)
        for i in range(0,l)  :
            if scores[i] > mv:
                self.logger.info("%d : %d" % (int(i), int(scores[i])))
                m = i
                mv = scores[i]
        p =  members[m]
        self.bIsRunning = True
        try:
            sentence = "\RSPD="+ str( self.getParameter("Speed (%)") ) + "\ "
            sentence += "\VCT="+ str( self.getParameter("Voice shaping (%)") ) + "\ "
            sentence += str(p)
            sentence +=  "\RST\ "
            id = self.tts.post.say(str(sentence))
            self.ids.append(id)
            self.tts.wait(id, 0)
        finally:
            try:
                self.ids.remove(id)
            except:
                pass
            if( self.ids == [] ):
                self.onStopped() # activate output of the box
                self.bIsRunning = False
Cette fois, nous avons reçu le code source de Master Kawada ** et avons téléchargé une version peu organisée dans [Robot Library] de Robot Start (https://pepper.robo-lib.com/repositories/summary/41). Alors s'il vous plaît jetez un oeil. https://pepper.robo-lib.com/repositories/summary/41
Recommended Posts