#made by DIEGO ;-)
#Jouer de la musique avec un buzzer
#Chaque note (pure ou altérée) est listée au début du programme
#Chaque note d'une musique est rangée dans une liste, et son rythme dans une autre
#----Import de Bibliothèques----------------------------------------------
from machine import Pin, PWM
from time import sleep
#----Sortie BUZZER----------------------------------------------
buzzer = PWM(Pin(27))
buzzer.duty_u16(2000) #Je ne sais pas pourquoi 2000, 1000 ou 3000 fonctionne aussi
#----Liste des variables----------------------------------------------
# fréquence de chaque note à tous les octaves :
B0=31
C1=33
CS1=35
D1=37
DS1=39
E1=41
F1=44
FS1=46
G1=49
GS1=52
A1=55
AS1=58
B1=62
C2=65
CS2=69
D2=73
DS2=78
E2=82
F2=87
FS2=93
G2=98
GS2=104
A2=110
AS2=117
B2=123
C3=131
CS3=139
D3=147
DS3=156
E3=165
F3=175
FS3=185
G3=196
GS3=208
A3=220
AS3=233
B3=247
C4=262
CS4=277
D4=294
DS4=311
E4=330
F4=349
FS4=370
G4=392
GS4=415
A4=440
AS4=466
B4=494
C5=523
CS5=554
D5=587
DS5=622
E5=659
F5=698
FS5=740
G5=784
GS5=831
A5=880
AS5=932
B5=988
C6=1047
CS6=1109
D6=1175
DS6=1245
E6=1319
F6=1397
FS6=1480
G6=1568
GS6=1661
A6=1760
AS6=1865
B6=1976
C7=2093
CS7=2217
D7=2349
DS7=2489
E7=2637
F7=2794
FS7=2960
G7=3136
GS7=3322
A7=3520
AS7=3729
B7=3951
C8=4186
CS8=4435
D8=4699
DS8=4978
fais_dodo_song = [
B4, A4, G4, G4, A4, G4,
A4, B4, G4, B4, A4,
G4, G4, A4, B4, A4,
G4
]
fais_dodo_beat = [ #Dans ce cas :
8, 4, 8, 4, 4, 4, #1 ronde = 16 ; 1 blanche = 8 ; 1 noire = 4 ; 1 croche = 2 ; 1 double-croche = 1
4, 8, 4, 8, 4,
8, 4, 4, 4, 4,
12
]
#Dans ce cas, la musique est jazz swing, il faut 1 noire = 3 temps
minor_swing_song = [A3, A1, C4, C1, E4, E1, D4, D1, F4, A4, A1, A4, E1]
minor_swing_beat = [2, 1, 2, 1, 5, 1, 2, 1, 2, 3, 1, 2, 1]
bpm_music = 200 #voici un nombre de battement par minute proposé en "général" si besoin
coef_standard = 15 #ceci permet d'avoir une musique qui respecte le tempo en bpm choisi
coef_swing = 22 #ceci permet d'avoir une musique qui respecte le tempo en bpm choisi
#----CREATION de fonctions----------------------------------------------
def fais_dodo(): #idéale à bpm_music = 200
bpm_music = 200
for i in range(len(fais_dodo_song)):
buzzer.freq(fais_dodo_song[i])
sleep(fais_dodo_beat[i]*(coef_standard/bpm_music))
#calcul pour adapter le beat au tempo (bpm) proposé
def minor_swing(): #idéale à bpm_music = 200
bpm_music = 200
for i in range(len(minor_swing_song)):
buzzer.freq(minor_swing_song[i])
sleep(minor_swing_beat[i]*(coef_swing/bpm_music))
#calcul pour adapter le beat au tempo (bpm) proposé
#----Début du programme----------------------------------------------
while True:
#fais_dodo()
#
minor_swing()