Nota
Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci il mondo di Raspberry Pi, Arduino ed ESP32 con altri appassionati.
Perché unirti a noi?
Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.
Sconti Speciali: Goditi sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Giveaway: Partecipa a promozioni e concorsi durante le festività.
👉 Pronto a esplorare e creare con noi? Clicca [qui] e unisciti oggi stesso!
Effetti Sonori
In questo esempio utilizziamo gli effetti sonori di PiCrawler (più precisamente del Robot HAT). È composto da tre parti: Musica, Suono e Text-to-Speech.
Installa i2samp
Prima di utilizzare queste funzioni, attiva il diffusore in modo che venga abilitato e possa emettere suoni.
Esegui i2samp.sh per installare tutto ciò che è necessario per utilizzare l’amplificatore i2s.
cd ~/picrawler/
sudo bash i2samp.sh
Durante l’esecuzione appariranno diversi prompt che richiedono conferma. Rispondi a tutti i prompt con Y. Dopo aver applicato le modifiche al sistema Raspberry Pi, sarà necessario riavviare il computer affinché queste modifiche abbiano effetto.
Dopo il riavvio, esegui di nuovo lo script i2samp.sh per testare l’amplificatore. Se il diffusore emette correttamente un suono, la configurazione è completa.
Esegui il Codice
cd ~/picrawler/examples
sudo python3 sound_effect.py
Dopo l’esecuzione del codice, segui le istruzioni stampate nel terminale.
Inserisci i tasti per chiamare la funzione!
* q: Riproduci musica di sottofondo
* 1: Riproduci effetto sonoro
* 2: Riproduci effetto sonoro con thread
* t: Testo da parlare
* Per uscire dal programma, premi Ctrl+C.
Codice
'''
Sorry, currently there is only sound when running with sudo
'''
from time import sleep
from robot_hat import Music, TTS
music = Music()
tts = TTS()
manual = '''
Input key to call the function!
q: Play background music
1: Play sound effect
2: Play sound effect with threads
t: Text to speak
Ctrl^C: quit
'''
def main():
print(manual)
flag_bgm = False
music.music_set_volume(20)
tts.lang("en-US")
while True:
key = input()
key = key.lower()
if key == "q":
flag_bgm = not flag_bgm
if flag_bgm is True:
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":
words = "Hello"
tts.say(words)
if __name__ == "__main__":
main()
Come funziona?
Le funzioni relative alla musica di sottofondo includono:
music = Music(): Dichiarare l’oggetto.music.music_set_volume(20): Imposta il volume, l’intervallo è 0~100.music.music_play(./musics/sports-Ahjay_Stelino.mp3): Riproduce il file musicale, in questo caso sports-Ahjay_Stelino.mp3 nel percorso./musics.music.music_stop(): Interrompe la riproduzione della musica di sottofondo.
Nota
Puoi aggiungere diversi effetti sonori o musica alle cartelle musics o sounds tramite Software Filezilla.
Le funzioni relative agli effetti sonori includono:
music = Music()music.sound_play('./sounds/talk1.wav'): Riproduce il file dell’effetto sonoro, in questo caso talk1.wav nel percorso./sounds.music.sound_play_threading('./sounds/talk1.wav'): Riproduce il file dell’effetto sonoro in modalità thread senza sospendere il thread principale.
Le funzioni relative a Text-to-Speech includono:
tts = TTS()tts.say(words): Testo in audio.tts.lang("en-US"): Imposta la lingua.
Nota
Imposta la lingua utilizzando i parametri di lang("") con i seguenti valori:
zh-CN |
Mandarino (Cinese) |
en-US |
Inglese-Statunitense |
en-GB |
Inglese-Britannico |
de-DE |
Tedesco |
es-ES |
Spagnolo |
fr-FR |
Francese |
it-IT |
Italiano |