awacke1 commited on
Commit
dfd0713
·
1 Parent(s): 78284a8

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -0
app.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import mido
3
+ from mido import Message, MidiFile, MidiTrack
4
+
5
+ st.title("7 Chords MIDI Player")
6
+
7
+ # Define the chords
8
+ C = [60, 64, 67]
9
+ D = [62, 65, 69]
10
+ E = [64, 68, 71]
11
+ F = [65, 69, 72]
12
+ G = [67, 71, 74]
13
+ A = [69, 73, 76]
14
+ B = [71, 75, 78]
15
+
16
+ # Create a MIDI file and track
17
+ mid = MidiFile()
18
+ track = MidiTrack()
19
+ mid.tracks.append(track)
20
+
21
+ # Function to play a chord
22
+ def play_chord(chord, velocity=64, duration=1):
23
+ for note in chord:
24
+ track.append(Message('note_on', note=note, velocity=velocity, time=0))
25
+ track.append(Message('note_off', note=note, velocity=0, time=duration))
26
+
27
+ # Main function that plays the 7 chords
28
+ def main():
29
+ st.header("Select a chord to play")
30
+ chord = st.selectbox("", ["C", "D", "E", "F", "G", "A", "B"])
31
+ if chord == "C":
32
+ play_chord(C)
33
+ elif chord == "D":
34
+ play_chord(D)
35
+ elif chord == "E":
36
+ play_chord(E)
37
+ elif chord == "F":
38
+ play_chord(F)
39
+ elif chord == "G":
40
+ play_chord(G)
41
+ elif chord == "A":
42
+ play_chord(A)
43
+ elif chord == "B":
44
+ play_chord(B)
45
+ mid.save("chord.mid")
46
+ st.header("Now playing...")
47
+
48
+ if __name__ == '__main__':
49
+ main()