Es wurde geschaffen, weil der Mechanismus, der den Pepper-Preis beim Hackathon "Geschäftsreise! Tsukurimi Lab in DMM.make AKIBA with Pepper" entschied, der am 3. Oktober dieses Jahres von Mr. Fun Kayak bei DMM.make AKIBA veranstaltet wurde, interessant war. Ich fragte "Meister Kawada, der nicht weiß, ob ich Pepper mache" und er gab mir einen Professor, damit ich ihn teilen kann.
** Übrigens habe ich den Pfefferpreis zu diesem Zeitpunkt nicht bekommen, aber ich habe gewonnen! Hurra. ** ** **
Ich schreibe zum ersten Mal Qiita, daher würde ich mich freuen, wenn Sie mir sagen könnten, ob es so etwas wie "Es ist einfacher zu sehen, ob Sie dies tun" gibt. Dieses Mal habe ich keine Linien und Animationen berührt.
Pepper misst die Lautstärke des Klangs, wenn andere Darsteller, die die Präsentation des Moderators hören, applaudieren, und es ist eine Anwendung, die "das Team mit dem lautesten Applaus auswählt".
Vorerst habe ich es zu einer globalen Variablen gemacht.
init.py
global members
global scores
members = ["Kissen", "Mein Pfefferleben Izu Smile", "Stopper"]
scores = [0, 0, 0]
Es ist so, als würde man die Lautstärke eines Klangs in regelmäßigen Abständen messen und den lautesten Wert in den globalen Variablenwerten speichern.
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("Überwachung des Startteams:%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()
Wählen Sie einfach den größten Wert in der Punktzahl aus und geben Sie ihn bekannt.
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
Dieses Mal haben wir den Quellcode von Master Kawada ** erhalten und eine kleine organisierte Version in Robot Starts Robot Library hochgeladen. Also bitte mal reinschauen. https://pepper.robo-lib.com/repositories/summary/41
Recommended Posts