roszcz commited on
Commit
864cec6
·
1 Parent(s): 45ea463

display code

Browse files
Files changed (1) hide show
  1. app.py +60 -4
app.py CHANGED
@@ -5,13 +5,45 @@ from fortepyan import MidiPiece
5
  piece = MidiPiece.from_file("haydn.mid")
6
 
7
  st.write("## Display a PianoRoll player")
 
 
 
 
 
 
 
 
 
8
  streamlit_pianoroll.from_fortepyan(piece)
9
 
10
  st.write("## Conditional coloring")
11
- st.write("Absolute pitch value condition")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  df = piece.df.copy()
13
 
14
- ids = df.pitch > 60
 
 
 
 
 
 
15
 
16
  part_a = df[ids]
17
  part_b = df[~ids]
@@ -23,11 +55,35 @@ streamlit_pianoroll.from_fortepyan(
23
  secondary_piece=piece_b,
24
  )
25
 
26
- st.write("Note duration condition")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
  df = piece.df.copy()
29
 
30
- ids = df.duration > 0.23
 
 
 
 
 
 
 
31
 
32
  part_a = df[ids]
33
  part_b = df[~ids]
 
5
  piece = MidiPiece.from_file("haydn.mid")
6
 
7
  st.write("## Display a PianoRoll player")
8
+
9
+ code = """
10
+ import streamlit_pianoroll
11
+ from fortepyan import MidiPiece
12
+
13
+ piece = MidiPiece.from_file("haydn.mid")
14
+ streamlit_pianoroll.from_fortepyan(piece)
15
+ """
16
+ st.code(code, language="python")
17
  streamlit_pianoroll.from_fortepyan(piece)
18
 
19
  st.write("## Conditional coloring")
20
+ st.write("#### Absolute pitch value condition")
21
+
22
+ code = """
23
+ df = piece.df
24
+ ids = df.pitch > pitch_threshold
25
+
26
+ part_a = df[ids]
27
+ part_b = df[~ids]
28
+ piece_a = MidiPiece(df=part_a)
29
+ piece_b = MidiPiece(df=part_b)
30
+
31
+ streamlit_pianoroll.from_fortepyan(
32
+ piece=piece_a,
33
+ secondary_piece=piece_b,
34
+ )
35
+ """
36
+ st.code(code, language="python")
37
+
38
  df = piece.df.copy()
39
 
40
+ pitch_threshold = st.number_input(
41
+ label="pitch_threshold",
42
+ min_value=df.pitch.min(),
43
+ max_value=df.pitch.max(),
44
+ value=60,
45
+ )
46
+ ids = df.pitch > pitch_threshold
47
 
48
  part_a = df[ids]
49
  part_b = df[~ids]
 
55
  secondary_piece=piece_b,
56
  )
57
 
58
+ st.write("#### Note duration condition")
59
+
60
+ code = """
61
+ df = piece.df
62
+
63
+ ids = df.duration > duration_threshold
64
+
65
+ part_a = df[ids]
66
+ part_b = df[~ids]
67
+ piece_a = MidiPiece(df=part_a)
68
+ piece_b = MidiPiece(df=part_b)
69
+
70
+ streamlit_pianoroll.from_fortepyan(
71
+ piece=piece_a,
72
+ secondary_piece=piece_b,
73
+ )
74
+ """
75
+ st.code(code, language="python")
76
 
77
  df = piece.df.copy()
78
 
79
+ duration_threshold = st.number_input(
80
+ label="duration threshold",
81
+ min_value=0.05,
82
+ max_value=5.,
83
+ value=0.25,
84
+ )
85
+
86
+ ids = df.duration > duration_threshold
87
 
88
  part_a = df[ids]
89
  part_b = df[~ids]