[PYTHON] Ändern Sie die Lautstärke von Pepper entsprechend der Umgebung (Ton).

Auslösen

  1. Es ist schwierig, die Lautstärke an die Anzahl der Personen auf Ausstellungen anzupassen.
  2. Ist die Lautstärkeregelung in Robot Library von Robot Start beliebt?
  3. Ich habe darauf gewartet, dass jemand es schafft, aber ...
  4. Machen wir es mit "Pepper entscheidet über den Gewinner, indem er die Größe des Applaus des Publikums misst" von Master Kawada. Ich dachte.

API verwendet

ALAudioDevice

Methode verwendet

getFrontMicEnergy()

Vorbereitung

Worauf Sie achten müssen, um die Lautstärke anzupassen.

Ich werde es mit den beiden oben genannten schaffen.

Wie man die Lautstärke entscheidet

--Noisy Umgebung-> Maximale Lautstärke

Wie es funktioniert

Ich möchte, dass Sie dies ohne Erlaubnis tun. Lassen Sie den Timer nach dem Starten so semi-permanent bewegen. スクリーンショット 2015-12-27 16.29.02.png

Die Ausgangslautstärke (%) wird in die Variable der Box Set Speaker Vol. Eingegeben. Stellen Sie danach die Lautstärke jedes Mal im festgelegten Intervall ein.

Config.py


    def onLoad(self):
        self.timer = None
        self.nFacesDetected = -1
        self.audiodevice = ALProxy("ALAudioDevice")
        self.defaultVol = self.audiodevice.getOutputVolume()
        self.vol = self.defaultVol

    def onUnload(self):
        self.cancelTimer()

    def cancelTimer(self):
        if self.timer:
            self.timer.stop()
        self.timer = None

    def onTimer(self):
        self.timerOutput()

    def startTimer(self):
        import qi
        self.timer = qi.PeriodicTask()
        self.timer.setCallback(self.onTimer)
        self.timer.setUsPeriod(int(self.getParameter("Period (s)") * 1000 * 1000))
        self.timer.start(True)

    def onInput_onStart(self):
        self.cancelTimer()
        self.startTimer()

    def onInput_onStop(self):
        self.audiodevice.setOutputVolume(self.defaultVol)
        if self.timer and self.timer.isRunning():
            self.onStopped()
        self.onUnload()

    def onInput_inputFaceTracked(self, p):
        if(len(p) > 0):
            if(self.nFacesDetected != len(p[1]) -1): # an additional array has been placed at the end for time
                self.nFacesDetected = len(p[1]) -1  # filtered info and has to be substracted when counting faces
                self._JudgeOutput( self.nFacesDetected )
        else:
            if(self.nFacesDetected != 0):
                self.nFacesDetected = 0
                self._JudgeOutput( self.nFacesDetected )

    def _JudgeOutput(self, envMaterial):
        self.logger.info("FrontMicEnergy:%d" % self.audiodevice.getFrontMicEnergy())
        self.logger.info("envMaterial:%d" % envMaterial)
        if (self.audiodevice.getFrontMicEnergy() >= 1800):
            self.EnvironmentVolume(100)
        elif envMaterial == 0:
            self.EnvironmentVolume(self.defaultVol)
        elif envMaterial == 1:
            self.EnvironmentVolume(60)
        elif envMaterial >= 2 and envMaterial < 4:
            self.EnvironmentVolume(80)
        elif envMaterial >= 4:
            self.EnvironmentVolume(100)

Anlaufen

Aktivieren Sie zum Starten dieses Flag neben der Wiedergabetaste. Wenn Sie ein Plug-In einfügen, wird die App automatisch gestartet, wenn Pepper gestartet wird. スクリーンショット 2015-12-27 16.45.31.png

Bonus

Das ursprüngliche Volume wird beim Laden von Config gespeichert und beim Schließen der Anwendung zurückgegeben. Wenn Sie den hinteren Stoßfänger innerhalb von 5 Sekunden nach dem Berühren Ihres Kopfes viermal drücken, wird die Lautstärke wiederhergestellt und die Anwendung beendet.

Stichprobe

[Robot Library] von Robot Start (https://robo-lib.com/repositories/summary/42) https://robo-lib.com/repositories/summary/42

Recommended Posts

Ändern Sie die Lautstärke von Pepper entsprechend der Umgebung (Ton).
Ändern Sie den Einstellungswert von settings.py entsprechend der Entwicklungsumgebung
Skript zum Ändern der Beschreibung von Fasta
Ändern Sie den Dezimalpunkt der Protokollierung von, nach.
SmartVolumer, eine Android-App, die die Lautstärke der Musikwiedergabe an die umgebende Lautstärke anpasst
BGM wird automatisch entsprechend dem Inhalt der Konversation ausgewählt
[Python] Ändern Sie die Cache-Steuerung von Objekten, die in den Cloud-Speicher hochgeladen wurden
Punkt entsprechend dem Bild
Eine Einführung in die Objektorientierung: Ändern Sie den internen Status eines Objekts
Ändern Sie das Thema von Jupyter
Ändern Sie den Stil von matplotlib
So ändern Sie die Protokollstufe von Azure SDK für Python
So ändern Sie die Farbe nur der mit Tkinter gedrückten Taste
Ändern Sie die Y-Achsenskala von Matplotlib in die Exponentialschreibweise (10-te Potenzschreibweise).
[Los] Erstellen Sie einen CLI-Befehl, um die Erweiterung des Bildes zu ändern
Ich habe zusammengefasst, wie die Boot-Parameter von GRUB und GRUB2 geändert werden
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
So richten Sie die Entwicklungsumgebung von ev3dev ein [Windows-Version]
Ändere das Fliegengewichtsmuster in Pythonic (?) (3)
Ändere das Fliegengewichtsmuster in Pythonic (?) (2)
Ändern Sie den Hintergrund von Ubuntu (GNOME)
Ändere das Fliegengewichtsmuster in Pythonic (?) (1)
Ändern Sie das Suffix von django-filter / DateFromToRangeFilter
Ergänzung zur Erklärung von vscode
[Python] Ändere das Alphabet in eine Zahl
Verwenden Sie Cloud Dataflow, um das Ziel dynamisch entsprechend dem Wert der Daten zu ändern und in GCS zu speichern
[Golang-Fehlerbehandlung] Der beste Weg, die Verarbeitung nach der Art des Fehlers aufzuteilen
Wenn Sie den HTTP-Header des Testclients von Flask ändern möchten
Ich habe den Inhalt des Docker-Volumes überprüft
Ändern Sie die Python 64-Bit-Umgebung mit Anaconda in eine 32-Bit-Umgebung
Die Geschichte des Versuchs, den Client wieder zu verbinden
10 Methoden zur Verbesserung der Genauigkeit von BERT
Die Geschichte, MeCab in Ubuntu 16.04 zu setzen
Informationen zur virtuellen Umgebung von Python Version 3.7
Erstellen Sie eine Ausführungsumgebung für Jupyter Lab
Versuchen Sie, jede Umgebung von Kivy vorzubereiten
Ändern Sie die Reihenfolge von PostgreSQL in Heroku
Die Geschichte von pep8 wechselt zu pycodestyle
Ändern Sie den Ziel-Batfish-Server von Pybatfish
So machen Sie VS Code auf die venv-Umgebung und ihre Vorteile aufmerksam
Test der Differenz zwischen den Durchschnittswerten der Zähldaten gemäß der Poisson-Verteilung
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Ändern Sie den Objektschlüssel in S3 vom normalen Datumsformat in das Hive-Format
Ändern Sie den Datenrahmen der Pandas-Kaufdaten (ID x Produkt) in ein Wörterbuch
So ändern Sie das Erscheinungsbild nicht ausgewählter Fremdschlüsselfelder in Djangos Modellformular
Ansible selbstgemachte Modulerstellung - Teil 3: Leben, das die Notwendigkeit von Veränderungen beurteilen will -
So installieren Sie das Deep Learning Framework Tensorflow 1.0 in der Windows Anaconda-Umgebung