11from machine import Pin , PWM , Timer
22import time
3- from notes import *
3+ from MusicPlayer import *
44
5- bpm = 110
5+ bpm = 140
66
7- ms_pb = ( 1000 * 60 )// bpm
8- step = ms_pb // 16
7+ ms_pb = int (( 1000 * 60 )// bpm )
8+ note_time = int ( ms_pb // 4 )
99
1010
11- twinkle_notes = [G , G , P , D , D , P , E , E , DL , PL ,
12- C , C , P , B , B , P , A , A , GL , PL ,
13- D , D , P , C , C , P , B , B , AL , PL ,
14- G , G , P , D , D , P , E , E , DL , PL ,
15- C , C , P , B , B , P , A , A , GL ]
16- twinkle = parse_notes (twinkle_notes , step )
1711
18- print ("Done" )
19- timer0 = Timer (0 )
12+ voice_groups = load_voice_groups_from_file ("nothing_else_matters.lines" )
13+ line_length = len (voice_groups [0 ][0 ])
14+ line_time = note_time * line_length
2015
16+ print ("Number of voice groups:" , len (voice_groups ))
17+ print ("Time per group:" , line_time , "ms" )
18+ for voice_group in voice_groups :
19+ print ("Number of voices in group:" , len (voice_group ))
2120
21+ pins = [Pin (11 , Pin .OUT ), Pin (12 , Pin .OUT ), Pin (13 , Pin .OUT ), Pin (14 , Pin .OUT )]
2222
23- play_sequence (twinkle , timer0 , Pin (13 , Pin .OUT ))
23+ player = MusicPlayer (voice_groups , note_time , pins )
24+ player .start ()
2425
25- mario_notes = ["E_44" , "E_44" , "E_44" , "C_44" , "E_44" , "G_44" , "G_44" , "C_44" ,
26- "G_44" , "E_44" , "A_44" , "B_44" , "AS44" , "A_44" , "G_44" , "E_44" ,
27- "G_44" , "A_44" , "F_44" , "G_44" , "E_44" , "C_44" , "D_44" , "B_44" ,
28- "C_44" , "G_44" , "E_44" , "A_44" , "B_44" , "AS44" , "A_44" , "G_44" ,
29- "E_44" , "G_44" , "A_44" , "F_44" , "G_44" , "E_44" , "C_44" , "D_44" ,
30- "B_44" , "G_44" , "FS44" , "F_44" , "DS44" , "E_44" , "GS44" , "A_44" ,
31- "C_44" , "A_44" , "C_44" , "D_44" , "G_44" , "FS44" , "F_44" , "DS44" ,
32- "E_44" ,
33- #"G_44"+"A_44"+"C_44", "G_44"+"A_44"+"C_44", "G_44"+"A_44"+"C_44",
34- "G_44" , "FS44" , "F_44" , "DS44" , "E_44" , "GS44" , "A_44" , "C_44" ,
35- "A_44" , "C_44" , "D_44" , "DS44" , "D_44" , "C_44" , "C_44" , "G_44" ,
36- "E_44" , "A_44" , "B_44" , "A_44" , "GS44" , "AS44" , "GS44" , "G_44" , "F_44" , "G_44" ]
3726
38- mario_notes2 = [E , E , P , E , P , C , E , P , G , PL , PL , G , PL , PL , C , PL ,
39- G , PL , E , PL , A , P , B , P , AS , A , P , G , E ,
40- G , A , P , F , G , P , E , P , C , D , B , PL ,
41- C , PL , G , PL , E , PL , A , P , B , P , AS , A , P , G ,
42- E , G , A , P , F , G , P , E , P , C , D ,
43- B , PL , PL , G , FS , F , DS , P , E , P , GS , A ,
44- C , P , A , C , D , PL , G , FS , F , DS , P ,
45- E , P , G , P , G , G , PL , PL , PL , G , FS , F , DS , P , E , P , GS , A , #G P G G should replace G's with GAC.
46- C , P , A , C , D , PL , DS , PL , D , PL , C , PL , PL , PL , PL , C ,
47- G , PL , E , P , A , B , A , GS , AS , GS ,
48- "G_32" , "F_42" , GL ]
49-
50- mario_notes3 = [D , D , P , D , P , D , D , P , G , G , G , E , C , F , G , FS , F , E , C ,
51- E , F , D , E , C , E , F , D , G ,
52- E , C , F , G , FS , F , E , C ,
53- E , F , D , E , C , E , F , D , C ,
54- G , C , F , C , F , C , G , C ,
55- G , C , G , C , G , C , F , C ,
56- F , C , G , GS , AS , C , G , G ,
57- C , G , E , C , F , CS , F , C ,
58- E ]
59-
60- mario1 = parse_notes (mario_notes2 , step )
61- mario2 = parse_notes (mario_notes3 , step )
62- # play_sequence(mario1, timer0, Pin(13, Pin.OUT))
63- # play_sequence(mario2, timer0, Pin(12, Pin.OUT))
64-
65-
66- while True :
27+ while player .playing :
6728 pass
6829
69-
30+ print ( "Done playing song" )
0 commit comments