#https://github.com/Rainbow-Dreamer/musicpy/wiki/musicpy-composition-code-examples-part-1 #https://github.com/Rainbow-Dreamer/musicpy/wiki/musicpy-composition-code-examples-part-2 #https://musicpy.readthedocs.io/en/latest/Useful%20functionality/ import musicpy from musicpy import * print("Entrez un nombre entre 0 et 21 :") i=input() i=int(i) if i==0 : c = get_chord('D', 'm7', intervals=1)*2 + get_chord('E', 'maj9', intervals=0).reverse() 'K[l:1/4;i:n;v:80]' play(c, 100) elif i==1 : a = C('Cm7',4,1,1/8) @ [1,3,4,2.1,4.1] | 3/8 piano = a * 4 | (a - 3) * 4 bass = (chord('C2, C2, G2, C2, A#2, C2, C3, C2') * 4) % (1/8, 1/8) bass += (bass - 3) play(P([piano, bass], [1, 34], 165, [0, 0]) * 2) elif i==2 : a = C('Cm9',4,1,1/8) @ [1,3,5,2.1,4.1] | 3/8 piano = a * 4 | (a + 3) * 4 bass = (chord('C2, C2, G2, C2, A#2, C2, C3, C2') * 4) % (1/8, 1/8) bass += (bass + 3) import random drum = concat([chord(random.choice(['D2','E2','G2'])) for i in range(64)]) % (1/8, 1/8) play(P([piano, bass, drum], [1, 34, 1], 500, [0, 0, 0], channels=[1,2,9]) * 2) elif i==3 : a = C('Cm9',2,1/4,1/8) @ [1,3,5,2.1,4.1] | 3/8 piano = a * 4 | (a + 3) * 4 bass = (chord('C2, C2, G2, C2, A#2, C2, C3, C2') * 4) % (1/8, 1/8) bass += (bass + 3) import random drum = concat([chord(random.choice(['D2','E2','G2'])) for i in range(64)]) % (1/8, 1/8) play(P([piano, bass, drum], [31, 34, 1], 25, [0, 0, 0], channels=[1,2,9]) * 8) elif i==4 : a = C('Caug9') @ [1,3,5,2.1,4.1,5.1] % (1, 1/8) | 1/4 bass = chord('C2, A#1') % (1, 1) * 4 piano = (a | a - 2) * 4 string = C('Caug9', 4) % (1, 0) string |= string - 2 string.set_volume(60) play(P([piano, bass, string * 4], [9, 34, 49], 80, [0, 0, 0])) elif i==5 : guitar = C('CM7',4, 1)^2 | C('G7sus', 3, 1)^2 | C('A7sus', 3, 1)^2 | C('FM7', 3, 1)^2 play((guitar%(1/4, 1/8) * 2)-database.octave, 100, instrument=25) elif i==6 : guitar = (C('CM7',4, 1/4, 1/8)^2 | C('G7sus', 3, 1/4, 1/8)^2 | C('A7sus', 3, 1/4, 1/8)^2 | C('Em7', 3, 1/4, 1/8)^2 | C('FM7', 3, 1/4, 1/8)^2 | C('CM7', 4, 1/4, 1/8)@1 | C('AbM7', 3, 1/4, 1/8)^2 | C('G7sus', 3, 1/4, 1/8)^2) play((guitar * 2)-database.octave, 100, instrument=25) elif i==7 : rule = lambda x: x @ [1, 3, 4, 2.1, 3.1, 4, 1.1, 3.1] % (1/4, 1/8) rule2 = lambda x: x @ [1, 3, 4, 2.1, 3.1, 4, 2.1, 3.1] % (1/4, 1/8) a = (rule(C('Cmaj7',4)) | rule(C('Fmaj7',3)) | rule2(C('G7, b9, omit 5',3)) | rule(C('Bdim7',3)) | rule(C('Am7', 3)) | rule2(C('D7', 3) ^ 2) | rule2(C('FmM7', 3) ^ 2) | rule2(C('G7,#5', 3))) play(a * 2, 150, instrument=5) elif i==8 : a = (C('Cmaj7') | C('D7') | C('Fmaj7',3) | C('Cmaj7/-3')) % (1, 1/4) * 4 b_duration = [3/4, 1/8, 1/8, 3/4, 1/8, 1/8, 1/4, 1/4, 1/2, 1/2, 1/2] b_interval = b_duration b = (chord('G5, F5, E5, F5, E5, D5, E5, D5, C5, B4, G4') % (b_duration, b_interval)) * 2 song = build([a, 5, 0], [b, 49, 4], bpm=165) play(song) elif i==9 : a = (C('Cmaj7') | C('D7') | C('Fmaj7',3) | C('Cmaj7/-3')) % (1, 1/4) * 4 b_duration = [3/4, 1/8, 1/8, 3/4, 1/8, 1/8, 1/4, 1/4, 1/2, 1/2, 1/2] b_interval = b_duration b = (chord('G5, F5, E5, F5, E5, D5, E5, D5, C5, B4, G4') % (b_duration, b_interval)) cmajor = scale('C5', 'major') b_harmony = (chord([cmajor(cmajor.names(). index(i.name))[1]-database.octave for i in b]) % (b_duration, b_interval)) b_harmony.set_volume(80) b &= b_harmony b *= 2 song = build([a, 5, 0], [b, 49, 4], bpm=165) play(song) elif i==10 : a = (C('Cmaj7') | C('D7') | C('Fmaj7',3) | C('Cmaj7/-3')) % (1, 1/4) * 4 b = chord('G5[3/4;3/4], F5[.8;.8], E5[.8;.8], F5[3/4;3/4], E5[.8;.8], D5[.8;.8], E5[.4;.4], D5[.4;.4], C5[.2;.2], B4[.2;.2], G4[.2;.2]') * 2 song = build([a, 5, 0], [b, 49, 4], bpm=165) play(song) elif i==11 : a = C('CM9') @ [1,3,5,2.1,4.1,5.1] % (1, 1/8) | 1/4 bass = chord('C2, A#1') % (1, 1) * 4 piano = (a | a - 2) * 4 string = C('CM9', 4) % (1, 0) string |= string - 2 string.set_volume(50) play(P([piano, bass, string * 4], [9, 34, 49], 80, [0, 0, 0])) elif i==12 : play((get_chord_by_interval('D#4', [5,7,10,7,5], 1/2, 1/8)*3 + get_chord_by_interval('F4', [1,0,-4], 1/2, 1/8)) * 3, 150) elif i==13 : a = C('Am7') % (1/8, 0) play(a * 4 | (a + 2) * 4 | get_chord(a[0] + 3, 'maj7').set(interval=1/8), bpm=80) elif i==14 : a = C('Dmaj7') % (1/4,1/4) | C('Cmaj7') | C('Fadd9',3) | C('D#maj7',4) | (C('Dmaj7',3)/-2) % (5/4,) b = chord('F#5, G5, A5, B5, G5', 1/8, 1/8) play(a & b, 140, instrument=1) elif i==15 : a = C('Amaj7') @ 2 * 4 | C('G#m7') @ 2 * 4 | C('Gmaj7') @ 2 * 4 | C('F#m7') @ 2 * 4 play(a | a % (1/4, 1/4), 165, instrument=9) elif i==16 : a = (C('Bmaj9',3)/[2,3,4,1,5]) % (1/8,1/8) b = (C('Bmaj9',3)/[2,3,4,1,5,2]) % (1/8, 1/8) q = a + ~a[1:-1] q2 = b + ~b[3:-1] t = (q + q2) * 2 adding = chord(['Bb5','Ab5','Gb5','Ab5']) % (1/2,1/2) * 2 t2 = t & adding play(t2 + (t2 - 3), 100, instrument=47) elif i==17 : q = scale('C4', 'major') r = q%(6451, 0.5/4, 0.3/4, 5) r = [i.omit(5).inversion_highest(3) for i in r] play(r*2, bpm=80, instrument=47) elif i==18 : q = scale('C4', 'major') r = q%(6451, 0.5/4, 0.3/4, 5) r = [i.omit(7).inversion_highest(2) for i in r] play(r*2, bpm=80, instrument=47) elif i==19 : a = C('Baug9', 4) @ [2, 3, 4, 1.1, 5, 1.1, 4, 3] % (1/8,1/8) b = C('BmM9', 4) @ [2, 3, 4, 1.1, 5, 2.1, 5, 1.1] % (1/8,1/8) part1 = (a + b)*2 part2 = (C('Baug9',4, 1, 0) | C('BmM9',4, 1, 0)) * 2 part2.set_volume(80) play(P([part1, part2], [26,49], 100, [0,0])) elif i==20 : a = chord('C2, G1, C2, Ab1, Bb1, G1', [15/8,1/8,2,2,1.5,3/4], [15/8,1/8,2,2,1.5,3/4]) b = C('Cm', 5, 1/8) | 1/4 | C('Bb', 4, 1/8) | 1/4 | C('Ab', 4, 1/8) | 1/4 | C('Bb', 4, 1/2) | 3/8 b2 = C('Cm', 5, 1/8) | 1/4 | C('Bb', 4, 1/8) | 1/4 | C('Abmaj7', 4, 1/8) | 1/4 | C('Gsus', 4, 3/4) | 1/8 c = (b * 3) | b2 a2 = chord('C2',1/8,1/8)*32 + chord('Ab1',1/8,1/8)*16 + chord('Bb1',1/8,1/8)*12 + chord('G1',1/8,1/8)*4 play(piece([a, c, a2 * 2, c * 2], [1, 81, 34, 81], 130, [0, 1/4, 8, 33/4])) elif i==21 : a = get_chord('B4','maj9').sort([2,3,4,1,5]) b = get_chord('B4','maj9').sort([2,3,4,1,5,2]) q = a + a[1:-1].reverse_chord() q2 = b + b[3:-1].reverse_chord() play((q.set(1/8,1/8) + q2.set(1/8,1/8))*2, 100, instrument=50)