sound
Deutsch   English   Français   

5. SON

 

 

TU APPRENDRAS ICI...

 

comment utiliser le haut-parleur intégré pour produire des sons, des séquences de notes et de courtes mélodies. Dans la partie complémentaire, tu découvriras comment connecter un casque ou un haut-parleur externe au micro:bit afin d'obtenir une meilleure qualité sonore.

 

 

HAUT-PARLEUR (BUZZER)

 

Un haut-parleur est intégré à l'arrière du micro:bit V2. Il te permet de produire des sons individuels et de jouer de courtes mélodies.

Les commandes permettant de contrôler le buzzer se trouvent dans le module music. Tu dois donc également importer ce module.

 

 

EXAMPLES

 

Example 1: Jouer une séquence de notes
La commande pitch(f, 500)produit un son de fréquence f pendant 500 millisecondes. Pour jouer plusieurs notes successivement, tu indiques leurs fréquences dans une liste, puis tu parcours cette liste à l'aide d'une boucle for.
Tu trouveras un tableau des notes et de leurs fréquences dans la fenêtre d'aide :


Programme:

from music import *

song = [262, 294, 330, 349, 392, 392, 392, 0, 440, 440, 440, 440, 392]
for f in song: 
   pitch(f, 500)
► Copy to clipboard

 

Example 2: Jouer des mélodies intégrées
Quelques mélodies sont déjà intégrées dans le module. Tu trouveras leurs noms ou dans la documentation. Tu peux combiner la lecture de ces mélodies avec l'utilisation des boutons. Lorsque tu appuies sur le bouton A, la mélodie JUMP_UP est jouée. Lorsque tu appuies sur le bouton B, c'est la mélodie JUMP_DOWN qui est jouée.

Programme:

from microbit import *
from music import *

while True:
    if button_a.was_pressed():
        play(JUMP_UP)
    if button_b.was_pressed():
        play(JUMP_DOWN)
    sleep(10)
► Copy to clipboard

Que se passe-t-il si tu maintiens les deux boutons enfoncés simultanément ?

 

Example 3: Jouer des mélodies en notation musicale

La notation musicale suit les règles suivantes :

  • Les douze demi-tons d'une octave sont désignés, en utilisant les dièses, par C, C#, D, D#, E, F, F#, G, G#, A, A#, B (les lettres minuscules sont également autorisées). Pour indiquer une pause, on utilise la lettre « R ».

  • Pour changer d'octave, tu ajoutes un numéro d'octave après la note, par exemple C2 pour la deuxième octave. Au début, on se trouve dans la quatrième octave. L'octave choisie reste valable pour toutes les notes suivantes, jusqu'à ce qu'un nouveau numéro d'octave soit indiqué.

  • Après une note, tu peux ajouter deux-points suivis d'une durée (en ticks). Toutes les notes suivantes sont alors jouées avec cette durée, jusqu'à ce qu'une nouvelle durée soit indiquée.

Pour composer une mélodie, tu écris les notes dans une liste, comme dans le programme suivant, qui présente un accord majeur suivi d'un accord mineur.

Programme:

from music import *

melody = ['e:4', 'f#', 'g#', 'r:2', 'e', 'f#', 'g:4']
play(melody)
► Copy to clipboard

 

Example 4: Un inclinomètre acoustique
Les instruments de mesure dotés d'un signal sonore sont très appréciés. Tu vas créer ici un signal sonore dont la hauteur dépend de l'inclinaison latérale du micro:bit. À partir d'une fréquence initiale f0 = 1000, tu calcules les fréquences croissantes ou décroissantes correspondant aux demi-tons de la gamme tempérée et tu joues chaque note pendant 100 millisecondes. Le bouton B te permet d'arrêter le signal sonore.

Programme:

from music import *
from microbit import *

def beep(n):
    freq = int(f0 * r**n)
    pitch(int(r**n * f0), 100)
    sleep(50)

f0 = 1000
r = 2**(1/12)
while not button_b.was_pressed():
    n = int(accelerometer.get_x() / 100)
    beep(n)
    sleep(10)
► Copy to clipboard

 

 

À RETENIR...

 

Pour connecter un casque, tu dois utiliser les broches marquées GND et P0. La commande pitch(f, time) permet de produire un son de fréquence f pendant une durée donnée. Avec play(song), tu peux jouer des mélodies complètes, soit sous forme de séquences de notes, soit en notation musicale.

 

 

EXERCICES À RÉSOUDRE

 

 

1.
a)

Écris un programme qui joue la séquence de notes suivante :

song = [262, 294, 330, 262, 262, 294, 330, 262, 330, 349, 392, 330, 349, 392]

Tu peux bien sûr également composer tes propres séquences de notes.



b)

u souhaites modifier la vitesse de lecture de manière interactive :

  • Lorsque tu cliques sur le bouton A, la mélodie doit être jouée deux fois plus rapidement.

  • Lorsque tu cliques sur le bouton B, la lecture doit être plus lente.

Remarque que, dans la commande pitch(f, time), le paramètre time doit être un nombre entier.


2.

Tu peux jouer une mélodie en boucle en utilisant la fonction play() avec des paramètres supplémentaires, par exemple pour la mélodie BIRTHDAY :

play(BIRTHDAY, wait = False, loop = True)

Grâce à wait = False, la mélodie est jouée en arrière-plan et le programme continue à s'exécuter. Écris un programme qui joue indéfiniment la mélodie d'anniversaire jusqu'à ce que l'on clique sur le bouton A.
Remarque : Tu peux arrêter la lecture d'un son avec la commande stop().

3.

Écris la mélodie suivante en notation musicale et joue-la.

 

 

 

COMPLÉMENT

 

INSTALLER UN SYSTÈME AUDIO

 

Tu peux également connecter un casque ou un haut-parleur plus puissant au micro:bit. Pour cela, tu as besoin de deux câbles munis de pinces crocodiles. Avec le premier câble (jaune sur l'illustration), tu relies la broche GND à la partie arrière de la fiche du casque. Avec le deuxième câble (rouge sur l'illustration), tu relies la broche P0 à la partie avant de la fiche du casque. Pour entendre le son dans les deux écouteurs, tu dois essayer de placer la pince crocodile de manière à ce qu'elle touche les deux contacts situés à l'avant de la fiche. Tu peux maintenant tester tous les exemples précédents avec ton système audio..

 
 

 

 

À RETENIR...

 

Pour connecter un casque au micro:bit, tu dois utiliser les broches marquées GND et P0.



   
5-1
Remarques techniques :

 

Ton Frequency Ton Frequency    

h' 494 h'' 988    
a' 440 a'' 880    
g' 392 g'' 784    
f' 349 f'' 698    
e' 330 e'' 660    
d' 294 d'' 588    
c' 262 c'' 524 c''' 1048

5-2
Remarques techniques :

Melody, at modul music:

ADADADUM - Beethoven 5. Sinfonie C Moll
ENTERTAINER - Scott Joplin's Ragtime
PRELUDE -J.S.Bach 48 Preludien aund Fugen
ODE - "Ode on Joy" Beethoven 9. Sinfonie D Moll
NYAN - Nyan Phone tone
FUNK - Secret agent
BLUES - Boogie-Woogie Blues
BIRTHDAY - Happy Birthday to You
WEDDING - Wagner Oper "Lohengrin"
FUNERAL - funeral procession, Chopin Klaviersonate
PUNCHLINE - a funny Tonclip
PYTHON - Monty Python Flying Circust;
BADDY - Filmclip The Baddy
CHASE - Filmclick Jagdszene
BA_DING - Signalton
WAWAWAWAA - Posaunenklang
JUMP_UP - for games, up movement
JUMP_DOWN - for games, down movement
POWER_UP - power up
POWER_DOWN -power downt