Note
Bonjour, bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 sur Facebook ! Explorez plus en profondeur l’univers de Raspberry Pi, Arduino et ESP32 avec d’autres passionnés.
Pourquoi rejoindre ?
Support d’experts : Résolvez les problèmes post-vente et les défis techniques avec l’aide de notre communauté et de notre équipe.
Apprendre et partager : Échangez des astuces et des tutoriels pour améliorer vos compétences.
Aperçus exclusifs : Bénéficiez d’un accès anticipé aux annonces de nouveaux produits et d’aperçus exclusifs.
Réductions spéciales : Profitez de remises exclusives sur nos produits les plus récents.
Promotions festives et concours : Participez à des concours et à des promotions spéciales.
👉 Prêt à explorer et à créer avec nous ? Cliquez sur [ici] et rejoignez-nous dès aujourd’hui !
3. Effet Sonore
Dans cet exemple, nous utilisons les effets sonores de PiCrawler (plus précisément, ceux du Robot HAT). Cela se compose de trois parties : Musique, Son, et Texte à la parole.
Installer i2samp
Avant d’utiliser ces fonctions, commencez par activer le haut-parleur pour qu’il soit activé et puisse émettre des sons.
Exécutez i2samp.sh, ce script installera tout ce qui est nécessaire pour utiliser l’amplificateur i2s.
cd ~/picrawler/
sudo bash i2samp.sh
Plusieurs invites apparaîtront vous demandant de confirmer l’action. Répondez à toutes les invites par Y. Après avoir effectué les modifications sur le système Raspberry Pi, un redémarrage sera nécessaire pour que ces changements prennent effet.
Après le redémarrage, exécutez à nouveau le script i2samp.sh pour tester l’amplificateur. Si un son est émis par le haut-parleur, la configuration est terminée.
Exécuter le Code
cd ~/picrawler/examples
sudo python3 3_sound_effect.py
Lorsque le programme démarre, un menu de contrôle s’affiche dans le terminal.
Appuyer sur une touche déclenche immédiatement la fonction correspondante.
q: Active ou désactive la musique de fond.1: Joue plusieurs effets sonores l’un après l’autre (mode bloquant).2: Joue les mêmes effets sonores en utilisant le multithreading (mode non bloquant).t: Le système prononce le mot « Hello » en utilisant la synthèse vocale.
Le programme fonctionne en continu et attend une entrée clavier.
Appuyez sur Ctrl+C pour arrêter le programme. Avant de quitter, toute musique de fond est arrêtée automatiquement.
Code
from time import sleep
import readchar
from robot_hat import Music, TTS
music = Music()
tts = TTS()
manual = '''
Press a key to trigger actions (no Enter needed):
q: Play/Stop background music
1: Play sound effect (blocking)
2: Play sound effect (threading)
t: Text to speak
Ctrl^C: quit
'''
def main():
print(manual)
flag_bgm = False
music.music_set_volume(20)
tts.lang("en-US")
try:
while True:
# Real-time key input (no Enter required)
key = readchar.readkey().lower()
if key == "q":
flag_bgm = not flag_bgm
if flag_bgm:
music.music_play('./musics/sports-Ahjay_Stelino.mp3')
else:
music.music_stop()
elif key == "1":
music.sound_play('./sounds/talk1.wav')
sleep(0.05)
music.sound_play('./sounds/talk3.wav')
sleep(0.05)
music.sound_play('./sounds/sign.wav')
sleep(0.5)
elif key == "2":
music.sound_play_threading('./sounds/talk1.wav')
sleep(0.05)
music.sound_play_threading('./sounds/talk3.wav')
sleep(0.05)
music.sound_play_threading('./sounds/sign.wav')
sleep(0.5)
elif key == "t":
tts.say("Hello")
except KeyboardInterrupt:
print("\nquit")
finally:
# Stop music before exit to reduce error messages
try:
music.music_stop()
except Exception:
pass
if __name__ == "__main__":
main()
Comment ça fonctionne ?
Les fonctions liées à la musique de fond comprennent :
music = Music(): Déclare l’objet.music.music_set_volume(20): Définit le volume, avec une plage de 0 à 100.music.music_play(./musics/sports-Ahjay_Stelino.mp3): Joue le fichier musical, ici le fichier sports-Ahjay_Stelino.mp3 situé sous le chemin./musics.music.music_stop(): Arrête la musique de fond.
Note
Vous pouvez ajouter différents effets sonores ou musiques dans les dossiers musics ou sounds via Logiciel FileZilla.
Les fonctions liées aux effets sonores comprennent :
music = Music()music.sound_play('./sounds/talk1.wav'): Joue le fichier d’effet sonore, ici le fichier talk1.wav situé sous le chemin./musics.music.sound_play_threading('./sounds/talk1.wav'): Joue le fichier d’effet sonore en mode fil d’exécution, sans suspendre le fil principal.
Les fonctions liées au texte à la parole comprennent :
tts = TTS()tts.say(words): Lecture audio du texte.tts.lang("en-US"): Définit la langue.
Note
Vous pouvez définir la langue en ajustant les paramètres de lang("") avec les caractères suivants.
zh-CN |
Mandarin (Chinois) |
en-US |
Anglais - États-Unis |
en-GB |
Anglais - Royaume-Uni |
de-DE |
Allemand - Allemagne |
es-ES |
Espagnol - Espagne |
fr-FR |
Français - France |
it-IT |
Italien - Italie |