Son
Ce fichier présente les différentes fonctions, enums et topics disponible avec l’API Son
Son - Fonctions de commande
Cette section fait référence à toutes les fonctions existantes pour contrôler l’interface audio du Ned2. Toutes les fonctions sont accessibles via une instance de la classe NiryoRobot
robot = NiryoRobot(<robot_ip_address>)
robot.sound.play('connected.wav')
...
Liste des fonctions :
- class Sound(client)[source]
Fonctions du son du robot
Exemple:
ros_instance = NiryoRos("127.0.0.1") # Hotspot sound_interface = Sound(ros_instance)
- Paramètres
client (NiryoRos) – Client Niryo ROS
Son - Lecture
- Sound.play(sound_name, wait_end=False, start_time_sec=0, end_time_sec=0)[source]
Jouer un son qui a déjà été importé par l’utilisateur sur le robot.
Exemple:
# If you know that the sound test_sound.wav is already imported on the robot sound.play_sound_user("test_sound.wav") # If you want to play the first sound of the ones that are already on the robot without knowing its name sound_name = sound.get_sounds()[0] sound_duration = sound.play(sound_name) # Waits until the sound has been fully played sound_duration = sound.play(sound_name, wait_end=True) # Doesn't wait until the sound has been fully played sound_duration = sound.play(sound_name, wait_end=False) # Plays sound from 1.1 seconds from start to 4.3 seconds from start sound_duration = sound.play(sound_name, start_time_sec=1.1, end_time_sec=4.3)
- Sound.stop()[source]
Arrêter un son en cours de lecture. Il obtiendra automatiquementle nom du son en cours de lecture et l’arrêtera.
Exemple:
self.sound.stop()
- Type renvoyé
- property Sound.state
Renvoie le client d’état du son qui peut être utilisé de manièresynchrone ou asynchrone pour obtenir le son en cours de lecture.
Exemples:
# Get last value sound.state() sound.state.value # Subscribe a callback def sound_callback(sound_name): print sound_name sound.state.subscribe(sound_callback) sound.state.unsubscribe()
- Renvoie
instance du topic sound state
- Type renvoyé
- Sound.say(text, language=<Language.ENGLISH: 0>)[source]
Utiliser gtts (Google Text To Speech) pour interpréter le textecomme un son
Les langues disponibles sont :
- English: Language. ENGLISH - French: Language.FRENCH - Spanish: Language.SPANISH - Mandarin: Language.MANDARIN - Portuguese: Language.PORTUGUESE
Exemple
robot.say("Hello", Language.ENGLISH) robot.say("Bonjour", Language.FRENCH) robot.say("Hola", Language.SPANISH)
Son - Volume
- property Sound.volume
Renvoie le client d’état du volume qui peut être utilisé de manière synchrone ou asynchrone pour obtenir le volume actuel.
Exemples:
# Get last value sound.volume() sound.volume.value # Subscribe a callback def volume_callback(value): print value sound.volume.subscribe(volume_callback) sound.volume.unsubscribe()
- Renvoie
instance du topic de volume
- Type renvoyé
- Sound.get_volume()[source]
Renvoie le volume du robot. Le son peut être réglé entre 0 (son désactivé) et 100 (son max)
Exemples:
# Get the volume of the sound sound.get_volume()
- Renvoie
int8 correspondant au volume (0 : son désactivé, 100 : son max)
- Type renvoyé
int8
- Sound.set_volume(sound_volume)[source]
Réglez le volume du robot. Vous pouvez le régler entre 0 et 100 (0 : son désactivé et 100 : son max). Si vous mettez moins de 0, le volume sera réglé sur 0. Si vous mettez plus de 100, le volume sera réglé sur 100.
Exemple:
# Set the volume to 25 self.sound.set_volume(25) self.sound.play_sound_user("test_sound.wav")
- Paramètres
sound_volume (int8) – Entre O et 100 (0 son désactivé et 100 son maximum)
- Type renvoyé
Son - Gérer
- property Sound.sounds
Retourne la liste des sons disponibles dans le robot
Exemples:
sounds_list = sound.sounds
- Sound.get_sounds()[source]
Retourne la liste des sons disponibles dans le robot
Exemples:
sounds_list = sound.get_sounds()
- Sound.save(sound_name, sound_path)[source]
Importer un son sur le RaspberryPi du robot. Pour ce faire, vous aurez besoin des données encodées d’un son wav ou mp3. Il est préférable de mettre les données encodées du son sur un fichier texte et de les lire directement depuis ce fichier. Vous devez également donner le nom du son que vous souhaitez importer.
Exemple:
sound_name = "test_import_sound.wav" sound_path = "/home/niryo/test_sound.wav" ros_instance = pyniryo2.NiryoRos("10.10.10.10") sound = pyniryo2.Sound(ros_instance) sound.save(sound_name, sound_path) sound.play(sound_name)
- Sound.delete(sound_name)[source]
Supprimer un son importé sur le robot
Exemple:
self.sound.delete("test_sound.wav")
- Sound.get_sound_duration(sound_name)[source]
Obtenir la durée d’un son en secondes
Exemples:
sound_name = sound.get_sounds()[0] sound_duration = sound.get_sound_duration(sound_name) sound_duration = sound.get_sound_duration('test_sound.mp3')
- Renvoie
Renvoie la durée d’un son en secondes
- Type renvoyé
Son - Niryo Topics
L’utilisation de ces fonctions est expliquée dans la section NiryoTopics. Ils permettent l’acquisition de données en temps réel par callbacks ou par appel direct.
Nom |
Fonction |
Type de retour |
---|---|---|
|
||
|
||
|