asigalov61
commited on
Commit
•
2ffbebd
1
Parent(s):
f4019fd
Update app.py
Browse files
app.py
CHANGED
@@ -61,7 +61,10 @@ def generate(
|
|
61 |
|
62 |
#=================================================================================================
|
63 |
|
64 |
-
def
|
|
|
|
|
|
|
65 |
|
66 |
melody_chords_f = generate([3087, 3073+1, 3075+1], 512)
|
67 |
|
@@ -98,24 +101,55 @@ def GenerateMIDI(params):
|
|
98 |
|
99 |
song_f.append(['note', time, dur, channel, pitch, vel ])
|
100 |
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
#=================================================================================================
|
110 |
|
111 |
-
def cancel_run(
|
112 |
-
if
|
113 |
return None, None
|
114 |
-
mid = tokenizer.detokenize(mid_seq)
|
115 |
with open(f"output.mid", 'wb') as f:
|
116 |
-
f.write(
|
117 |
-
audio = synthesis(
|
118 |
-
return "
|
119 |
|
120 |
def load_javascript(dir="javascript"):
|
121 |
scripts_list = glob.glob(f"*.js")
|
@@ -176,6 +210,8 @@ if __name__ == "__main__":
|
|
176 |
run_btn = gr.Button("generate", variant="primary")
|
177 |
stop_btn = gr.Button("stop and output")
|
178 |
|
|
|
|
|
179 |
output_audio = gr.Audio(label="output audio", format="mp3", elem_id="midi_audio")
|
180 |
output_midi = gr.File(label="output midi", file_types=[".mid"])
|
181 |
run_event = run_btn.click(GenerateMIDI, [output_midi_seq, output_midi, output_audio, js_msg])
|
|
|
61 |
|
62 |
#=================================================================================================
|
63 |
|
64 |
+
def create_msg(name, data):
|
65 |
+
return {"name": name, "data": data}
|
66 |
+
|
67 |
+
def GenerateMIDI():
|
68 |
|
69 |
melody_chords_f = generate([3087, 3073+1, 3075+1], 512)
|
70 |
|
|
|
101 |
|
102 |
song_f.append(['note', time, dur, channel, pitch, vel ])
|
103 |
|
104 |
+
|
105 |
+
output_signature = 'Allegro Music Transformer'
|
106 |
+
output_file_name = 'Allegro-Music-Transformer-Music-Composition'
|
107 |
+
track_name='Project Los Angeles'
|
108 |
+
list_of_MIDI_patches=[0, 24, 32, 40, 42, 46, 56, 71, 73, 0, 53, 19, 0, 0, 0, 0]
|
109 |
+
number_of_ticks_per_quarter=500
|
110 |
+
text_encoding='ISO-8859-1'
|
111 |
+
|
112 |
+
output_header = [number_of_ticks_per_quarter,
|
113 |
+
[['track_name', 0, bytes(output_signature, text_encoding)]]]
|
114 |
+
|
115 |
+
patch_list = [['patch_change', 0, 0, list_of_MIDI_patches[0]],
|
116 |
+
['patch_change', 0, 1, list_of_MIDI_patches[1]],
|
117 |
+
['patch_change', 0, 2, list_of_MIDI_patches[2]],
|
118 |
+
['patch_change', 0, 3, list_of_MIDI_patches[3]],
|
119 |
+
['patch_change', 0, 4, list_of_MIDI_patches[4]],
|
120 |
+
['patch_change', 0, 5, list_of_MIDI_patches[5]],
|
121 |
+
['patch_change', 0, 6, list_of_MIDI_patches[6]],
|
122 |
+
['patch_change', 0, 7, list_of_MIDI_patches[7]],
|
123 |
+
['patch_change', 0, 8, list_of_MIDI_patches[8]],
|
124 |
+
['patch_change', 0, 9, list_of_MIDI_patches[9]],
|
125 |
+
['patch_change', 0, 10, list_of_MIDI_patches[10]],
|
126 |
+
['patch_change', 0, 11, list_of_MIDI_patches[11]],
|
127 |
+
['patch_change', 0, 12, list_of_MIDI_patches[12]],
|
128 |
+
['patch_change', 0, 13, list_of_MIDI_patches[13]],
|
129 |
+
['patch_change', 0, 14, list_of_MIDI_patches[14]],
|
130 |
+
['patch_change', 0, 15, list_of_MIDI_patches[15]],
|
131 |
+
['track_name', 0, bytes(track_name, text_encoding)]]
|
132 |
+
|
133 |
+
output = output_header + [patch_list + song_f]
|
134 |
+
|
135 |
+
midi_data = TMIDIX.score2midi(output, text_encoding)
|
136 |
+
|
137 |
+
with open(f"Allegro-Music-Transformer-Music-Composition", 'wb') as f:
|
138 |
+
f.write(midi_data)
|
139 |
+
|
140 |
+
audio = synthesis(TMIDIX.score2opus(output), 'SGM-v2.01-YamahaGrand-Guit-Bass-v2.7.sf2')
|
141 |
+
|
142 |
+
yield output, "Allegro-Music-Transformer-Music-Composition.mid", (44100, audio), [create_msg("visualizer_end", None)]
|
143 |
|
144 |
#=================================================================================================
|
145 |
|
146 |
+
def cancel_run(output):
|
147 |
+
if output is None:
|
148 |
return None, None
|
|
|
149 |
with open(f"output.mid", 'wb') as f:
|
150 |
+
f.write(TMIDIX.score2midi(output))
|
151 |
+
audio = synthesis(TMIDIX.score2opus(output), 'SGM-v2.01-YamahaGrand-Guit-Bass-v2.7.sf2')
|
152 |
+
return "Allegro-Music-Transformer-Music-Composition.mid", (44100, audio), [create_msg("visualizer_end", None)]
|
153 |
|
154 |
def load_javascript(dir="javascript"):
|
155 |
scripts_list = glob.glob(f"*.js")
|
|
|
210 |
run_btn = gr.Button("generate", variant="primary")
|
211 |
stop_btn = gr.Button("stop and output")
|
212 |
|
213 |
+
output_midi_seq = gr.Variable()
|
214 |
+
output_midi_visualizer = gr.HTML(elem_id="midi_visualizer_container")
|
215 |
output_audio = gr.Audio(label="output audio", format="mp3", elem_id="midi_audio")
|
216 |
output_midi = gr.File(label="output midi", file_types=[".mid"])
|
217 |
run_event = run_btn.click(GenerateMIDI, [output_midi_seq, output_midi, output_audio, js_msg])
|